table of contents
- stretch 1:4.4-4.1
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 КОМАНДА
The executed command will have no controlling terminal. This option cannot be used to execute interactive programs which need a controlling 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 ОБОЛОЧКА
Запущенная оболочка выбирается из (в порядке убывания приоритета):
Если заданный пользователь имеет ограниченную оболочку (то есть оболочка в поле пользовательской записи в файле /etc/passwd отсутствует в файле /etc/shells), то параметр --shell или переменная окружения $SHELL не будут учтены, если su не была запущена суперпользователем.
-m, -p, --preserve-environment
$PATH
$IFS
Если заданный пользователь имеет ограниченную оболочку, то этот параметр не сработает (если su не запускается суперпользователем).
Заметим, что поведение окружения по умолчанию таково:
ПРЕДОСТЕРЕЖЕНИЯ¶
Данная версия программы su может быть собрана с разными параметрами и только некоторые из них смогут быть использованы на любой машине.НАСТРОЙКА¶
На работу этого инструмента влияют следующие переменные настройки из /etc/login.defs:CONSOLE_GROUPS (строка)
Используйте осторожно — может дать пользователям постоянный доступ к этим группам, даже если они не входили с консоли.
DEFAULT_HOME (логический)
Если равно yes, то пользователь будет попадать в корневой каталог (/), если невозможно выполнить cd в его домашний каталог.
ENV_PATH (строка)
ENV_SUPATH (строка)
SULOG_FILE (строка)
SU_NAME (строка)
SYSLOG_SU_ENAB (логический)
ФАЙЛЫ¶
/etc/passwd/etc/shadow
/etc/login.defs
ВОЗВРАЩАЕМЫЕ ЗНАЧЕНИЯ¶
При успешном выполнении su возвращает код выхода команды, которая была выполнена.Если выполнение команды завершилось по сигналу, то su возвращает номер этого сигнала плюс 128.
Если su завершила команду (так как был запрос сделать это и команда не завершилась в положенное время), то su завершается с кодом 255.
Некоторые коды выхода su не зависят от запускаемой команды:
0
1
126
127
СМОТРИТЕ ТАКЖЕ¶
login(1), login.defs(5), sg(1), sh(1).05/17/2017 | shadow-utils 4.4 |