Права суперпользователя linux
Содержание:
- Запуск графических программ с правами администратора
- Изменение корневого раздела
- consolehelper
- Восстановление root пароля в Ubuntu
- Полезное
- Как залогиниться по root
- Использование команды: su
- Повышение пользовательских прав командой sudo
- Re: Не могу зайти как пользователь, а только через ROOT
- Основные параметры
- Ограничение доступа для root
- Заключение
Запуск графических программ с правами администратора
Для запуска графических программ с правами администратора можно воспользоваться диалогом запуска программ, вызываемым по умолчанию сочетанием клавиш Alt+F2.
Допустим, нам необходимо запустить файловый менеджер Nautilus с правами администратора, чтобы через графический интерфейс как-то изменить содержимое системных папок. Для этого необходимо ввести в диалог запуска приложений команду
gksudo nautilus
Вместо можно подставить , кроме того, пользователи KDE должны вместо писать . У вас попросят ввести свой пароль, и, если вы обладаете нужными правами, Nautilus запуститься от имени администратора. Запуск любого графического ПО можно производить с правами администратора, просто написав в диалоге запуска
gksudo <имя_команды>
Будьте предельно внимательны при работе в приложениях, запущенных с правами администратора. Вы безо всяких предупреждений со стороны системы сможете выполнить любую операцию, в частности, удалить системные файлы, сделав при этом систему неработоспособной.
Изменение корневого раздела
Используя arch-chroot
Bash-скрипт arch-chroot является частью пакета из официальных репозиториев. Перед тем, как запускать , этот скрипт монтирует интерфейсные файловые системы вроде и делает доступным из под окружения chroot.
Запустите arch-chroot с указанием нового корневого каталога:
# arch-chroot /mnt/arch
Чтобы запустить командную оболочку bash вместо sh:
# arch-chroot /mnt/arch /bin/bash
Чтобы запустить в окружении chroot минуя создание сеанса в командной оболочке:
# arch-chroot /mnt/arch /usr/bin/mkinitcpio -p linux
Используя chroot
# cd /mnt/arch # mount -t proc proc proc/ # mount --rbind /sys sys/ # mount --rbind /dev dev/
И, опционально:
# mount --rbind /run run/
Чтобы использовать интернет-соединение в chroot может понадобиться скопировать resolv.conf:
# cp /etc/resolv.conf etc/resolv.conf
Чтобы запустить bash в окружении chroot:
# chroot /mnt/arch /bin/bash
Примечание: Если вы получили ошибки:
- , это значит, что архитектуры основной среды и среды нового корневого каталога не совпадают.
- , перемонтируйте раздел с разрешением exec: .
После входа в сеанс chroot может понадобиться проинициализировать среду командной оболочки в новой среде:
# source /etc/profile # source ~/.bashrc
Совет: Вы также можете установить другое приглашение командной оболочки для того, чтобы отличать среду chroot от основной:
# export PS1="(chroot) $PS1"
Используя systemd-nspawn
systemd-nspawn может использоваться для запуска команды или операционной системы в легковесном контейнере. Во многих случаях он похож на chroot, но является более мощным инструментом, так как он полностью эмулирует отдельную иерархию файловой системы и дерево процессов, различные системы межпроцессного взаимодействия, имя хоста и домена.
Перейдите в точку монтирования нового корневого раздела и запустите systemd-nspawn:
# cd /mnt/arch # systemd-nspawn
Нет необходимости самостоятельно монтировать интерфейсные файловые системы вроде ,
так как systemd-nspawn запускает новый процесс init в созданной виртуальной среде, который берет на себя эту задачу. Это похоже на загрузку второй операционной системы внутри основной, но без создания виртуальной машины.
Чтобы вернуться в основную систему, просто разлогиньтесь или запустите команду poweroff. После этого вы можете размонтировать разделы, как показано в .
consolehelper
Consolehelper представляет собой оболочку для запуска GUI приложений. Когда он начинает работать, он проверяет конфигурацию PAM для требуемого применения. Это означает, что мы можем проводить аутентификацию пользователя с помощью всех установленных модулей PAM. Основной метод состоит в том, чтобы запросить пароль, но если мы имеем надлежащее оборудование. мы можем аутентифицировать с помощью смарткарты, жетонов, отпечатков пальцев и т.д. Конфигурация PAM выходит за рамки этого документа (см. PAM Руководство администратора), поэтому мы рассмотрим этап настройки consolehelper, необходимый для запуска приложений под root-ом и запросом пароля root.
В качестве примера, давайте настроим /usr/bin/xterm для запуска в качестве root-ого.
Во-первых, мы хотим сохранить возможность запускать Xterm под обычным пользователем. Поэтому создадим символическую ссылку /usr/bin/xterm-root для /usr/sbin/consolehelper:
ln -s /usr/sbin/consolehelper /usr/bin/xterm-root
Теперь для конфигурирования PAM — создайте файл /etc/pam.d/xterm-root:
#%PAM-1.0 auth include config-util account include config-util session include config-util
Наконец, настройте consolehelper на запуск /usr/bin/xterm под root-ом, командой ‘xterm-root’. Создайте файл /etc/security/console.apps/xterm-root:
USER=root PROGRAM=/usr/bin/xterm
Вот и все. Запускайте ‘xterm-root’ (из командной строки или ярлыком .desktop file), введите пароль и в путь. Если вы получили сообщение об ошибке: «Xlib: connecttion to «:0.0″ refused by server», запустите сначала ‘xhost local:root’.
Восстановление root пароля в Ubuntu
Быстрое восстановление доступа
Забыли рутовый пароль для входа в Ubuntu Linux? Не беда. Сейчас расскажем, как быстро восстановить доступ.
Упомянутый здесь метод работает для сброса пароля Ubuntu в VMware, двойной загрузки или одиночной установки. Все, что вам нужно, это немного терпения и выполнить пару команд. Вы сбросите пароль root в течение пары минут.
Если нужна другая сборка, то мы также рассказывали про восстановление пароля в CentOS и Debian
Сброс пароля Ubuntu из режима восстановления (recovery mode)
Шаг 1. Загрузитесь в режиме восстановления
Включите компьютер. Зайдите в меню Grub. Как правило, оно появляется автоматически, а если нет, то удерживайте клавишу Shift, пока не появится меню загрузки.
Если вы используете Oracle VirtualBox или VMWare, вы должны удерживать клавишу Shift при появлении логотипа Oracle или VMWare.
В меню grub выберите «Дополнительные параметры для Ubuntu» (Advanced Options for Ubuntu) :
Здесь вы увидите возможность перейти в режим восстановления (recovery mode) :
Выбрав его, вы сначала увидите темный экран и после непродолжительной загрузки окажитесь в меню восстановления.
Шаг 2. Переходим в командный интерпретатор суперпользователя
Теперь вам будут представлены различные варианты режима восстановления. Здесь вам нужно выбрать «Root Drop to root shell prompt» («Перейти в командный интерпретатор суперпользователя» по-русски) . Просто нажмите клавишу Enter, чтобы выбрать эту опцию.
После этого у вас внизу появится командная строка.
Шаг 3: Перемонтировать рут с правами записи
У вас должен быть доступ на запись к корневому разделу. По умолчанию он имеет доступ только для чтения. Используйте команду ниже, чтобы перемонтировать ее с правами записи:
Шаг 4: Сбросьте имя пользователя или пароль
Здесь вам будет представлен root-доступ. Используйте следующую команду, чтобы получить список всех доступных пользователей:
Из предыдущей команды выберите пользователя (username), для которого вы хотите сбросить пароль. Теперь используйте следующую команду для сброса пароля для выбранного пользователя (вместо username указываем имя нашего пользователя):
У нас запросят новый пароль и подтверждение. Введите новый пароль дважды:
Готово! Вы только что успешно сбросили пароль. Теперь выйдите из командной строки root:
Когда вы выйдете, вы вернетесь в меню режима восстановления. Выберите нормальный вариант загрузки — Resume.
Может появится предупреждение о совместимости графического режима, но не волнуйтесь. Полная перезагрузка решит проблему, если таковая имеется.
После перезагрузки вы сможете войти с новым паролем.
Альтернативный метод сброса пароля Ubuntu
Если по каким-либо причинам у вас возникли трудности с переходом в корневую оболочку и сменой пароля, вы можете попробовать выполнить следующие действия:
Перезагрузите компьютер. Удерживайте Shift, чтобы открыть экран grub (если он не работает автоматически). Нажмите E в приглашении grub для редактирования экрана grub.
Найдите строку, начинающуюся с linux , измените ro на rw и добавьте init=/bin/bash в конце этой строки.
Нажмите Ctrl-X , чтобы сохранить изменения и загрузиться. Теперь вы загружаетесь в ядро Linux с правами на чтение и запись, и вместо графического интерфейса пользователя вы будете использовать оболочку bash. Другими словами, ваша система будет загружаться в корневой пароль без пароля.
Введите команду passwd с вашим именем пользователя. Если вы не знаете имя пользователя, проверьте с помощью команды ls/home (как в первом методе).
Теперь установите новый пароль. После того, как вы установили новый пароль, выйдите из терминала. Просто введите reboot в терминал или используйте команду выключения.
Готово! Пароль изменен.
Возможные проблемы и их решение
Ошибка “Authentication token manipulation error”
При вводе нового пароля у вас может появиться сообщение об ошибке манипулирования токеном (Authentication token manipulation error):
Причиной этой ошибки является то, что файловая система монтируется только с доступом для чтения. Измените доступ и перемонтируйте файловую систему следующим образом:
Нет пункта “recovery mode”
Если нет пункта recovery mode, то вам нужно выбрать строчку с вашей системой, нажать E и допишите в конец опций ядра слово single . Затем нужно нажать B чтобы загрузился тот же терминал с правами суперпользователя.
Вы можете увидеть такой вывод:
Убедитесь, что вы удалили опцию splash boot при редактировании пункта меню grub.
Ошибка “Failed to connect to bus”
При попытке перезагрузиться с помощью команды reboot вы можете получить:
Чтобы избавиться от этой ошибки перезагрузитесь так:
Полезное
Увидеть список привилегий можно, запустив sudo –l (будет отображен список для текущего пользователя), либо sudo –l –U user (будет отображен список привилегий пользователя user):
Скриншот №4. Список привилегий пользователя
В состав sudo входит команда sudoedit, которая запускает текстовый редактор с указанным файлом сразу с повышенными привилегиями, то есть вместо команды:
можно запустить:
Если требуется длительная работа в режиме повышенных привилегий и вводить sudo для каждой команды неудобно, можно запустить через sudo экземпляр командного интерпретатора:
и продолжить работу в нем — все команды будут запускаться с повышенными правами. По завершении работы выходим из интерпретатора командой exit.
191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А
+7 (812) 403-06-99
700
300
ООО «ИТГЛОБАЛКОМ ЛАБС»
700
300
Как залогиниться по root
В некоторых linux-системах по-умолчанию можно войти под root, для этого:
- чтобы войти под root ез смены среды окружения:su
- чтобы войти под root со сменой смены среды окружения (добавьте тире):
Key Words for FKN + antitotal forum (CS VSU):
- Log in to post comments
- 144172 reads
Fri, 08/04/2017 – 14:01
Для применения настроек групп
Для применения настроек групп (например если вы добавили текущего пользователя в группу) для отдельно взятого терминала можно просто ещё раз войти под ним: http://fkn.ktu10.com/?q=node/5715 — не обязательно разлогниваться в системе. Но это же придётся делать и в других ранее открытых терминалах и вкладках терминалов.
_____________ матфак вгу и остальная классика =)
Использование команды: su
Многие команды могут быть запущены только суперпользователем, поэтому мы должны знать, как становится им (root-ом). Чтобы сделать это, мы можем использовать команду: su (смена пользователя). Команда su принимает следующие форматы:
su -
или
su
но чаще всего мы будем использовать su для того, чтобы стать пользователем root:
su - root
или
su root
если имя пользователя в строке не указано, то автоматически предпологается пользователь root, поэтому команду можно сократить:
su -
или
su
но обе команды ведут себя различно. ‘su ‘ дает текущему пользователю личность , тогда, как ‘su — ‘ дает текущему пользователю личность вместе с окружением , которое можно было бы получить, зарегистрировавшись в качестве .
Зачастую пользователи используют ‘su’ для перехода в root. Попробовав запустить команду (например — ifconfig), вы получите: ‘command not found’ error.
Пример:
su Password: ifconfig bash: ifconfig: command not found
Причина заключается в том, что обычные пользователи системы и root пользователь имеют различные переменные окружения PATH (вы можете посмотреть PATH пользователя при помощи «echo $PATH). После ввода команды Linux, оболочка будет искать пользовательский PATH, чтобы попытаться найти команду для запуска. Она начинает поиск в каждой директории указанной в PATH, пока цель не будет найдена.
Команды обычных пользователей обычно расположены в /usr/local/bin, /usr/bin и /bin. А команды пользователя root распологаются в основном в /usr/local/sbin, /usr/sbin, /sbin и корневой PATH это отражает. Поэтому, когда вы становитесь суперпользователем при помощи «su -«, то вы также принимаете и новый путь PATH к основным командам. А используя только ‘su’, сохраняется пользовательский путь PATH по умолчанию, следовательно, при попытке выполнить программу расположенную в /usr/local/sbin, /usr/sbin, /sbin выдаст результат: ‘command not found’ error. Для более детального объяснения, смотрите справочную страницу (man bash), особенно раздел login shells.
Таким образом, вы или должны указывать полный путь к команде (пример — /sbin/ifconfig) при использовании ‘su’, либо использовать ‘su -‘, когда становитесь root-ом.
Повышение пользовательских прав командой sudo
Существует более современный способ повышения пользовательских прав с помощью команды sudo (substitute user and do — подменить пользователя и выполнить).
Sudo является программой системного администрирования, дающей возможность выполнять команды от имени root. Если для выполнения команды su все пользователи должны были знать пароль root, что само по себе небезопасно, то sudo его не требует. В sudo нужен пароль самого пользователя.
Sudo работает следующим образом, перед командой которую необходимо выполнить, нужно добавить sudo, например:
От имени root: yum install -y wget При помощи sudo: sudo yum install -y wget
Sudo определяет пользователя сверяясь с настройками находящимися в файле /etc/sudoers, если пользователь внесен в sudoers, то команда выполняется. Если выполнить команду sudo от имени пользователя не внесенного в sudoers, то можно увидеть такую картину:
$ sudo yum install -y wget password for test: test is not in the sudoers file. This incident will be reported.
При попытке выполнить команду sudo, от имени пользователя test, выдается ответ что такого пользователя в файле sudoers не обнаружено. О событии создается запись в лог файле, также высылается электронное письмо root-пользователю с уведомлением о случившемся.
From root@test2.localdomain Sat Feb 11 20:19:12 2017 Return-Path: <root@test2.localdomain> X-Original-To: root Delivered-To: root@test2.localdomain Received: by test2.localdomain (Postfix, from userid 0) id CD2AF8051BC; Sat, 11 Feb 2017 20:19:12 +0300 (MSK) To: root@test2.localdomain From: test@test2.localdomain Auto-Submitted: auto-generated Subject: *** SECURITY information for test2 *** Message-Id: <20170211171912.CD2AF8051BC@test2.localdomain> Date: Sat, 11 Feb 2017 20:19:12 +0300 (MSK) test2 : Feb 11 20:19:12 : test : user NOT in sudoers ; TTY=pts/0 ; PWD=/home/test ; USER=root ; COMMAND=/bin/yum install wget
Для того чтобы пользователь мог выполнять sudo, его надо внести в файл sudoers. Сделать это можно двумя способами.
Первый способ — внесение имени пользователя непосредственно в сам файл /etc/sudoers. Для изменения файла sudoers, требуется обладать правами root.
nano /etc/sudoers Находим строку: root ALL=(ALL) ALL Добавляем под нее имя пользователя, которому будет разрешен доступ к sudo: root ALL=(ALL) ALL test ALL=(ALL) ALL Сохраняем и выходим.
После того как пользователь будет внесен в список допущенных к использованию, он может выполнять команду sudo.
Вторым способом разрешить пользователям выполнять команду sudo, является внесение пользователя в группу wheel, точно так же как в случае с командой su.
Вносим пользователя в группу wheel: usermod -a -G wheel techlist_1 Проверяем: id techlist_1 uid=1001(techlist_1) gid=1004(techlist_1) группы=1004(techlist_1),10(wheel) Перезагружаем систему: reboot
После перезагрузки системы, пользователь внесенный в группу wheel, сможет выполнять sudo.
Для того чтобы полностью сменить окружение пользователя на окружение root, используется команда sudo -i, что равносильно использованию команды su —
$ sudo -i password for test: #
Возвращение в свое пользовательское окружение, происходит при помощи команды exit.
Каждый раз при использовании sudo, требуется ввод пароля пользователя. При вводе пароля, происходит обновление временной метки, что позволяет выполнять sudo без ввода пароля на протяжении некоторого времени. По умолчанию ввод пароля не требуется на протяжении пяти минут, после чего пароль опять будет затребован. Временной промежуток можно изменить при помощи опции timeout в файле sudoers. Существует возможность отключения ввода пароля.
Отключить ввод пароля для пользователей принадлежащих к группе wheel:
Открываем для внесения изменений: nano /etc/sudoers Находим строку: # %wheel ALL=(ALL) NOPASSWD: ALL Раскомментировать строку: %wheel ALL=(ALL) NOPASSWD: ALL Сохраняем изменения и выходим.
Отключить ввод пароля для пользователей добавленных вручную:
Открываем для внесения изменений: nano /etc/sudoers Находим строку с нужным пользователем: test ALL=(ALL) ALL Изменяем ее: test ALL=(ALL) NOPASSWD: ALL Сохраняем изменения и выходим.
Sudo гибкая в настройке и позволяет настроить множество различных параметров. Грамотный администратор знающий sudo может творить настоящие чудеса с пользователями.
Для просмотра руководства по настройке sudo, выполняется команда:
Посмотреть руководство sudo: man sudoers Выйти из руководства: q Посмотреть список дополнительных опций команды: sudo -h
Re: Не могу зайти как пользователь, а только через ROOT
> экран тухнет очень быстро, а потом опять появляется окно логина
Я не очень представляю, как окошко с логином и всё остальное выглядит в вашем дистрибутиве, но всё-таки.
1. Какая среда выбрана для запуска под обычным пользователем (KDE, GNOME, Window Maker etc)? В смысле, что будет, если в окошке, которое просит имя и пароль, поставить другую среду?
2. Давай просто проверим отдельно, как запускаются Иксы из-под пользователя и как то, что там дальше. Идём во вторую консоль по ctrl-alt-f2 (надеюсь, она есть). Там заходим под обычным пользователем. Выполняем команды: export DISPLAY=:1 X
Первая указывает, что Иксы должны работать с первым экраном, а не с нулевым, на котором у нас окошко логина. Нулевому экрану Иксов обычно соответствует седьмая консоль, первому — следующая, восьмая. Если Иксы запустятся — то на восьмой консоли (ctrl-alt-f8) будет специфическая сеточка с крестом-курсором посередине. Если не запустятся — во второй консоли будет ругань.
Если Иксы запустились — пускаем следующее. Идём в третью консоль по ctrl-alt-f3 (надеюсь, она есть), там входим как обычный пользователь. И запускаем свою среду: export DISPLAY=:1 startkde (или wmaker или что там надо)
Если пройдёт удачно — можно будет наблюдать запущенное на восьмой консоли.
Основные параметры
Алиас Defaults позволяет задать стандартные параметры для работы утилиты, их мы и рассмотрим в этом разделе. Начинается такой алиас со слова Defaults, дальше идет имя флага. Если перед именем есть символ !, это значит, что флаг нужно включить, в обратном случае выключить:
Отключаем введение при первом использовании:
Суперпользователь не может выполнять sudo:
Теперь если вы попытаетесь выполнить sudo sudo ничего не сработает:
Изменять домашнюю директорию для целевого пользователя, по умолчанию остается папка текущего пользователя в качестве домашней директории:
Сохранять список групп текущего пользователя:
Запрашивать пароль суперпользователя вместо пароля пользователя:
Дальше рассмотрим переменные, которым можно задать значения чтобы установить нужные настройки:
Задать количество попыток ввода пароля перед тем, как sudo прекратит работу, по умолчанию — 3:
Количество минут, которое пройдет перед тем, как sudo будет спрашивать пароль снова, по умолчанию 5. Если установить значение в 0, то пароль будет спрашиваться всегда, независимо от того как давно вы использовали утилиту:
Следующий параметр задает количество минут, пока sudo будет ожидать повторного ввода пароля при неправильном вводе:
Вы можете изменить сообщение, которое будет выводится при запросе пароля:
Можно указать другого пользователя, не root, от которого будут выполняться все команды, для этого используйте:
Вы можете записывать в лог все попытки подключения к sudo:
Затем пробуем проверить работу лога:
Это были все самые интересные параметры настройки работы sudo, которые могут вам понадобиться, дальше мы рассмотрим как задать права доступа sudo для пользователей.
Настройка пользователей sudo
Мы уже рассматривали выше синтаксис настройки действий для пользователей, здесь все сложнее чем с псевдонимами, но разобраться можно. Например, разрешим любому пользователю использовать sudo, от любого хоста и выполнять любые команды:
Такая команда очень небезопасна, она разрешает всем и все. Первое ALL — разрешить всем пользователям, второе ALL — для всех хостов, третье ALL — разрешить вход под любым пользователем и четвертое — разрешить выполнять любою команду. Но куда более часто используется другая конструкция:
Означает то же самое, что и предыдущее, только здесь мы разрешаем использовать sudo не всем пользователям, а только тем, которые состоят в группе wheel.
Тут мы уже ограничили возможный выбор пользователей только пользователем root. Также можно указать группу пользователя, от имени которого он может выполнять команды:
Это значит что можно выполнить команду от имени root или другого пользователя из группы admins. Еще мы можем указать команды, которые может выполнять пользователь. Например:
Пользователь может выполнять только команды mount и umount от имени суперпользователя. Теперь сделаем еще интереснее, пользователь может выполнять mount и umount без пароля, а все остальные команды с паролем:
Также можно ограничивать пользователям по хостах, например, разрешаем использование sudo только из host1:
Осталось еще рассмотреть как применять псевдонимы. Псевдонимы могут быть таких типов:
- User_Alias — псевдоним пользователей, которые будут использовать sudo;
- Runas_Alias — псевдоним пользователей, от имени которых будут выполняться команды;
- Host_Alias — псевдоним хоста;
- Cmnd_Alias — псевдоним команд;
Например, создадим четыре псевдонима и применим их в нашем правиле:
Далее применяем все это в правиле:
Это значит, что пользователи из списка Users смогут выполнять команды Cmds от имени пользователей Amdins на хостах Hosts.
Еще осталось сказать несколько слов о флагах. Флаг NOPASSWD говорит, что не нужно запрашивать пароль при выполнении этого правила. Например, разрешить всем пользователям выполнять команду mount с sudo без пароля:
Также можно запретить выполнять именно эту команду вообще с помощью флага NOEXEC:
Вы можете проверить правильно ли была проведена настройка файла /etc/sudoers и посмотреть все созданные правила с помощью команды:
Здесь отображены все установленные флаги и настройки, а также полномочия данного пользователя.
Ограничение доступа для root
После настройки sudo и назначения пользователям нужных прав, можно ограничить доступ к учетной записи root. Существует несколько способов защиты от входа под root и ограничения доступа к его учетной записи.
Изменение пользовательской оболочки root
Для предотвращения входа в оболочку root, достаточно отредактировать файл /etc/passwd, заменив оболочку /bin/bash на /sbin/nologin. Данный способ предотвращает доступ к учетной записи root, с помощью команд использующих оболочку и протокола ssh.
Открываем файл для редактирования: nano /etc/passwd Находим строку: root:x:0:0:root:/root:/bin/bash Заменяем /bin/bash на /sbin/nologin: root:x:0:0:root:/root:/sbin/nologin
Пробуем подключиться по ssh от имени root.
Connecting to 192.168.1.210:22... Connection established. To escape to local shell, press 'Ctrl+Alt+]'. Last failed login: Sun Feb 12 06:13:22 MSK 2017 on pts/1 There was 1 failed login attempt since the last successful login. Last login: Sun Feb 12 06:11:08 2017 from 192.168.1.2 This account is currently not available. Connection closed by foreign host. Disconnected from remote host(CentOS_Test_2) at 06:46:52.
Пробуем выполнить команду su от имени обычного пользователя.
$ su Пароль: This account is currently not available. $
Таким образом достигается полное запрещение доступа от имени root, так и выполнение команд от его имени другими пользователями. Администратор настроив свой аккаунт пользователя и наделив его необходимыми правами может обходиться sudo не прибегая к помощи root.
Запрет удаленного доступа для root
Данный способ запрещает удаленное подключение от имени root по протоколу ssh. Ограничение затрагивает только ssh доступ, все остальные команды: su — или su — продолжают работать.
Для этого вносят изменения в файл /etc/ssh/sshd_config
Открываем файл для редактирования: nano /etc/ssh/sshd_config Находим строку в разделе Authentication: PermitRootLogin yes Заменяем yes на no: PermitRootLogin no Перезапускаем ssh: service sshd restart - в CentOS service ssh restart - в Debian & Ubuntu
Запрет доступа root с консольных устройств
Для ограничения доступа к учетной записи root, администраторы также могут запретить вход с любых консольных устройств использующих tty. Для реализации этого ограничения требуется очистить файл /etc/securetty.
cat /dev/null > /etc/securetty
Файл очищается и применяются изменения. Сначала не помешает сделать бэкап файла.
Заключение
Способов стать рутом в Linux — множество, и я здесь прошелся только по самым очевидным и распространенным. Тем, что встречаются и в реальной жизни, и на CTF, и на экзаменах.
Вообще, зачастую это творческая задача: может не сработать ни один из способов, но поможет какая-то, порой неочевидная комбинация из разных. Универсального рецепта здесь нет, и систему всегда нужно анализировать всесторонне.
На сайте GTFOBins есть отличная подборка способов использовать разные популярные утилиты для повышения привилегий. Но помни: этот список на самом деле значительно больше, просто нам еще пока не все известно!