У меня проблемы с командой su. Я знаю свой пароль и набираю его правильно, но su
указывает на ошибку аутентификации.
Поэтому я проверил в Интернете, а затем перешел в режим восстановления и изменил пароль моего имени пользователя на тот, который я вводил ранее.
Даже теперь, введя тот же пароль на su
, я получаю ошибку аутентификации.
Подскажите, пожалуйста, что я делаю не так?
su
запрашивает пароль учетной записи, в которую вы пытаетесь войти. Его использование (упрощенное):
su username
При пропуске username
имя пользователя по умолчанию равно root
. Поскольку пароль пользователя root по умолчанию отключен в Ubuntu, пароль не будет действительным. Предпочтительный способ запуска команд root не через оболочку su, а с помощью sudo, как в:
sudo mount /dev/sdb1 /mnt
В моем случае это было потому, что запись для этого пользователя отсутствовала в /etc/shadow
.
Я скопировал на другой тестовый сервер все записи в /etc/passwd
с идентификатором выше 1000 вместе с /etc/group
, но забыл /etc/shadow
. Поэтому каждый раз, когда я делал su
с любым из этих пользователей, я получал эту ошибку. После добавления отсутствующей записи в /etc/shadow
ошибка перестает появляться.
Например, /etc/shadow
:
myusername:*:16992:0:99999:7:::
. su
запрашивает пароль root.
Вы можете установить пароль пользователя root, когда вы являетесь пользователем root (указав sudo su
, указав, что вы находитесь в файле sudoers
), введя команду passwd
и установив новый пароль.
Это не рекомендуется по разным причинам.
когда вам нужно войти в систему как один из ваших неидентификационных идентификаторов пользователя, скажите git
(не имеет pwd)
su - git
Password:
su: Authentication failure
РЕШЕНИЕ - используйте этот синтаксис для входа в систему в качестве идентификатора пользователя git
Я столкнулся с операционной системой 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
после.
Учетная запись root
в Ubuntu по умолчанию отключена. Это означает, что у него нет пароля (который отличается от того, что имеет пустой пустой пароль ), и никакая попытка аутентификации с паролем root не будет успешной. Поэтому su
или su -
не будут работать.
Вместо этого используйте sudo
для запуска команды от имени root:
sudo command...
Если вы хотите получить оболочку root, подобную su
, запустите:
sudo -s
Если вам нужна корневая оболочка, подобная su -
, запустите:
sudo -i
su
запрашивает пароль пользователя root. Так как Ubuntu по умолчанию не устанавливает пароль root, вы не можете использовать его, чтобы стать пользователем root.
Вместо этого, чтобы стать пользователем root, используйте sudo -i
со своим личным паролем.