Разница между `sudo su` и `sudo fish`

Я запускаю fish (Friendly Interactive Shell) в качестве стандартного терминала в Ubuntu 14.04, а не bash.

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

Я могу ввести команду sudo su или sudo fish, и обе они предоставят мне права суперпользователя. (Приглашение отображается как root@ubuntu ~#)
Есть ли разница в поведении этих команд?

Единственное, что я мог понять, это то, что sudo su использует конфигурацию fish, расположенную в /root/.config/fish/, а sudo fish использует конфигурацию fish в моем домашнем каталоге /home/uloco/.config/fish.

Есть ли возможность зашифровать мою систему с помощью sudo fish? Будут ли какие-либо изменения владельца файлов в моем домашнем каталоге, если я использую это?


person uloco    schedule 30.01.2015    source источник
comment
также обратите внимание, что у sudo есть опция -s, чтобы предоставить вам оболочку: sudo -s.   -  person Joshua Taylor    schedule 24.03.2015
comment
Возможный дубликат В чем разница между `sudo -i -u user` и `sudo su - user`?   -  person jww    schedule 08.06.2019


Ответы (1)


  • sudo su выполняет su, как если бы вы были пользователем root. Это означает, что открываемая оболочка — это оболочка, указанная в записи пользователя в /etc/passwd в 6-м поле. В случае пользователя root вашей системы это может быть /bin/fish. Эта оболочка выполняется как оболочка входа в систему, поэтому выполняются rc-скрипты пользователя root.

Когда вы выполняете sudo fish, приложение fish (оболочка) выполняется так, как если бы вы были пользователем root, но в среде вызывающего пользователя. Вот почему выполняются rc-скрипты fishs.

Какой из них вы должны использовать, зависит от вас:

  • Вы хотите, чтобы среда root была такой, как если бы вы вошли в систему как root? Затем вызовите sudo su.
  • Вы хотите сохранить свою среду, так как ваши псевдонимы и подобные вещи определены в оболочках rc-scripts? Затем используйте рыбу sudo.

Есть ли возможность зашифровать мою систему с помощью sudo fish?

Это просто среда, вы ничего не шифруете.

Будут ли какие-либо изменения владельца файлов в моем домашнем каталоге, если я использую это?

Нет, если вы не измените что-то вручную.

person Manish Kothari    schedule 24.03.2015
comment
su без - должен использовать imo-оболочку без входа в систему. - person Amos; 01.06.2017