Запретить пользователю Linux изменять свой пароль в SSH

3884
Vreality

Как я могу запретить пользователям изменять свои пароли? Я все еще хочу иметь возможность изменять пароли от имени root при необходимости, но не дать пользователю сменить пароль.

4
[Этот вопрос] (http://stackoverflow.com/questions/402615/how-to-restrict-ssh-users-to-a-predefined-set-of-commands-after-login) может быть полезен jackcogdill 11 лет назад 0
Chmod команда passwd, чтобы только вы могли выполнить ее Mawg 11 лет назад 0
Почему вы хотите снизить безопасность пользователей? mdpc 11 лет назад 0
@ mdpc нет. Я планирую периодически менять пароль, но мне нужно, чтобы он менялся, потому что это общая учетная запись, и я не хочу, чтобы кто-то менял пароль без уведомления других людей, имеющих доступ. Vreality 11 лет назад 0

2 ответа на вопрос

6
MarJamRob

Есть ли chmod go-rx /usr/bin/passwdнормальные пользователи могут не работать PASSWD. Если вы хотите, чтобы некоторые пользователи могли, вы можете поместить их в специальную группу, возможно.

Будет ли это все еще работать? `cp / usr / bin / passwd. ; chmod + x ./passwd; . / Passwd` f.ardelian 10 лет назад 0
@ f.ardelian Дело в том, что у `passwd` есть специальная магия, называемая" setuid "- это означает, что когда кто-то запускает файл, он запускает его как его владельца (а именно, root). Это позволяет обычным пользователям измените файл `/ etc / shadow`, содержащий пароли. Если вы скопируете файл в домашний каталог пользователя, он больше не будет установлен, и поэтому больше не будет автоматически запускаться с привилегиями root. Чтобы узнать больше, посмотрите информацию о «разрешениях Unix» и «setuid». JamesTheAwesomeDude 10 лет назад 2
@JamesTheAwesomeDude Спасибо, это было очень информативно! f.ardelian 10 лет назад 1
4
GingerPlusPlus

passwd -n 9999 user will prevent user from changing his password for almost 274 years.

If you want to have passwordless user, which is unable to change his password, open /etc/shadow as root, find the line which begins with the name of the user, and change the content between first and second colon to U6aMy0wojraho.
(source: https://help.ubuntu.com/community/PasswordlessGuestAccount)