Почему я получаю сообщение «Ошибка аутентификации» при использовании команды «su»?

Убунту 11

В мире Unix и Linux команда su — это мощный инструмент, позволяющий пользователям переключаться на другую учетную запись пользователя в той же системе. Однако это может быть весьма неприятно, когда при использовании этой команды вы получаете сообщение «Ошибка аутентификации». В этой статье будут рассмотрены возможные причины этой проблемы и способы их решения.

Если вы получаете сообщение «Ошибка аутентификации» с помощью команды «su», это может быть вызвано одной из следующих причин: пароль root не установлен, учетная запись root отключена или пароль не установлен, отсутствует бит setuid в /bin/su или запись пользователя отсутствует в /etc/shadow. Чтобы решить эту проблему, вы можете использовать команду «sudo» вместо «su» или проверить и устранить конкретную причину, упомянутую в статье.

Понимание команды su

Прежде чем мы углубимся в причины сбоя аутентификации, важно понять, что делает команда su. Команда su, сокращение от «заменить пользователя» или «переключить пользователя», позволяет вам перейти на другую учетную запись пользователя без выхода из системы и повторного входа в нее. Вы можете использовать ее следующим образом:

являются – [username]

В этой команде [username] это учетная запись, на которую вы хотите переключиться. Если вы запустите su без указания имени пользователя, по умолчанию будет использоваться пользователь root.

Распространенные причины «Ошибки аутентификации» с помощью su

1. Не установлен корневой пароль

Одной из наиболее распространенных причин сообщения «Ошибка аутентификации» является отсутствие установленного пароля root. По умолчанию Ubuntu и некоторые другие дистрибутивы Linux не устанавливают пароль root во время установки. Это означает, что вы не можете переключиться на пользователя root с помощью su.

Вместо этого эти системы используют команду sudo, что означает «суперпользователь сделать». Эта команда позволяет вам выполнять команды с правами администратора, используя ваш собственный пароль. Чтобы получить root-оболочку, вы можете использовать следующую команду:

судо -я

Опция -i (имитировать первоначальный вход в систему) запускает оболочку, указанную в записи базы данных паролей пользователя root, в качестве оболочки входа. Это означает, что файлы ресурсов, специфичные для входа в систему, считываются оболочкой.

2. Учетная запись root отключена или пароль не установлен.

В некоторых случаях учетная запись root может быть отключена или пароль не установлен. Это еще одна причина, по которой вы можете получить сообщение «Ошибка аутентификации» при использовании su. Опять же, решение здесь — использовать sudo для запуска команд от имени пользователя root.

3. Отсутствует бит setuid в /bin/su.

Бит setuid — это бит разрешения, который позволяет пользователю запускать файл с разрешениями владельца файла. Если этот бит отсутствует в файле /bin/su, вы можете получить сообщение «Ошибка аутентификации». Вы можете проверить, установлен ли бит setuid, используя следующую команду:

ls -l /bin/su

Если установлен бит setuid, в строке разрешения вы увидите букву «s». Если он не установлен, вы увидите «x». Чтобы это исправить, вы можете установить бит setuid с помощью следующей команды:

sudo chmod u+s /bin/su

В этой команде chmod изменяет права доступа к файлам или каталогам. Опция u+s устанавливает бит setuid.

4. В файле /etc/shadow отсутствует запись пользователя.

В файле /etc/shadow хранится действительный пароль в зашифрованном формате для учетной записи пользователя с дополнительными свойствами, связанными с паролем пользователя. Если в этом файле отсутствует запись пользователя, это может привести к сбою аутентификации.

Чтобы добавить недостающую запись, вам нужно будет отредактировать файл /etc/shadow. Однако делать это следует с осторожностью, поскольку неправильные изменения могут вызвать серьезные проблемы в системе. Перед внесением каких-либо изменений рекомендуется сделать резервную копию файла.

Заключение

В заключение, есть несколько причин, по которым вы можете получить сообщение «Ошибка аутентификации» при использовании команды su. Понимание этих причин и знание способов их устранения могут помочь вам эффективно использовать команду su. Помните, что команда sudo является предпочтительным методом запуска команд от имени пользователя root во многих дистрибутивах Linux.

Команда su позволяет вам переключиться на другую учетную запись пользователя, включая пользователя root, а команда sudo позволяет запускать команду с правами администратора. Основное отличие состоит в том, что для su требуется пароль целевого пользователя, а для sudo — ваш собственный пароль.

Чтобы переключиться на пользователя root с помощью sudo, вы можете использовать следующую команду: sudo -i. Это даст вам root-оболочку, позволяющую выполнять команды с правами администратора.

Да, вы можете использовать su для переключения на любую учетную запись пользователя в системе, если у вас есть пароль для этой учетной записи. Однако имейте в виду, что для переключения на другую учетную запись пользователя могут потребоваться права администратора.

Вы можете проверить, установлен ли бит setuid для /bin/su, выполнив следующую команду: ls -l /bin/su. Если установлен бит setuid, в строке разрешения вы увидите букву «s». Если он не установлен, вы увидите «x».

Если запись о пользователе отсутствует в файле /etc/shadow, вам необходимо будет добавить недостающую запись. Однако редактирование этого файла следует выполнять с осторожностью, поскольку неправильные изменения могут вызвать серьезные проблемы в системе. Перед внесением каких-либо изменений рекомендуется сделать резервную копию файла.

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *