su(1)

SU(1) PAM only applications SU(1)

НАЗВАНИЕ

su - подмена идентификатора пользователя

СИНТАКСИС

su [-|-l] [-c команда] [-s оболочка] [имя_пользователя]

ОПИСАНИЕ

Su вызывает предопределённую оболочку другого пользователя. Идентификатор нового пользователя может быть указан посредством аргумента имя_пользователя. По умолчанию это суперпользователь (UID=0).

По умолчанию вызывается непосредственно оболочка пользователя, однако, при указании флага аргумента -, su вызывает оболочку регистрации в системе. Это значит, что текущий рабочий каталог будет изменён в домашний каталог нового пользователя и первый аргумент оболочки будет иметь префикс -. Это поведение понятно и обрабатывается большинством командных интерпретаторов. В случае вызова оболочки регистрации в системе, любая команда, передаваемая посредством аргумента -c, будет проигнорирована. Также, при вызове оболочки регистрации, в базах данных utmp(5) и wtmp(5) будут сделаны соответствующие записи для обозначения присутствия пользователя в системе.

Вместо полной активации командной оболочки пользователя, посредством флага -c может быть вызвана одиночная команда с заданным идентификатором пользователя. Например, следующей командой может быть удалён файл с полномочиями суперпользователя:

su -c 'rm ./this_file'

В таких случаях выбор оболочки не является автоматическим из записи пользователя в Базе Данных Паролей; см. libpwdb(3). Логика в этом такова. Если оболочка пользователя по умолчанию содержит только полное имя пути, то оно добавляется при использовании -c 'команда', однако, если оболочка пользователя состоит из более чем одной записи, она не будет использована su для индивидуальных команд. Вместо этого будет произведена подстановка /bin/sh.

Su сконфигурирована для работы посредством Linux-PAM API. По сути дела она инициализирует саму себя как сервис "su" с Linux-PAM, и использует для аутентификации сконфигурированные модули account, authentication и session с последующим вызовом сессии с подменой идентификатора пользователя. Заметьте, что в отличии от login(1), если пароль(ли) пользователя устарели (устаревают), то новый пароль запрошен не будет. В действительности, любая ошибка из компонента Linux-PAM accounting будет фатальна. Дело обстоит так для всех пользователей, кроме суперпользователя. В случае с суперпользователем обнаружение ошибки вызовет отображение предупреждения, однако su продолжит вызов оболочки запрошенного пользователя.

ПАРАМЕТРЫ

-c команда, --command=команда
Вместо запуска интерактивной оболочки пользователя, передаёт команду, единую исполняемую командную строку, при помощи параметра -c, оболочке.
-,-l, --login
Вызывает оболочку, как оболочку регистрации пользователя в системе.
-s, --shell оболочка
Суперпользователь может вызвать оболочку вместо интерпретатора команд пользователя, если пользователь, выполняющий su - не суперпользователь, и оболочка пользователя ограничена.
--help
Вывести в стандартный вывод информацию об использовании и прервать выполнение.

КОДЫ ВЫХОДА

В случае успешного выполнения задачи su выполняется с кодом выхода 0. Код выхода 1 обозначает наличие ошибки. Текстовые ошибки выводятся в стандартный поток ошибок.

СООТВЕТСТВИЕ

Linux-PAM (Подключаемые модули Аутентификации для Linux). Модули в вашей системе расположены вероятно в /usr/lib/security/ или /lib/security/.

ОШИБКИ

В настоящий момент не известны.

СМОТРИ ТАКЖЕ

su(1) и pam(8)

Для получения более подробной информации о конфигурации этой программы при помощи Linux-PAM смотри Linux-PAM System Administrators' Guide по адресу <http://http://linux.kernel.org/pub/linux/libs/pam/index.html>

ПЕРЕВОД

Aleksandr Blokhin <sass@altlinux.ru>

21 May 2004 SimplePAMApps 0.54