- Получение прав root
- Управление доступом к командам перехода в режим суперпользователя
- Краткое сравнение команд su и sudo
- Вход через su —
- sudo
- Особенности sudo в дистрибутивах ALT Linux
- Настройка control для работы sudo
- Грубая настройка sudo
- Тонкая настройка sudo
- Примечания
- Ссылки
- sudo
- Специфика ALT Linux
- Настройка
- Примечания
- Ссылки
- Получение прав root
- Управление доступом к командам перехода в режим суперпользователя
- Краткое сравнение команд su и sudo
- Вход через su —
Получение прав root
Виртуальная консоль Linux организована на основе текстовых возможностей графического контроллера, в том числе работы через фреймбуфер.
В процессе работы Linux активно несколько виртуальных консолей. Каждая виртуальная консоль доступна по нажатию Alt и функциональной клавиши с номером этой консоли. Так, в ALT Linux после загрузки системы функции системной консоли берёт на себя 12-я виртуальная консоль (Alt-F12). Если запущена графическая подсистема X11, она занимает седьмую консоль, а для переключения в текстовый режим описанные клавиши нужно нажимать вместе с Ctrl: Ctrl-Alt-F1, Ctrl-Alt-F2 и т. д.
В современных ОС графическая подсистема переехала по умолчанию с седьмой (F7) на первую консоль (F1), поэтому для перехода в текстовую консоль, надо нажать одну из комбинаций Ctrl-Alt-F2 . Ctrl-Alt-F6, а для возврата в графику Ctrl-Alt-F1.
Если вы переключитесь в виртуальную консоль, то увидите приглашение на вход вида:
где Lada — имя вашего компьютера.
Вводите имя root и пароль root:
при вводе пароля ничего не высвечивается — это сделано специально, для безопасности.
Далее, например, вызываем mc (файловый менеджер с текстовым интерфейсом) и работаем в нём, если нет предпочтений вроде zsh.
Для возвращения в графику выходим из mc, заканчиваем сеанс в виртуальном терминале (чтобы зря не висел) командой exit [1] и переходим в графику сочетанием клавиш Alt+F1 (в некоторых раскладках консоли Ctrl+Alt+F1).
Управление доступом к командам перехода в режим суперпользователя
В дистрибутивах ALT для управления доступом к важным службам используется подсистема control. Для получения текущего состояния войдите через login в root и дайте команду control без параметров, например:
# control | grep su su wheelonly (public wheel wheelonly restricted) sudo wheelonly (public wheelonly restricted) sudoers relaxed (strict relaxed)
Для того чтобы посмотреть что значит та или иная политика, дайте команду control имя_службы help , например
# control su help public: Any user can execute /bin/su wheel: Any user can execute /bin/su, but only "wheel" group members can switch to superuser wheelonly: Only "wheel" group members can execute /bin/su restricted: Only root can execute /bin/su
Для задания новой политики можно задать control имя_службы новая_политика , например:
что запретит использовать команду sudo всем, кроме root (а самому root уже в настройках sudo по умолчанию запрещено её использовать).
Примечание: Как видно из приведённых выше команд, команды su и sudo по умолчанию позволено использовать только пользователям, входящим в группу wheel.
Краткое сравнение команд su и sudo
1. Режим работы по умолчанию:
Далее все команды до команды exit выполняются в режиме суперпользователя.
Выполняется только одна конкретная команда.
2. Запрашиваемый пароль по умолчанию:
su — — запрашивает пароль root;
sudo — запрашивает пароль пользователя для первой команды, для следующих в течение определённого времени вообще не запрашивает пароль.
3. Каждая команда самостоятельна и настраивается отдельно.
Вход через su —
sudo
Команда sudo может использоваться [1] для выполнения пользователем какой-либо команды, требующей права суперпользователя (root), то есть получение прав root для выполнения какой-либо команды на время её выполнения.
Перед выполнением команды sudo запрашивает пароль пользователя, а не пароль root, как у команды su — .
После выполнения sudo существует временной отрезок, в течение которого повторное выполнение команды sudo не требует пароль (что удобно для взлома вашего компьютера со стороны rootkits и хакерских атак).
С другой стороны, команда sudo удобна для распределения прав между несколькими администраторами компьютера (например, кому можно обновлять и устанавливать программы, а кому настраивать работу аппаратуры компьютера), не предоставляя прав root на все другие действия и не выдавая пользователю пароля root.
Особенности sudo в дистрибутивах ALT Linux
Штатным способом временного получения прав root в большинстве дистрибутивах ALT Linux, является команда su -. Команда sudo в большинстве дистрибутивов ALT Linux требует предварительной настройки, так как в /etc/sudoers не описан ни один пользователь, включая root. Исключением является дистрибутив Simply, где sudo уже настроена для первого пользователя. В дополнение к /etc/sudoers могут использоваться отдельные файлы из каталога /etc/sudoers.d/ .
Для ограничения прав на выполнение самой команды sudo используется особый механизм control .
Настройка control для работы sudo
В ALT Linux sudo используется фреймворк control, который задаёт права на выполнение команды sudo .
С его помощью можно дать или отнять права на использование команды sudo .
Возможные значения control sudo можно посмотреть командой control sudo help :
На текущий момент существуют следующие политики у команды sudo :
public — любой пользователь может получить доступ к команде /usr/bin/sudo wheelonly — только пользователи из группы wheel имеют право получить доступ к команде /usr/bin/sudo restricted — только root имеет право выполнять команду /usr/bin/sudo
Штатное состояние политики:
Означает что пользователь из группы wheel имеет право запускать саму команду sudo , но не означает, что он через sudo может выполнить какую-то команду с правами root.
Для разрешения получения прав на выполнение конкретных команд с правами root надо отредактировать настройки правил /etc/sudoers [2] при помощи специальной команды visudo (которая не портит права на файлы):
Грубая настройка sudo
Раскомментировать (убрать ‘#’ в начале строки) в /etc/sudoers строчку, дав права выполнять через sudo любую команду с любого компьютера (например через ssh), пользователям входящим в группу wheel, запрашивая их пароль:
С точки зрения безопасности правильнее давать права на выполнение sudo не всей группе wheel, а конкретному пользователю, например petya, входящего в группу localhost:
и не на все команды , а на те, которые ему необходимы для быстрого получения прав root:
petya localhost=(ALL) /usr/bin/apt-get,/usr/bin/rpm,/sbin/fdisk
Это особенно важно потому, что после выполнения команды sudo с запросом пароля есть определённый временный отрезок, в течение которого sudo выполняет следующие команды, не запрашивая повторно пароль пользователя.
Также может понадобиться добавление требуемых пользователей в группу wheel (созданный при установке системы аккаунт добавляется в неё автоматически, можно посмотреть в /etc/group ):
# gpasswd -a имя_пользователя wheel
Примечание: Для быстрого разрешения запуска произвольной программы пользователям группы wheel можно выполнить под правами суперпользователя:
# control sudowheel enabled
Тонкая настройка sudo
Для того, чтобы настроить работу sudo, необходимо с применением административных привилегий отредактировать файл /etc/sudoers при помощи специальной команды visudo (подробности смотри выше) и внести туда записи о том, каким пользователям какие команды можно выполнять.
user1 ALL = (ALL) ALL user1 ALL = NOPASSWD: /usr/bin/apt-get update
Позволяет пользователю user1 запускать все приложения через sudo с правами суперпользователя (root) с запросом пароля, а при выполнении команды sudo apt-get update пароль не будет спрашиваться.
Полная документация по формату конфигурационного файла находится в man-странице sudoers, начинать читать может быть проще с секции EXAMPLES.
Примечания
- ↑ Существует рекомендация известного эксперта в области ИТ-безопасности Александра Песляка (Solar Designer) не использовать sudo
- ↑ Здесь используется редактор mcedit, по умолчанию используется vi , но базовый навык работы с vi весьма полезен, для его получения установите и запустите команду vimtutor
Ссылки
sudo
Команда sudo используется [1] для выполнения обычным * пользователем какой-либо другой команды с правами суперпользователя (root).
Специфика ALT Linux
В ALT Linux sudo использует фреймворк control и штатное состояние соответствует control sudo wheelonly ; поэтому может понадобиться:
- либо внесение требуемых пользователей в группу wheel (созданный при установке системы аккаунт добавляется в неё автоматически, иначе см. /etc/group ),
- либо при необходимости повыдавать какие-либо повышенные привилегии всем пользователям — выполнение команды control sudo public (не рекомендуется!).
Настройка
Для того, чтобы настроить работу sudo , необходимо с применением административных привилегий отредактировать файл /etc/sudoers при помощи специальной команды visudo [2] и внести туда записи о том, каким пользователям какие команды можно выполнять.
user ALL = (ALL) ALL aptu ALL = NOPASSWD: /usr/bin/apt-get update
Позволяет пользователю user запускать все приложения с правами суперпользователя (root), а пользователю aptu — только apt-get update притом пользователь user при выполнении команд должен будет вводить пароль от своей учётной записи, а у пользователя aptu пароль не будет спрашиваться при выполнении sudo apt-get update .
Полная документация по формату конфигурационного файла находится в man-странице sudoers, начинать читать может быть проще с секции EXAMPLES.
Примечания
- ↑ Существует рекомендация известного эксперта в области ИТ-безопасности Александра Песляка (Solar Designer) не использовать sudo
- ↑ Любителям mcedit : всё-таки базовое знание vi весьма полезно, но если очень хочется — переопределите переменную окружения EDITOR
Ссылки
Получение прав root
Виртуальная консоль Linux организована на основе текстовых возможностей графического контроллера, в том числе работы через фреймбуфер.
В процессе работы Linux активно несколько виртуальных консолей. Каждая виртуальная консоль доступна по нажатию Alt и функциональной клавиши с номером этой консоли. Так, в ALT Linux после загрузки системы функции системной консоли берёт на себя 12-я виртуальная консоль (Alt-F12). Если запущена графическая подсистема X11, она занимает седьмую консоль, а для переключения в текстовый режим описанные клавиши нужно нажимать вместе с Ctrl: Ctrl-Alt-F1, Ctrl-Alt-F2 и т. д.
В современных ОС графическая подсистема переехала по умолчанию с седьмой (F7) на первую консоль (F1), поэтому для перехода в текстовую консоль, надо нажать одну из комбинаций Ctrl-Alt-F2 . Ctrl-Alt-F6, а для возврата в графику Ctrl-Alt-F1.
Если вы переключитесь в виртуальную консоль, то увидите приглашение на вход вида:
где Lada — имя вашего компьютера.
Вводите имя root и пароль root:
при вводе пароля ничего не высвечивается — это сделано специально, для безопасности.
Далее, например, вызываем mc (файловый менеджер с текстовым интерфейсом) и работаем в нём, если нет предпочтений вроде zsh.
Для возвращения в графику выходим из mc, заканчиваем сеанс в виртуальном терминале (чтобы зря не висел) командой exit [1] и переходим в графику сочетанием клавиш Alt+F1 (в некоторых раскладках консоли Ctrl+Alt+F1).
Управление доступом к командам перехода в режим суперпользователя
В дистрибутивах ALT для управления доступом к важным службам используется подсистема control. Для получения текущего состояния войдите через login в root и дайте команду control без параметров, например:
# control | grep su su wheelonly (public wheel wheelonly restricted) sudo wheelonly (public wheelonly restricted) sudoers relaxed (strict relaxed)
Для того чтобы посмотреть что значит та или иная политика, дайте команду control имя_службы help , например
# control su help public: Any user can execute /bin/su wheel: Any user can execute /bin/su, but only "wheel" group members can switch to superuser wheelonly: Only "wheel" group members can execute /bin/su restricted: Only root can execute /bin/su
Для задания новой политики можно задать control имя_службы новая_политика , например:
что запретит использовать команду sudo всем, кроме root (а самому root уже в настройках sudo по умолчанию запрещено её использовать).
Примечание: Как видно из приведённых выше команд, команды su и sudo по умолчанию позволено использовать только пользователям, входящим в группу wheel.
Краткое сравнение команд su и sudo
1. Режим работы по умолчанию:
Далее все команды до команды exit выполняются в режиме суперпользователя.
Выполняется только одна конкретная команда.
2. Запрашиваемый пароль по умолчанию:
su — — запрашивает пароль root;
sudo — запрашивает пароль пользователя для первой команды, для следующих в течение определённого времени вообще не запрашивает пароль.
3. Каждая команда самостоятельна и настраивается отдельно.