su - используется, чтобы принять личность другого пользователя в системе, по умолчанию root.
su запускает оболочку с правами root и даёт всем дальнейшим командам root права, в то время когда sudo предоставляет временное повышение привилегий для одной команды.
Лицензия:
GPL2
Синтаксис:
su [опции] [-] [пользователь [<аргументы>...]]
где:
Если не указать имя пользователя используя su, то по умолчанию считается, что это — root, то есть выполнение команды без аргументов «su» означает «su root».
Если вызов команды происходит без аргументов, то происходит смена пользователя оболочки shell на суперпользователя root. Программа выдаст приглашение ввода пароля, если пароль будет верным, то текущим пользователем станет root.
«–» или «-l» — при получении привилегий другого пользователя запускается отдельная оболочка со значениями переменных окружения того пользователя, чьи привилегии будут получены.
То есть, выполнив из-под пользователя user команду «su», останемся в том же рабочем окружении, что и были (то есть получив права супер-администратора, всё равно нашим домашним каталогом останется /home/user, а также все переменные рабочего окружения оболочки).
Следовательно, если какая-то программа или команда захочет что-то записать в домашнюю папку, то она сделает это в каталоге /home/user, но владельцем файла установит уже пользователя root, что потом при работе с правами пользователя user не позволит этот файл редактировать, удалить и т. д. Совсем плохо, если этим файлом окажется какой-то из файлов конфигурации.
Используя команду su, обязательно следует выполнять её с аргументом «–».
Опции:
Опция | Описание |
---|---|
-m, -p, --preserve-environment | Не сбрасывать переменные окружения |
-w, --whitelist-environment <list> | Не сбрасывать указанные переменные |
-g, --group <group> | Указать первичную группу |
-G, --supp-group <group> | Указать дополнительную группу |
-, -l, --login | Сделать оболочку логином |
-c, --command <command> | Передать одну команду в оболочку с -c |
--session-command <command> | Передать одну команду в оболочку с -c и не создавать новый сеанс |
-f, --fast | Передать -f в оболочку (для csh или tcsh) |
-s, --shell <shell> | Запустите <shell>, если /etc/shells это позволяет |
-P, --pty | Создать новый псевдотерминал |
-h, --help | Показать описание |
-V, --version | Отобразить версию |
Таблица различий использования команд su и sudo:
su
su -
su user01
su - user01
su -s /usr/bin/bash user01
Установить можно отдельным модулем или пакетом:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Модуль, необходимый для установки:
Для установки следует воспользоваться утилитой "Установка и удаление программ".
Пакет, необходимый для установки:
Внимание! Если система загружена в режиме полного сохранения, то внесенные изменения в систему будут сохранены. Если режим загрузки другой, то рекомендуется воспользоваться "Сохранением изменений".