Иногда интересно покопаться немного глубже в том, как все работает, просто чтобы удовлетворить свое любопытство, изучая что-то новое, например, PermitRootLogin. Проверяет ли UID или имя пользователя? Сегодняшний пост SuperUser Q & A посвящен поиску ответа на интересный вопрос читателя.
Сегодняшняя сессия Вопросов и Ответов приходит к нам благодаря SuperUser — подразделению Stack Exchange, объединенной группой веб-сайтов вопросов и ответов.
Вопрос
Читатель SuperUser ge0rg хочет знать, основан ли PermitRootLogin на UID или имени пользователя:
Страница руководства утверждает, что PermitRootLogin :
- Указывает, может ли root войти в систему с помощью ssh (1).
Однако неясно, основана ли эта проверка на имени пользователя ( root ) или UID ( 0 ). Что произойдет, если учетная запись root переименована в admin ? Сможет ли администратор войти в систему, когда PermitRootLogin = no ? Что произойдет, если есть две учетные записи с UID = 0 (т.е. root и admin )? Сможет ли кто-нибудь из них войти в систему?
PermitRootLogin основан на UID или имени пользователя?
Ответ
Участник SuperUser mtak имеет ответ для нас:
Похоже, что проверка выполняется с помощью UID (проверено на OpenSSH_6.7p1 Debian-5 + deb8u3, OpenSSL 1.0.1t 3 мая 2016 г. ):
Установите PermitRootLogin на Off:
Убедитесь, что пользователь с именем admin создан с UID 0 :
Убедитесь, что пользователь может быть использован для входа в систему:
Проверьте, можем ли мы войти в систему, используя SSH:
Если мы установим PermitRootLogin обратно на:
И попробуйте войти:
Есть что добавить к объяснению? Отключить звук в комментариях. Хотите узнать больше ответов от других опытных пользователей Stack Exchange? Ознакомьтесь с полной веткой обсуждения здесь .
Изображение предоставлено: Linux Screenshots / Xmodulo ( Flickr / Xmodulo )