Su (UNIX)

Su (UNIX)

su (сокр. от англ. Substitute User) — команда Unix-подобных операционных систем, позволяющая пользователю войти в систему под другим именем, не завершая текущий сеанс. Обычно используется для временного входа

Содержание

Синтаксис

su [-] [имя_пользователя [аргумент ... ]]

Команда su позволяет пользователю выполнять команды от имени другого пользователя, не завершая текущий сеанс, или получить роль. По умолчанию предполагается работа от имени пользователя root (суперпользователя).

Для использования su необходимо ввести соответствующий пароль (если только команду не вызывает пользователь root). Если введен правильный пароль, su создает новый процесс командного интерпретатора, с такими же реальными и эффективными идентификаторами пользователя и группы, а также списком дополнительных групп, что и у указанного пользователя. В качестве нового командного интерпретатора используется указанный в поле начальной программы записи файла passwd для соответствующего пользователя (см. passwd(4)). Если командный интерпретатор там не указан, используется /usr/bin/sh (см. sh(1)). Чтобы вернуться в прежний сеанс, введите символ конца файла,

Любые дополнительные аргументы, заданные в командной строке, передаются новому командному интерпретатору. При использовании программ типа 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». Если перечислено несколько модулей аутентификации, у пользователя могут запрашивать несколько паролей.

Примеры

Пример 1: Работа от имени пользователя bin в прежней среде

Чтобы стать пользователем bin, сохранив прежнюю среду, выполните команду:

   example% su bin 

Пример 2: Работа от имени пользователя bin в его начальной среде

Чтобы стать пользователем bin, изменив среду так, как если бы он действительно зарегистрировался в системе, выполните команду:

   example% su - bin 

Пример 3: Выполнение одной команды с правами и в среде пользователя bin

Чтобы выполнить команду во временной среде и с правами пользователя bin, введите:

   example% su - bin -c "command args" 

Переменные среды

Переменные с префиксом 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» (американского стиля).

LC_CTYPE

Определяет, как su обрабатывает символы. Если переменная LC_CTYPE имеет допустимое значение, su может выдавать и обрабатывать текст и имена файлов, содержащие допустимые для этой локали символы. Команда su может выдавать и обрабатывать символы Extended Unix Code (EUC), каждый из которых может быть представлен как 1, 2 или 3 байта. su также может обрабатывать символы EUC, занимающие 1, 2 или более символьных позиций. В локали «C» допустимы только символы кодовой страницы ISO 8859-1.

LC_MESSAGES

Определяет, как выдаются диагностические и информационные сообщения. В частноти, язык и стиль сообщений, а такде допустимые формы утвердительного и отрицательного ответа. В локали «C» сообщения выдаются в стандартном виде, как представлены в самой программе (в большинстве случаев, на американском диалекте английского языка).

Файлы

$HOME/.profile

команды для sh и ksh, выполняемые при регистрации пользователя

/etc/passwd

файл паролей (учетных записей) системы

/etc/profile

общесистемные команды для sh и ksh, выполняемые при регистрации всех пользователей, использующих эти командные интерпретаторы в качестве начальных

/var/adm/sulog

файл журнала

/etc/default/su

файл стандартных параметров su со следующими параметрами:

   SULOG

Если задан, все попытки выполнить команды от имени другого пользователя с помощью su регистрируются в указанном файле.

   CONSOLE

Если задан, все попытки выполнить с помощью su команды от имени пользователя root регистрируются на консоли.

   PATH

Стандартный путь поиска выполняемых программ. (/usr/bin:)

   SUPATH

Стандартный путь поиска выполняемых программ для пользователя, пытающегося с помощью su выполнить команды от имени пользователя root. (/usr/sbin:/usr/bin)

   SYSLOG

Определяет, должны ли все попытки вызова su регистрироваться с помощью средств syslog(3C) LOG_AUTH. При попытке выполнения команд от имени root с помощью su генерируются сообщения LOG_NOTICE, при попытке выполнения команд от имени других пользователей генерируются сообщения LOG_INFO, а для неудавшихся попыток вызова su генерируются сообщения LOG_CRIT.

   SLEEPTIME

Если задан, определяет количество секунд ожидания, прежде чем на экран выдается сообщение о неудачной попытке регистрации (login failure) и разрешается новая попытка. Стандартное значение — 4 секунды. Минимальное — 0 секунд, максимальное — 5 секунд.



Wikimedia Foundation. 2010.

Игры ⚽ Поможем решить контрольную работу

Полезное


Смотреть что такое "Su (UNIX)" в других словарях:

  • Unix — (officially trademarked as UNIX, sometimes also written as Unix with small caps) is a computer operating system originally developed in 1969 by a group of AT T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Douglas McIlroy, and… …   Wikipedia

  • UNIX — Ken Thompson und Dennis Ritchie Basisdaten Entwickler …   Deutsch Wikipedia

  • Unix — Kommandozeile (Unix Prompt) Basisdaten Entwickler Ken Thompso …   Deutsch Wikipedia

  • Unix — (registrado oficialmente como UNIX®) es un sistema operativo portable, multitarea y multiusuario; desarrollado, en principio, en 1969 por un grupo de empleados de los laboratorios Bell de AT T, entre los que figuran Ken Thompson, Dennis Ritchie y …   Wikipedia Español

  • UNIX — UNIX, parfois écrit « Unix », avec des petites capitales, est un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par laquelle il offre de nombreux petits outils… …   Wikipédia en Français

  • Unix — (marque déposée officiellement comme UNIX, parfois aussi écrit comme Unix avec les petites capitalisations) est le nom d un système d exploitation multitâche et multi utilisateur créé en 1969, conceptuellement ouvert et fondé sur une approche par …   Wikipédia en Français

  • Unix time — Unix time, or POSIX time, is a system for describing points in time, defined as the number of seconds elapsed since midnight Coordinated Universal Time (UTC) of January 1 1970, not counting leap seconds. It is widely used not only on Unix like… …   Wikipedia

  • Unix-подобная операционная система — Генеалогическое дерево UNIX подобных ОС UNIX подобная операционная система (иногда сокр. *nix)  система, которая образовалась под влиянием UNIX. Термин включает свободные/открытые операционные системы, образованные от UNIX компании …   Википедия

  • UNIX — 〈[ju:nıx] EDV〉 Betriebssystem für Computer, das zum großen Teil in der Programmiersprache C geschrieben ist [engl.] * * * UNIX   [ursprünglich UNICS, Abk. für Uniplexed Information and Computing System, dt. »nicht multiplextes (vielseitiges)… …   Universal-Lexikon

  • UNIX-Kommandos — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia

  • Unix-Befehle — Unix Systeme zeichnen sich durch eine Vielzahl von Kommandos aus, mit denen sich über eine Shell das Betriebssystem bedienen lässt. Die Syntax dieser Kommandos weicht unter den verschiedenen Systemen voneinander ab. Es existieren die beiden… …   Deutsch Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»