В чем разница между учетной записью root и смоделированными корнями?

Итак, если я отключу свою корневую учетную запись с помощью sudo passwd -dl root, у меня все равно будет концептуальный доступ к sudo {su,bash} или sudo -{s,i}, чем отличаются удаленные права от корневой учетной записи?

Я знаю разницу между каждым из повышений или оболочек, я ищу глубокую разницу между учетной записью и повышенными правами?

4
задан 4 December 2012 в 18:52

2 ответа

Нет разницы. sudo меняет идентификатор пользователя на root, независимо от того, есть ли у учетной записи root пароль.

Разница между sudo -s и sudo -i заключается в том, хранятся ли переменные окружения (такие как $ HOME) в ваших текущих значениях (поэтому ~ все еще указывает на ваш домашний каталог) или сбрасываются в значения root получит, если он войдет в систему нормально.

0
ответ дан 4 December 2012 в 18:52

passwd -dl root не отключает пользователя root. Это удаляет и "блокирует" пароль, т.е. это устанавливает бессмысленный хэш пароля.

Наличие учетной записи с заблокированным паролем означает, что Вы не можете войти в пользователя, использующего пароль. su, вход в систему и lightdm не позволят Вам входить в систему как корень, потому что по умолчанию они спрашивают Вас пароль пользователя.

Однако sudo работает по-другому: примерно, это имеет список пользователей, которым разрешают выполнить sudo (пользователей в этом списке называют sudoers), и, по умолчанию, просит пароль пользователя, запустил sudo.

Поэтому, с помощью sudo, можно войти в систему в корень, даже если корень не имеет пароля. Если Вы пробуете команду su root, Вы будете видеть, что не сможете войти в систему, потому что это попросит пароль, чтобы Вы не могли обеспечить.

su, вход в систему, lightdm, sudo, ssh и другие являются всеми программами, которые можно использовать для входа в систему как пользователь, но они обрабатывают аутентификацию по-разному. Важно не перепутать метод аутентификации с действием входа в систему.

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

  • man passwd
  • man su
  • man sudo
  • man login

В частности, man passwd содержит этот абзац, который Вы могли бы найти интересным:

   -l, --lock
       Lock the password of the named account. This option disables a password by
       changing it to a value which matches no possible encrypted value (it adds a
       ´!´ at the beginning of the password).

       Note that this does not disable the account. The user may still be able to
       login using another authentication token (e.g. an SSH key). To disable the
       account, administrators should use usermod --expiredate 1 (this set the
       account's expire date to Jan 2, 1970).

       Users with a locked password are not allowed to change their password.

Так, для фактического отключения пользователя root, необходимо работать usermod --expiredate 1 root. В то время как экспериментирование всегда является хорошей вещью, помните, что эта команда может быть действительно опасной и сделает Ваше поле неприменимым. Так, если Вы хотите попробовать его, убедиться знать, как восстановить Вашу систему или (лучшее) использование chroot/linux контейнерная/виртуальная машина / живой CD / живой USB.

Тем не менее Вы заметите, что иногда будете получать сообщение как это:

Your account has expired; please contact your system administrator
su: Authentication failure

Однако существуют другие способы использовать истекшие учетные записи. Например, sudo игнорирует дату истечения срока целевого пользователя (но проверяет дату истечения срока sudoer). Также su игнорирует его, но только, когда выполнено как корень:

Your account has expired; please contact your system administrator
su: Authentication failure
(Ignored)

Для реального создания пользователя недоступным необходимо иметь дело с PAM. Посмотрите man 7 pam и его раздел SEE ALSO для получения дополнительной информации.

3
ответ дан 4 December 2012 в 18:52

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

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