На этот вопрос уже есть ответ здесь:
Я использую 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
? Будут ли внесены изменения владельца в файлы в моем домашнем каталоге, если я использую это?
sudo su
выполняется su
, как будто Вы были пользователем root. Это означает, оболочка, которая открыта, является оболочкой, данной в записи пользователя в /etc/passwd
в 6-м поле. В случае Вашего системного пользователя root это могло бы быть /bin/fish
. Та оболочка выполняется как оболочка входа в систему, таким образом, емкостно-резистивные сценарии пользователя root выполняются.
, Когда Вы выполняетесь sudo fish
, тогда приложение fish
(оболочка) является исполняемым файлом, как будто Вы были пользователем root, , но в среде вызывающего абонента. Вот почему емкостно-резистивные сценарии fishs выполняются.
Посмотрите полное объяснение в этом ответе: 'sudo su -' по сравнению с 'sudo-i' по сравнению с 'sudo/bin/bash' - когда это имеет значение, который используется, или это имеет значение вообще?
то, Какой необходимо использовать, зависит от Вас:
sudo su
. sudo fish
. там возможность к склепу моя система при помощи рыбы sudo?
Его просто среда, Вы не делаете склепа что-то.
там будут какие-либо изменения владельца, внесенные в файлы в моем корневом каталоге, если я буду использовать это?
Не, если Вы не изменяете что-то вручную.
sudo su
su - изменяют идентификатор пользователя или становятся суперпользователем
sudo bash
удар - Оболочка Границы Снова GNU
sudo fish
, рыба - является умной и удобной для пользователя оболочкой командной строки для OS X, Linux и остальной части семьи.
http://en.wikipedia.org/wiki/Unix_shell#Shell_categories
оболочка Границы Снова (удар) и Дружественная интерактивная оболочка (рыба) оба является типами оболочки.