команда su + ошибка аутентификации

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

Поэтому я проверил в Интернете, а затем перешел в режим восстановления и изменил пароль моего имени пользователя на тот, который я вводил ранее.

Даже теперь, введя тот же пароль на su, я получаю ошибку аутентификации.

Подскажите, пожалуйста, что я делаю не так?

33
задан 7 March 2017 в 16:32

7 ответов

su запрашивает пароль учетной записи, в которую вы пытаетесь войти. Его использование (упрощенное):

su username

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

sudo mount /dev/sdb1 /mnt
0
ответ дан 7 March 2017 в 16:32

В моем случае это было потому, что запись для этого пользователя отсутствовала в /etc/shadow.

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

Например, /etc/shadow:

,
myusername:*:16992:0:99999:7:::
.
0
ответ дан 7 March 2017 в 16:32

su запрашивает пароль root.

Вы можете установить пароль пользователя root, когда вы являетесь пользователем root (указав sudo su, указав, что вы находитесь в файле sudoers), введя команду passwd и установив новый пароль.

Это не рекомендуется по разным причинам.

0
ответ дан 7 March 2017 в 16:32

когда вам нужно войти в систему как один из ваших неидентификационных идентификаторов пользователя, скажите git (не имеет pwd)

su - git
Password: 
su: Authentication failure

РЕШЕНИЕ - используйте этот синтаксис для входа в систему в качестве идентификатора пользователя git

[ 111]
0
ответ дан 7 March 2017 в 16:32

Я столкнулся с операционной системой Minibian, в которой бит setuid отсутствовал в /bin/su, что вызвало эту ошибку, даже если пароль учетной записи root был включен.

В Linux единственный способ стать пользователем root - это запустить файл setuid-root. Когда вы запускаете sudo или su, их бит setuid устанавливается, поэтому эффективный пользователь процесса становится 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 после.

0
ответ дан 7 March 2017 в 16:32

Учетная запись root в Ubuntu по умолчанию отключена. Это означает, что у него нет пароля (который отличается от того, что имеет пустой пустой пароль ), и никакая попытка аутентификации с паролем root не будет успешной. Поэтому su или su - не будут работать.

Вместо этого используйте sudo для запуска команды от имени root:

sudo command...

Если вы хотите получить оболочку root, подобную su, запустите:

sudo -s

Если вам нужна корневая оболочка, подобная su -, запустите:

sudo -i
0
ответ дан 7 March 2017 в 16:32

su запрашивает пароль пользователя root. Так как Ubuntu по умолчанию не устанавливает пароль root, вы не можете использовать его, чтобы стать пользователем root.

Вместо этого, чтобы стать пользователем root, используйте sudo -i со своим личным паролем.

0
ответ дан 7 March 2017 в 16:32

Другие вопросы по тегам:

Похожие вопросы: