Команды сопровождения |
su(1M) |
su - стать суперпользователем или другим пользователем
Команда su позволяет пользователю выполнять команды от имени другого пользователя, не завершая текущий сеанс, или получить роль. По умолчанию предполагается работа от имени пользователя root (суперпользователя).
Для использования su необходимо ввести соответствующий пароль (если только команду не вызывает пользователь root). Если введен правильный пароль, su создает новый процесс командного интерпретатора, с такими же реальными и эффективными идентификаторами пользователя и группы, а также списком дополнительных групп, что и у указанного пользователя. В качестве нового командного интерпретатора используется указанный в поле начальной программы записи файла passwd для соответствующего пользователя (см. passwd(4)). Если командный интерпретатор там не указан, используется /usr/bin/sh (см. sh(1)). Чтобы вернуться в прежний сеанс, введите символ конца файла, EOF (Ctrl-D) для завершения работы нового командного интерпретатора.
Любые дополнительные аргументы, заданные в командной строке, передаются новому командному интерпретатору. При использовании программ типа sh, если аргумент имеет вид -c строка, то строка выполняется интерпретатором как команда, а аргумент -r приводит к запуску ограниченного командного интерпретатора.
Следующие утверждения верны, если в качестве начальной программы в учетной записи пользователя задана /usr/bin/sh или пустая строка (что означает стандартный командный интерпретатор /usr/bin/sh). Если первый аргумент su - дефис (-), среда будет установлена такой же, как при регистрации заданного пользователя. Иначе передается текущая среда, за исключением значения $PATH, которое задается переменными PATH и SUPATH в файле /etc/default/su. Кроме того, если задан аргумент дефис устанавливается идентификатор проекта пользователя. См. settaskid(2).
Все попытки стать другим пользователем с помощью команды su регистрируются в журнальном файле /var/adm/sulog (см sulog(4)).
Команда su используется механизм pam(3PAM) для аутентификации, управления учетной записью и управления сеансом. Конфигурация модулей PAM, задаваемая в файле /etc/pam.conf, перечисляет модули, которые должны использоваться для команды su. Вот часть файла pam.conf с записями для su, задающими использование стандартного (UNIX) модуля аутентификации, управления учетной записью и сеансом.
su auth required /usr/lib/security/pam_unix.so.1 su account required /usr/lib/security/pam_unix.so.1 su session required /usr/lib/security/pam_unix.so.1
Если записей для службы su в этом файле нет, будут применяться записи для службы "other". Если перечислено несколько модулей аутентификации, у пользователя могут запрашивать несколько паролей.
Чтобы стать пользователем bin, сохранив прежнюю среду, выполните команду:
Чтобы стать пользователем bin, изменив среду так, как если бы он действительно зарегистрировался в системе, выполните команду:
Чтобы выполнить команду во временной среде и с правами пользователя bin, введите:
Переменные с префиксом LD_ убраны из соображений защиты. Поэтому при выполнении su bin в среде не останутся ранее экспортированные переменные с префиксом LD_ при работе от имени bin.
Если в среде не установлены какие-то из переменных LC_* (LC_CTYPE, LC_MESSAGES, LC_TIME, LC_COLLATE, LC_NUMERIC и LC_MONETARY) (см. environ(5)), поведение команды su для соответствующих категорий локали определяется значением переменной среды LANG. Если установлена переменная LC_ALL, ее значение имеет приоритет и над значением LANG, и над значениями других переменных LC_*. Если ни одна из перечисленных переменных в среде не установлена, поведение su задает локаль "C" (американского стиля).
Описание следующих атрибутов см. на странице справочного руководства attributes(5):
ТИП АТРИБУТА | ЗНАЧЕНИЕ АТРИБУТА |
Доступен в пакете | SUNWcsu |
Последнее изменение: 27 января 2000 года
Copyright 2002 В. Кравчук, OpenXS Initiative, перевод на русский язык
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |