Коли 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.