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

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

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

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

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

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

2 ответа

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

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

См. Полное объяснение в этом ответе: "sudo su -" против "sudo -i" против "sudo /bin/bash" - когда имеет значение, какой используется, или имеет значение вообще?

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

  • Хотите ли вы среду root, как будто вы входите в систему как root? Тогда позвони sudo su,
  • Вы хотите сохранить свое окружение, так как ваши псевдонимы и подобные вещи определены в оболочках rc-scritps? Тогда используйте sudo fish,

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

Это просто среда, ты ничего не склеиваешь.

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

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

sudo su

su - изменить идентификатор пользователя или стать суперпользователем

sudo bash

bash - GNU Bourne-Again Sheell

sudo fish

fish - это умная и удобная оболочка командной строки для OS X, Linux и всего остального семейства.

введите описание здесь

http://en.wikipedia.org/wiki/Unix_shell

Оболочка Bourne-Again (bash) и дружественная интерактивная оболочка (fish) являются типами оболочек.

Другие вопросы по тегам