su
Команда su ( s ubstitute u ser) используется для получения прав других пользователей системы.
Команда доступна из пакета util-linux , у которого по умолчанию включен USE-флаг su . Команда su также доступна из пакета sys-apps/shadow , у которого тоже есть USE-флаг su . Не следует устанавливать обе команды одновременно.
Предостережение
Использование su для доступа к пользователю root разрешается только в том случае, если вызывающий команду пользователь состоит в группе wheel .
В следующем примере пользователь john добавляется в группу wheel .
root
#
usermod -aG wheel john
Использование
user
$
su --help
Usage:
su [options] [-] [<user> [<argument>...]]
Change the effective user ID and group ID to that of <user>.
A mere - implies -l. If <user> is not given, root is assumed.
Options:
-m, -p, --preserve-environment do not reset environment variables
-w, --whitelist-environment <list> don't reset specified variables
-g, --group <group> specify the primary group
-G, --supp-group <group> specify a supplemental group
-, -l, --login make the shell a login shell
-c, --command <command> pass a single command to the shell with -c
--session-command <command> pass a single command to the shell with -c
and do not create a new session
-f, --fast pass -f to the shell (for csh or tcsh)
-s, --shell <shell> run <shell> if /etc/shells allows it
-P, --pty create a new pseudo-terminal
-h, --help display this help
-V, --version display version
For more details see su(1).
Получение прав root
su запускает команды от пользователя root по умолчанию. Так как без указания конкретного пользователя команда su запрашивает права root, следующая команда запустится с правами root и выключит систему:
user
$
su -c 'shutdown -h now'
Рекомендуется заключать в кавычки (одинарные или парные) команды, следующие за параметром
-c
.
Получение прав другого пользователя
Также возможно указывать иного пользователя для запуска команд. Следующий пример запустит команду echo с правами пользователя larry:
user
$
su -c 'echo "Moo to the Gentoo Wiki reader out there!"' larry