Torna a raiz a única capaz de alterar as senhas de todos os outros usuários

7

Por motivos de segurança, quero que apenas a raiz altere senhas para todos os outros usuários. Isso será alcançado se eu definir / usr / bin / passwd para 700. Agora, se o vencimento da senha estiver habilitado ou o primeiro login estiver habilitado, quando um usuário fizer login com senha bem-sucedida ou expirada, será solicitado a escolher uma nova senha. Eu quero desativar.

OUTPUT:

login as: test
Using keyboard-interactive authentication.
Password:
Using keyboard-interactive authentication.
Password change requested. Choose a new password.
Enter current password:

Saída esperada:

login as: test
Using keyboard-interactive authentication.
Password:
Using keyboard-interactive authentication.
Your password has expired. Please contact root to change your password.

Eu quero qualquer trabalho para conseguir isso.

    
por Krithik 17.03.2016 / 08:19

2 respostas

17

Existe uma opção para isso:

passwd -n MIN <login-name>

não permitirá alterar a senha por MIN dias.

De man passwd

 -n, --mindays MIN_DAYS
       Set the minimum number of days between password changes to MIN_DAYS. A
       value of zero for this field indicates that the user may change his/her
       password at any time.

Coloque em 9999 e você está definido para 27 anos.

Embora não seja documentado, parece que -1 também funciona como um valor. Como isso geralmente é um método para desativar algo permanentemente, eu diria que ele fará o mesmo aqui. Exemplo usando -1 :

~$ sudo passwd -n -1 rinzwind
passwd: password expiry information changed.
~$ passwd rinzwind
Changing password for rinzwind.
(current) UNIX password: 
Enter new UNIX password: 
Retype new UNIX password: 
Password unchanged
Enter new UNIX password: 
Retype new UNIX password: 
Password unchanged
Enter new UNIX password: 

A senha é solicitada, mas nunca foi alterada.

  

Por motivos de segurança, quero que apenas a raiz altere senhas para todos os outros usuários.

Você está decidindo quais são as senhas e criará um risco de segurança. Vamos supor que você escolha uma senha aleatória com números, letras, pelo menos um caractere especial, talvez uma maiúscula. Como Gsi ^ 771H. Essas senhas são muito muito difíceis de lembrar e seus usuários vão escrevê-las. Em um papel, em um arquivo de texto ou pior ainda e salvá-los no Gmail como um conceito.

As melhores senhas são as frases que um usuário pode lembrar e essas podem ser muito longas. Uma senha como "lastyeariwenttolondonformyholiday" é muito superior a qualquer coisa que você possa impor, mesmo que não tenha números, letras maiúsculas ou caracteres especiais. Esse usuário se lembrará disso, pois está relacionado a algo que ele fez e será muito difícil para a força bruta. A única coisa que ele tem que fazer é visitar Londres para suas férias todos os anos a partir de agora;)

Eduque seus usuários e deixe que eles escolham suas próprias senhas. Se você precisa ter certeza de que sua senha é boa, explique a ela que você quer configurá-la junto com ela. Você pode, no entanto, criar regras sobre senha: se você definir uma regra que a senha precisa ter 15 caracteres e dizer-lhes que este é o caso para que eles escolham uma frase em vez de letras aleatórias, eles entenderão e esperamos concordar.

Ou ...

    
por Rinzwind 17.03.2016 / 08:53
0

Você pode usar o PAM . No arquivo /etc/pam.d/common-password :

password optional pam_echo.so Only root can change passwords...
password sufficient pam_rootok
password required pam_deny.so

Quando você executa o comando passwd :

user@ubuntu1510:~$ passwd
Only root can change passwords...
Changing password for user.
(current) UNIX password: 
passwd: Authentication token manipulation error
passwd: password unchanged
    
por Jose Raul Barreras 17.03.2016 / 22:36