Відповіді:
Я думаю sudo -s, що не "краще", це просто інше.
sudo -s
зберігає ваш каталог $ HOME, тому при запуску програм вони використовуватимуть ваші (а не кореневі) конфігураційні файли тощо. Недолік: вони також можуть змінити право власності на ваші файли в каталозі $ HOME, типовим прикладом є .Xauthorityфайл, але я ніколи не відчували проблеми з цим.
sudo su або sudo -i
програми використовуватимуть домашній каталог кореня та його конфігураційні файли. Це може бути більш інтуїтивно зрозумілим, але це також означає, що воно не використовуватиме будь-яку конфігурацію, яку ви могли встановити для себе (псевдоніми, історія башів, ...).
Тому що sudo -sне зміниться змінних вашого середовища, особливо $HOME, які залишаться HOME=/home/USER. Якщо ви користуєтесь sudo suцим, то це змінить, HOME=/rootякі можуть мати негативні побічні ефекти при запуску програм, намагаючись отримати доступ до домашнього каталогу вашого користувача.
Так що в основному це як sudovs gksudoпри запуску графічних програм.
Окрім вже згаданих відмінностей із змінними середовища, я вважаю sudo suдурними та марними, тому що ви просите sudoзапустити suяк root, і попросите його запустити оболонку як корінь. Навіщо просити програму попросити програму дати вам кореневу оболонку, коли ви можете просто першою програмою дати вам цю оболонку? Це має значення в будь-якому практичному сенсі? Ні, я просто педантичний.
sudo suroot, так, просто перейдіть sudo -i, наприклад. Але це дійсно допомагає , якщо ви хочете стати іншим користувачем: sudo su - myuser.
sudo -iзміниться в /rootкаталог і sudo suзалишиться в каталозі, який ви є.
sudo -u myuser.
Я б не погоджувався з іншими відповідями при розгляді випадків, коли ви хочете увійти як користувач, який не має оболонки. Це дуже поширений випадок із користувачами, призначеними для послуг.
Використання "sudo su" запустить оболонку, вказану користувачем. Однак у випадку користувача, призначеного для серверного процесу, оболонка є / usr / bin / false і реєстрація не вдасться. Замість цього слід ввести як:
sudo -sHu <server-user>
це ввійде до вас та перейде на його домашній шлях, навіть якщо користувачеві не призначено оболонки
sudo -iабоsudo suце краще, ніжsudo -sіз зазначених тут причин: ubuntuforums.org/showpost.php?p=6188826&postcount=4 Також: це можливий дублікат сайту superuser.com/questions/29/…