Когда su и sudo используют разные пароли?


12

Я могу запустить все, используя sudo; мой пароль принят. Но всякий раз, когда я пытаюсь сделать это suиз оболочки, она терпит неудачу с:

su: неверный пароль

В чем может быть проблема?

Ответы:


22

suозначает замену пользователя, и если он вызывается без каких-либо аргументов, вы станете суперпользователем. Поэтому вы должны ввести пароль root.

Это не совсем удобно, если многим людям нужно использовать команды для системного администрирования или подобные вещи с расширенными правами пользователя. Вы просто не хотите, чтобы люди обладали неограниченными правами, используя один и тот же пароль root.

Решением для такого рода проблем является sudoзамещающий пользователь делает »). Это позволит вам указать команды, которые кто-то может вызвать, и определить права доступа. Для sudoвас не придется вводить пароль суперпользователя, но пароль пользователя , который пытается выполнить команду Судо.

В некоторых дистрибутивах пользователь root отключен по соображениям безопасности. Это может быть одним из объяснений, почему вы не можете использовать su. В этом случае для получения оболочки с привилегиями root используйте sudo -s;-)


5
Этот последний бит рекомендуется делать так, чтобы sudo su -тире означала установку среды в соответствии с профилем входа пользователя (в данном случае root). Это обычно дает небольшое повышение безопасности PATH, но все еще не защищает отecho hi > /dev/my_critical_filesystem
msw

аааа забыл этот :-) спасибо за добавление!
echox

@echox: Тогда есть ли разница между $ 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. В этом разница.
echox

1
@Chris: к сожалению, это необходимо, если вы хотите наследовать всю среду пользователя root, включая его PATH. Между прочим, я только что узнал, что "sudo -s", который я прокомментировал выше, но теперь удалил, больше эквивалентен "sudo-su", без черты: без изменений CWD, без изменений PATH.
Уоррен Янг

7

Команда su без опций по умолчанию позволит вам стать пользователем root. Он спрашивает не ваш пароль, а пароль root.

Команда sudo всегда запрашивает ваш пароль.


2
Примечание: если вы используете Ubuntu, по умолчанию пароль root заблокирован, поэтому вы можете не знать пароль root help.ubuntu.com/community/RootSudo
phunehehe

3
«Команда sudo всегда запрашивает ваш пароль». На самом деле это настраивается. Он также может быть настроен на запрос пароля root или пароля целевого пользователя (или вообще без пароля).
2010 г.
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.