su команда + помилка аутентифікації


33

У мене проблеми з командою su. Я знаю свій пароль і ввожу його правильно, але suвказує на збій автентифікації.

Тому я перевірив в Інтернеті, а потім перейшов у режим відновлення і змінив пароль свого імені користувача на те, що я вводив раніше.

Навіть зараз введення того ж пароля на suмені дає помилку аутентифікації.

Підкажіть, будь ласка, що я роблю неправильно ??

Відповіді:


43

suзапитує пароль для кореня. Оскільки Ubuntu за замовчуванням не встановлює корінний пароль, ви не можете використовувати його, щоб стати root.

Натомість, щоб стати root, використовуйте sudo -iсвій особистий пароль.


2
Я визнаю, що я схильний до використання, sudo bashале ваш заклик змушує мене захотіти su sudoабо, можливо, використати su su sudo.
Джеррі Ашер

5
sudo suне є рекомендованим способом - використовуйте sudo -iзамість цього.
Гунтберт

Спробуйте натомість youtube.com/watch?v=axDObUgsuZQ , це допоможе вам вирішити помилку помилки автентифікації на su root
vijay

12

suзапитує пароль облікового запису, на який ви намагаєтесь увійти. Це використання (спрощено):

su username

Під час пропуску usernameза замовчуванням ім'я користувача root. Оскільки кореневий пароль відключений за умовчанням на Ubuntu, жоден пароль не буде дійсним. Кращий спосіб запуску кореневих команд не через оболонку su, а за допомогою sudo, як у:

sudo mount /dev/sdb1 /mnt

9

Обліковий rootзапис в Ubuntu вимкнено за замовчуванням. Це означає, що у нього немає пароля (який відрізняється від пустого пароля) і спроба автентифікації з паролем root не вдасться. Тому suабо su -не вийде.

Замість цього використовуйте sudoдля запуску команди як root:

sudo command...

Якщо ви хочете, як у вас є коренева оболонка su, запустіть:

sudo -s

Якщо ви хочете, як у вас є коренева оболонка su -, запустіть:

sudo -i

2

коли вам потрібно увійти в систему, як скаже один із користувачів, які не входять в систему git(не має pwd)

su - git
Password: 
su: Authentication failure

РІШЕННЯ - використовуйте цей синтаксис для входу як userid git

sudo su - git

1

su запитує пароль для кореня.

Ви можете встановити пароль root під час використання root (надавши sudo su, якщо ви перебуваєте у sudoersфайлі), давши команду passwdта встановивши новий пароль.

Однак це не рекомендується з різних причин.


0

Я наткнувся на ОС, Minibian, де відсутній встановлений біт /bin/su, що спричинило цю помилку, навіть якщо пароль кореневого облікового запису був увімкнений.

В Linux єдиний спосіб стати root - це виконати встановлений root-файл. Коли ви запускаєте sudoабо встановлюється suїх встановлений біт, тож ефективний користувач процесу стає root, тоді вони виконують аутентифікацію вже як root! Якщо це не вдається, вони виходять.

У будь-якому випадку, ось симптоми і виправлення:

$ su
Password:
su: authentication failure
$ sudo su
# ls -l /bin/su
-rwxr-xr-x 1 root root 31092 Jun  5  2012 /bin/su
# chmod u+s /bin/su
# ls -l /bin/su
-rwsr-xr-x 1 root root 31092 Jun  5  2012 /bin/su

Зверніть увагу на різницю: rwxдо, rwsпісля.


Я насправді не бачу, як помилка в абсолютно іншому дистрибутиві Linux пов'язана з Ubuntu ...?
Байт командир

0

У моєму випадку це було тому, що запис для цього користувача відсутній у /etc/shadow.

Я скопіював на інший тестовий сервер усі записи /etc/passwdз ідентифікатором вище 1000 разом із, /etc/groupале забув /etc/shadow. Тому щоразу, коли я робив suз ким-небудь з цих користувачів, я отримував би цю помилку. Після додавання відсутнього запису в /etc/shadowпомилці перестане відображатися.

Наприклад /etc/shadow:

myusername:*:16992:0:99999:7:::
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.