Отчеты сетевого трафика в виде нулевых байтов

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

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

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

Вот почему, используя sudo, вы можете войти в root, даже если root не имеет пароля. Если вы попробуете команду 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 / виртуальную машину / live CD / live USB.

Тем не менее, что иногда вы получите сообщение следующего вида:

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

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

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

Чтобы действительно сделать пользователя недоступным, вы должны иметь дело с PAM. Дополнительную информацию см. В разделе man 7 pam и по умолчанию .

1
задан 22 February 2014 в 23:16

0 ответов

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

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