Коли su і sudo використовують різні паролі?


12

Я вмію запускати все, використовуючи sudo; мій пароль прийнято Але кожен раз, коли я намагаюся зробити suз оболонки, це не вдається:

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

У чому може бути проблема?

Відповіді:


22

suозначає заміну користувача, і якщо він буде викликаний без будь-яких аргументів, ви станете суперпользователем. Тому вам потрібно ввести корінний пароль.

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

Рішення для подібного роду проблем є sudo(" user substitute do "). Це дозволить вам вказати команди, які може викликати, та визначити дозволи. Адже sudoвам не потрібно вводити пароль root, а пароль користувача, який намагається викликати команду sudo.

У деяких дистрибутивах кореневого користувача відключено з міркувань безпеки. Це може бути одним із пояснень того, чому ви не можете використовувати su. У цьому випадку для отримання оболонки з правами root використовуйте sudo -s;-)


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

Ааа, забув це :-) THX за доповнення!
ехокс

@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.- від man sudo. Зазвичай сценарій буде викликаний привілеями root. У цьому різниця.
ехокс

1
@Chris: на жаль, це потрібно, якщо ви хочете успадкувати все кореневе середовище користувача, включаючи його PATH. Між іншим, я щойно з’ясував, що "sudo -s", про який я коментував вище, але тепер його видалили, більше еквівалентно "sudo su", без тире: жодної зміни на CWD, жодних змін до PATH.
Warren Young

7

Команда su без параметрів за замовчуванням дозволить вам стати користувачем root. Це не запит вашого пароля, а кореневий пароль.

Команда sudo завжди запитує ваш пароль.


2
як бічна примітка, якщо ви використовуєте Ubuntu, пароль за замовчуванням заблокований, тому ви можете не знати кореневого пароля help.ubuntu.com/community/RootSudo
phunehehe

3
"Команда sudo завжди запитує ваш пароль." Насправді це можна налаштувати. Він також може бути налаштований для запиту пароля root або пароля цільового користувача (або взагалі без пароля).
sepp2k
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.