80

Я довольно новичок в терминале Linux, и я не совсем уверен, в чем разница между su с дефисом и su без дефиса, например: su - username против su username .

Я посмотрел в документации, но там, это не было упомянуто. Может ли кто-нибудь помочь мне?

2 ответа2

76

Разница между «-» и "без дефиса" заключается в том, что последний сохраняет существующую среду (переменные и т.д.); первый создает новую среду (с настройками реального пользователя, а не ваших собственных).

https://wiki.archlinux.org/index.php/Su

Дефис имеет два эффекта:

1) переключается из текущего каталога в домашний каталог нового пользователя (например, в /root в случае пользователя root), войдя в систему как этот пользователь

2) изменяет переменные окружения на переменные нового пользователя в соответствии с их ~ /.bashrc. То есть, если первый аргумент su является дефисом, текущий каталог и среда будут изменены на ожидаемые, если новый пользователь фактически вошел в новый сеанс (а не просто принял существующий сеанс).

2

su - запускает оболочку входа в систему для пользователя root. Отличие от обычной оболочки смотрите на этом сайте, например.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .