table of contents
su(1) | Пользовательские команды | su(1) |
НАЗВАНИЕ¶
su - изменяет ID пользователя или делает его суперпользователемСИНТАКСИС¶
su
[параметры]
[
имя_пользователя]
ОПИСАНИЕ¶
Программа su используется для того, чтобы пользователь мог стать другим пользователем в текущем сеансе. Если su вызывается без имени_пользователя, то это по умолчанию делает пользователя суперпользователем. Необязательный параметр - можно использовать для воссоздания окружения, такого же как если бы настоящий пользователь выполнял вход в систему. После имени пользователя можно указать дополнительные аргументы, которые будут переданы регистрационной оболочке пользователя. В частности, аргумент -c заставит большинство оболочек считать следующий аргумент как команду. Команда будет выполнена оболочкой, указанной в файле /etc/passwd, которая является регистрационной для указываемого пользователя. Вы можете использовать параметр -- чтобы отделить параметры su от параметров, которые передаются оболочке. Пользователю предложат ввести пароль, если он задан. При неверном пароле возникает сообщение об ошибке. Все попытки, удачные и неудачные, протоколируются системой с целью обнаружения злоупотреблений. Текущее окружение передаётся новой оболочке. Значение $PATH сбрасывается в значение /bin:/usr/bin для обычных пользователей или в /sbin:/bin:/usr/sbin:/usr/bin для суперпользователя. Эти значения можно изменить в переменных ENV_PATH и ENV_SUPATH в файле /etc/login.defs. Субсистемный вход в систему можно распознать по наличию символа «*» в начале регистрационной оболочки. Заданный домашний каталог будет использован как корень новой файловой системы, в которой регистрируется пользователь.ПАРАМЕТРЫ¶
Параметры команды su: -c, --command КОМАНДАУказать
команду,
которая
будет
запущена
оболочкой
в виде
параметра
для -c.
Запускаемая
программа
не будет
иметь
управляющего
терминала.
Этот
параметр
не может
быть
использован
для
запуска
интерактивных
программ,
которым
требуется
управляющий
TTY.
-, -l, --login
Предоставляет
окружение,
как если бы
пользователь
непосредственно
регистрировался
в системе.
When - is used, it must be specified before any username. For
portability it is recommended to use it as last option, before any
username. The other forms ( -l and --login) do not have
this restriction.
-s,
--shell ОБОЛОЧКА
Оболочка,
которая
будет
запущена.
Запущенная
оболочка
выбирается
из (в
порядке
убывания
приоритета):
-m, -p, --preserve-environment
Оболочка
указанная
в
параметре
--shell.
Если
используется
--preserve-environment, то
оболочка
задаётся
переменной
окружения
$SHELL.
Оболочка,
указанная
в записи
файла /etc/passwd для
заданного
пользователя.
/bin/sh, если
ни одной
оболочке
не было
найдено с
помощью
методов,
указанных
выше.
Если
заданный
пользователь
имеет
ограниченную
оболочку
(то есть
оболочка в
поле
пользовательской
записи в
файле /etc/passwd
отсутствует
в файле /etc/shells),
то
параметр
--shell или
переменная
окружения
$SHELL не будут
учтены,
если su не
была
запущена
суперпользователем.Сохранить
текущее
окружение
за
исключением:
$PATH
сбрасывается
в значение
ENV_PATH или ENV_SUPATH
(смотрите
далее) из
/etc/login.defs;
$IFS
сбрасывается
в значение
«<space><tab><newline>»,
если она
установлена.
Если
заданный
пользователь
имеет
ограниченную
оболочку,
то этот
параметр
не
сработает
(если su не
запускается
суперпользователем).
Заметим,
что
поведение
окружения
по
умолчанию
таково:
Переменные
окружение
$HOME, $SHELL, $USER, $LOGNAME, $PATH
и $IFS
сбрасываются.
Если
параметр
--login не
указан, то
окружение
копируется,
за
исключением
переменных,
перечисленных
выше.
Если
параметр
--login указан,
то
переменные
окружения
$TERM, $COLORTERM, $DISPLAY и $XAUTHORITY
копируются
(если они
установлены).
Дополнительные
переменные
окружения
могут быть
установлены
из модулей
PAM.
ПРЕДОСТЕРЕЖЕНИЯ¶
Данная версия программы su может быть собрана с разными параметрами и только некоторые из них смогут быть использованы на любой машине.НАСТРОЙКА¶
На работу этого инструмента влияют следующие переменные настройки из /etc/login.defs: CONSOLE_GROUPS (строка)Список
групп для
добавления
к набору
пользовательских
дополнительных
групп при
входе с
консоли
(определяемой
переменной
CONSOLE). По
умолчанию
не указана.
Используйте
осторожно
— может
дать
пользователям
постоянный
доступ к
этим
группам,
даже если
они не
входили с
консоли.
DEFAULT_HOME
(логический)
Определяет,
можно ли
войти в
систему,
если
нельзя
выполнить cd
в домашний
каталог. По
умолчанию
«no».
Если равно
yes, то
пользователь
будет
попадать в
корневой
каталог (/),
если
невозможно
выполнить cd
в его
домашний
каталог.
ENV_PATH (строка)
If set, it will be used to define the PATH environment
variable when a regular user login. The value is a colon separated list of
paths (for example /bin:/usr/bin) and can be preceded by PATH=.
The default value is PATH=/bin:/usr/bin.
ENV_SUPATH (строка)
If set, it will be used to define the PATH environment
variable when the superuser login. The value is a colon separated list of
paths (for example /sbin:/bin:/usr/sbin:/usr/bin) and can be preceded
by PATH=. The default value is
PATH=/sbin:/bin:/usr/sbin:/usr/bin.
SULOG_FILE (строка)
Если
определена,
то любая
активность
su будет
протоколироваться
в этот
файл.
SU_NAME (строка)
Если
определена,
то
выводится
имя
команды
когда
работает «su
-». Например,
если
значение
равно «su», то
«ps» покажет
команду
как «-su». Если
не
определена,
то «ps»
покажет
имя
запускаемой
оболочки
например
как «-sh».
SYSLOG_SU_ENAB
(логический)
Включить
протоколирование
«syslog»
действий su
—
дополнительно
к
протоколированию
в файле sulog.
ФАЙЛЫ¶
/etc/passwdсодержит
информацию
о
пользователях
/etc/shadow
содержит
защищаемую
информацию
о
пользователях
/etc/login.defs
содержит
конфигурацию
подсистемы
теневых
паролей
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ¶
При успешном выполнении su возвращает код выхода команды, которая была выполнена. Если выполнение команды завершилось по сигналу, то su возвращает номер этого сигнала плюс 128. Если su завершила команду (так как был запрос сделать это и команда не завершилась в положенное время), то su завершается с кодом 255. Некоторые коды выхода su не зависят от запускаемой команды: 0Успешно
(только для
--help)
1
Сбой
аутентификации
или
системы
126
Запрошенная
команда не
найдена
127
Запрошенная
команда не
может быть
выполнена
СМОТРИТЕ ТАКЖЕ¶
login(1), login.defs(5), sg(1), sh(1).05/17/2017 | shadow-utils 4.2 |