Васильев Андрей Михайлович, 2024
Версии презентации
Для выполнения ряда действий необходимо иметь возможность выполнять команды от имени другого пользователя, например суперпользователя или менеджера СУБД
Возможные способы смены активной учётной записи
ssh
su
или sudo
Удобными инструментами являются последние приложения su
и sudo
, т.к. они
позволяют быстро выполнить данную задачу
Важно с помощью непродуманного использования данных приложений можно привести систему в неработоспособное состояние
su
#
Приложение позволяет либо выполнить одну команду от имени другого пользователя, либо открыть интерактивную оболочку с правами указанного пользователя
$ su --help
Usage:
su [options] [-] [<user> [<argument>...]]
-
, -l
, --login
указывает, что необходимо заново инициализировать
окружение для целевого пользователяuser
имя целевого пользователя, root
если не было указаноПолучение прав суперпользователя:
$ su -
Пароль:
#
Необходимо ввести пароль суперпользователя
Работать с правами суперпользователя удобно: система не мешает своими сообщениями, если что-то пошло не так, все команды завершаются успешно
Однако при таком подходе снимаются все защитные механизмы, которые нужны, чтобы предотвратить неконтролируемые изменения
Рекомендуется минимизировать время работы с правами суперпользователя
С помощью флага -c
можно передать нужную команду на исполнение
$ su -c 'ls /root/*'
Пароль:
/root/empty-file
$
Расширение пути будет выполнено с правами суперпользователя
sudo
#
Приложение sudo
работает во многих аспектах как команда su
, однако
/etc/sudoers/
и каталоге /etc/sudoers.d
Бездумное использование sudo
приводит к быстрой поломке системы. Пользователи
вместо обдумывания своих действий начинают выполнять их с помощью sudo
control
в ALT Linux
#
В ALT Linux предприняты дополнительные защитные меры от доступа к критичным
службам, это реализовано в подсистеме
control
По умолчанию для доступа к приложениям, повышающим привилегии пользователя,
необходимо входить в группу wheel
Суперпользователь может просматривать политики и настраивать их
sudo
в ALT Linux
#
В ALT Linux создаваемый пользователь не указан в конфигурации sudo
и не может
ей пользоваться, однако там находится группа wheel
Для добавления вашего пользователя в группу wheel
выполните
root
usermod -a -G wheel USER
, где USER
— имя вашей
учётной записиДополнительно подумайте как можно было бы сделать это действие без интерактивной сессии
После такой конфигурации пользователь сможет с помощью sudo
выполнять любые
команды
sudo
#
$ sudo ls /root
[sudo] пароль для andrey:
empty-file
$ sudo ls /root
empty-file
sudo ls /root
— запустить ls
с правами root для просмотра каталога /root
sudo -l
— узнать какие привилегии доступны текущему пользователюsudo -i [-u user]
— запустить интерактивную сессию под целевым пользователемsudo -K
— завершить сессиюДля изменения владельца и группы для файлов используется приложение chown
> chown --help
Использование: chown [ПАРАМЕТР]… [ВЛАДЕЛЕЦ][:[ГРУППА]] ФАЙЛ…
или: chown [ПАРАМЕТР]… --reference=ОФАЙЛ ФАЙЛ…
Смена владельца и группы указанного ФАЙЛА на ВЛАДЕЛЬЦА и/или ГРУППУ.
Примеры указания нового владельца
Аргумент | Результат |
---|---|
bob |
изменить только владельца у целевого файла на пользователя bob |
bob:users |
изменить владельца на bob , изменить группу на users |
:admins |
изменить только группу на admin , владелец не меняется |
bob: |
изменить владельца на bob , изменить группу на группу по умолчанию пользователя bob |
Рассмотрим следующую ситуацию
$ touch source
$ ls -l source
-rw-r--r-- 1 andrey andrey 0 окт 6 17:38 source
$ su
Password:
# cp source destination
# exit
$ ls -l destination
-rw-r--r-- 1 root root 0 окт 6 17:38 destination
$ su
Password:
# chown nobody: destination
# exit
$ ls -l destination
-rw-r--r-- 1 nobody nobody 0 окт 6 17:38 destination
Для смены пароля пользователя можно воспользоваться приложением passwd
$ passwd --help
Использование: passwd [параметры] [ПОЛЬЗОВАТЕЛЬ]
Обычный пользователь может сменить только свой пароль
Суперпользователь может изменить пароль любого пользователя
Для управления пользователями и группами можно воспользоваться следующими приложениями
useradd
, приложение для добавления пользователя в системуuserdel
, приложение для удаления пользователя из системыusermod
, приложение для настройки пользователяgroupadd
, приложение для добавления группgroupdel
, приложение для удаления группgroupmod
, приложение для настройки групп