$cat /etc/passwd |grep -i root
root:x:0:0:root:/root:/bin/bash
$sudo cat /etc/shadow |grep -i root
root:!:17179:0:99999:7:::
Во втором поле теневого файла !
означает, что пользователь root не может войти в систему, но почему я могу войти в систему как пользователь root sudo su
?
Почему я не могу войти в систему как пользователь root su root
или su -
?
permissions
sudo
passwd
shadow
Sinoosh
источник
источник
Ответы:
!
Вshadow
зашифрованном занесении в поле пароля, пароль не может проверить подлинность против него. Отman shadow
:Как сказано в руководстве, это не означает, что вы не можете войти в систему как root. Это просто означает, что вы не можете войти в систему как root, используя пароль для учетной записи root. (Вы можете войти в систему как root через SSH, используя ключи SSH, например, если вы настроили его ранее, даже если учетная запись заблокирована.)
sudo
обычно проходит аутентификацию с вашим паролем, а не root. Это может быть изменено путем установки одного изtargetpw
,rootpw
илиrunaspw
вsudoers
. Если вы установите один из этих параметров и попытаетесь использовать пароль, когда пароль заблокирован, произойдет сбой .источник
Теперь давайте посмотрим на команды соответственно:
sudo su
:sudo
запускает командуsu
(замещающий пользователь) с привилегиями суперпользователя, поэтому, даже если он/etc/shadow
говорит или имеет,root:!:17179:0:99999:7:::
он все равно будет запускать команды с привилегиями суперпользователяsu -
илиsu root
:/etc/shadow
файла не может войти в систему, поэтому использование этих команд не будет работать. Если вы хотите, чтобы они работали, то учетная запись root должна быть разблокирована путем предоставления ей пароля.Резюме:
su -
0rsu root
переключается на пользователя root , не существует, так что это не может произойти, ноsudo su
запускает команду switch сroot
привилегиями, поэтому в этом случае она пойдет, если вы находитесь вsudo
группе. В этом случае вы на самом деле не входите в систему как root, просто действуете как root .Источник: В чем разница между «su -» и «su root»?
источник
sudo su
не видит поля пропуска в теневом файле?sudo su
- неправильный способ бегатьsudo sh
илиsudo bash
.