SU(1)
ИМЯ
su - присваивает пользователю статус привилегированного пользователя или имя другого пользователя.
СИНТАКСИС
su [-] [name [arg...]]
ОПИСАНИЕ
Команда su позволяет вам становиться другим пользователем без
логического отключения. По умолчанию имя пользователя name root (т.е. привилегированный пользователь).
Для того, чтобы использовать su, необходимо ввести соответствующий пароль (до этого пароль - root). Если пароль правильный, su выполнит новый shell с истинным и действительным идентификатором пользователя, с истинным и действительным идентификатором группы пользователей. Новый shell будет необязательной программой с именем, указанным в поле shell (поле shell
является частью компонента специфицированного файла пользовательских паролей), или с именем /bin/sh, если имя не задано.
Для возврата к обычным привилегиям идентификатора пользователя
наберите EOF (Ctrl-D) в новом shell.
Любые дополнительные аргументы, задаваемые в командной строке,
поступают в программу, вызванную как shell. Когда используются
программы подобно sh(1), аргумент arg вида -c string обрабатывает значение string через shell, а аргумент вида -r предоставляет пользователю ограниченный shell.
Текущие предложения справедливы только тогда, когда необязательная программа с именем, указанным в поле shell компонента
файла пользовательских паролей, идеинтична команде sh(1). Если
первый аргумент команды su '-', то конфигурация системы будет
изменена и приведена в ожидаемое состояние, если пользователь
действительно зарегистрирован как определенный пользователь. Это сделано путем вызова программы, используемой как
shell, со значением arg0, у которого первый знак '-', вызывая,
тем самым, выполнение сначала системных параметров
(/etc/profile), а затем указанных пользовательских параметров
(.profile в новой директории HOME). В противном случае, конфигурация остается неизменной, кроме значения $PATH, которое безусловно устанавливается как /bin:/etc:/usr/bin для имени
пользователя root. Необходимо заметить, что если необязательная программа, используемая как shell, имеет имя /bin/sh, то
пользовательский .profile может проверить аргумент
arg0 на наличие -sh или -su, чтобы обнаружить, вызывалась ли
данная программа командами login(5) или sh(1), соответственно.
Если пользовательская программа отлична от /bin/sh, то пользовательский .profile вызывается с аргументом arg0, равным
-program, и командой login(5), и командой sh(1).
Файл /etc/default/su может быть использован для управления ходом выполнения команды su. В этом файле может быть размещено
несколько флагов:
- SULOG
- Имя файла журнала регистрации для учета всех попыток
использования команды su. Обычно это файл
/usr/adm/sulog. Если флаг не установлен, то файл
журнала не заводится (смотрите пример ниже).
- PATH
- Переменная среды PATH для установки пользователей,
находящихся в не-корневом каталоге. Если данный флаг
не установлен, то по умолчанию принимается значение
":/bin:/usr/bin". Текущая переменная среды PATH игнорируется.
- SUPATH
- При активизации из корневого каталога путь по умолчанию принимает значение "/bin:/usr/bin:/etc" до тех
пор, пока переменная не определена.Текущее значение
PATH игнорируется.
- CONSOLE
- Попытки использовать команду su регистрируются на
устройстве device независимо от SULOG.
Например, если вы хотите отслеживать все попытки полььзователей разместиться в корневом каталоге, создайте файл
/etc/default/su. В этом файле разместите строку следующего вида: SULOG = /usr/adm/sulog. Это позволит записывать в файл
/usr/adm/sulog все попытки пользователей изменять свои пользовательские идентификаторы. Имя файла может быть произвольным.
журнал su записывает начальное имя пользователя, универсальный
идентификатор попытки выполнить команду su и время попытки.
Если попытка закончилась успешно, в соответствующей ей строке
ставится знак (+), иначе - знак (-).
ПРИМЕРЫ
Чтобы стать пользователем bin, сохранив при этом вашу, предварительно установленную, конфигурацию, наберите:
su bin
Чтобы стать пользователем bin и изменить при этом конфигурацию
на ту, которая была бы установлена, если бы bin был до этого
подключен,наберите:
su -bin
Для выполнения команды command с временной конфигурацией и
правами пользователя bin наберите:
su -bin -c "command args"
ФАЙЛЫ
$HOME/.profile пользовательские параметры
/etc/logingroup системный файл порядка группового
доступа по умолчанию.
/etc/passswd системный файл паролей.
/etc/profile системные параметры
/usr/adm/sulog журнал всех попыток.
СМ. ТАКЖЕ
env(1), login(5), sh(1), passwd(3), profile(5), environ(5).