Есть ли разница между "sudo su root" и "sudo su - root"? Я знаю, что -
это делает оболочку оболочкой входа, но какая разница? Различаются ли между ними права доступа или происходят какие-либо изменения в переменной окружения?
решение1
Запускаются оболочки входа ~/.profile
(или эквиваленты, специфичные для оболочки: .login
для *csh
, .bash_profile
, .zshprofile
, и т. д.). Без -
, будет запущена только интерактивная конфигурация, специфичная для оболочки ( .cshrc
, .bashrc
, .zshenv
;ничегодля ash
или их производных, или для ksh
если не $ENV
установлено должным образоми sudo
распространяет его). Также обратите внимание, что sudo
можно настроить способ установки $HOME
, который определяет, будут ли использоваться dotfiles целевой учетной записи или ваши собственные (производные Debian по умолчанию используют первый, OS X — второй) — но использование su
вместе с ним во всех случаях переопределит это для целевой учетной записи.