Ответы:
su
означает замену пользователя, и если он вызывается без каких-либо аргументов, вы станете суперпользователем. Поэтому вы должны ввести пароль root.
Это не совсем удобно, если многим людям нужно использовать команды для системного администрирования или подобные вещи с расширенными правами пользователя. Вы просто не хотите, чтобы люди обладали неограниченными правами, используя один и тот же пароль root.
Решением для такого рода проблем является sudo
(« замещающий пользователь делает »). Это позволит вам указать команды, которые кто-то может вызвать, и определить права доступа. Для sudo
вас не придется вводить пароль суперпользователя, но пароль пользователя , который пытается выполнить команду Судо.
В некоторых дистрибутивах пользователь root отключен по соображениям безопасности. Это может быть одним из объяснений, почему вы не можете использовать su
. В этом случае для получения оболочки с привилегиями root используйте sudo -s
;-)
$ script
и $ sudo script
? Пользователь одинаков в обоих случаях.
sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file.
- от человека судо. Обычно скрипт вызывается с правами root. В этом разница.
Команда su без опций по умолчанию позволит вам стать пользователем root. Он спрашивает не ваш пароль, а пароль root.
Команда sudo всегда запрашивает ваш пароль.
sudo su -
тире означала установку среды в соответствии с профилем входа пользователя (в данном случае root). Это обычно дает небольшое повышение безопасности PATH, но все еще не защищает отecho hi > /dev/my_critical_filesystem