Desativando a expiração de senha no Linux

3

Eu vejo muitos documentos sugerindo usar chage no Debian e no Ubuntu, mas apt-get update && apt-get install chage não instala o pacote. Por exemplo,

root@ubuntu:~/Desktop# apt-get install chage
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package chage

Descobri que preciso editar /etc/shadow . Como exatamente eu preciso editar a linha root abaixo, para que meu Linux não me peça para alterar a senha em cada login?

root@ubuntu:~# cat /etc/shadow
root:$6$U.dnAQ2f$FV$/aF23Yn.sq1BYVjinlI9251nAarzqGKES18RxadV5bTakcfCNYAMljUwSaQZYV0r4MttHF0SFO7ebq3E1m/:0:0:99999:7:::

Eu editei a linha raiz como deong sugerido

root:$6$U.dnAQ2f$FV$/aF23Yn.sq1BYVjinlI9251nAarzqGKES18RxadV5bTakcfCNYAMljUwSaQZYV0r4MttHF0SFO7ebq3E1m/:0:0:::::

Ele ainda pede uma senha no login.

Também segui as instruções no link :

root@ubuntu:/home# chage -m 7 -M 60 -W 7 -I 7 root
root@ubuntu:/home# chage -m 0 -M 99999 -I -1 root
root@ubuntu:/home# change -l root
-bash: change: command not found
root@ubuntu:/home# chage -l root
Last password change                                    : password must be changed
Password expires                                        : password must be changed
Password inactive                                       : password must be changed
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 99999
Number of days of warning before password expires       : 7

O que eu preciso editar para remover password must be changed ? Eu também fiz chage -I -1 -m 0 -M 99999 -E -1 root , mas isso não ajudou.

    
por sven 02.04.2013 / 16:42

2 respostas

5
$ man 5 shadow

descreve o formato desse arquivo. Citando a partir daí, o quinto campo é a idade máxima da senha.

maximum password age The maximum password age is the number of days after which the user will have to change her password.

After this number of days is elapsed, the password may still be valid. The user should be asked to change her password the next time she will log in.

An empty field means that there are no maximum password age, no password warning period, and no password inactivity period (see below).

If the maximum password age is lower than the minimum password age, the user cannot change her password.

No seu caso, você já acertou o gatilho, então você também precisa se livrar do aviso para alterar imediatamente a senha no próximo login. Consultando novamente a man page ...

date of last password change The date of the last password change, expressed as the number of days since Jan 1, 1970.

The value 0 has a special meaning, which is that the user should change her password the next time she will log in the system.

An empty field means that password aging features are disabled.

Portanto, você também deve excluir o zero do terceiro campo. E uma vez que você tenha desativado isso, não há necessidade do quarto também.

Portanto, você deve poder excluir totalmente o quinto campo para obter o que deseja. Como em

root:$6$U.dnAQ2f$FV$/aF23Yn.sq1BYVjinlI9251nAarzqGKES18RxadV5bTakcfCNYAMljUwSaQZYV0r4MttHF0SFO7ebq3E1m/:::::::

Dito isso, eu geralmente não aconselho a edição direta de arquivos como este, a menos que você tenha 100% de certeza de que sabe o que está fazendo.

Editar: Além disso, parece que o chage faz parte do pacote passwd no Ubuntu, o qual eu teria assumido que você já tinha instalado.

    
por 02.04.2013 / 16:57
-2
sudo chage -d -1 root

desativará a expiração da senha.

    
por 20.04.2018 / 11:49