Изменение учётной записи #
Васильев Андрей Михайлович, 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
- Если для выполнения команд требуется ввод пароля суперпользователя, тогда его необходимо будет ввести 1 раз в 5 минут или до истечения сессии
Бездумное использование 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
, приложение для настройки групп