密码有效期会影响 Linux 中锁定的账户吗?

密码有效期会影响 Linux 中锁定的账户吗?

我需要将几个 Linux 帐户的 maxdays 设置更改为 365,并且大多数帐户都被锁定。

密码时效设置是否会影响这些帐户?我担心的是,我会将它们更改为 365(目前许多密码时效为 99999 或 -1),一年后,使用这些密码的某些进程将不再工作或启动。

答案1

看起来,如果使用过期的用户帐户,服务仍然可以启动。例如:

[vagrant@localhost ~]$ sudo usermod --lock --expiredate 1970-02-02 apache

[vagrant@localhost ~]$ sudo chage -l apache
Last password change                                    : Nov 15, 2014
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : Feb 02, 1970
Minimum number of days between password change          : -1
Maximum number of days between password change          : -1
Number of days of warning before password expires       : -1

[vagrant@localhost ~]$ sudo service httpd stop
Stopping httpd:                                            [  OK  ]

[vagrant@localhost ~]$ ps -ef | grep apache
vagrant   4444  2503  0 14:52 pts/0    00:00:00 grep apache

[vagrant@localhost ~]$ sudo service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
                                                           [  OK  ]
[vagrant@localhost ~]$ ps -ef | grep apache
apache    4459  4457  0 14:52 ?        00:00:00 /usr/sbin/httpd
apache    4460  4457  0 14:52 ?        00:00:00 /usr/sbin/httpd
apache    4461  4457  0 14:52 ?        00:00:00 /usr/sbin/httpd
apache    4462  4457  0 14:52 ?        00:00:00 /usr/sbin/httpd
apache    4463  4457  0 14:52 ?        00:00:00 /usr/sbin/httpd
apache    4464  4457  0 14:52 ?        00:00:00 /usr/sbin/httpd
apache    4465  4457  0 14:52 ?        00:00:00 /usr/sbin/httpd
apache    4466  4457  0 14:52 ?        00:00:00 /usr/sbin/httpd
vagrant   4468  2503  0 14:52 pts/0    00:00:00 grep apache

由于仅针对一种产品进行了测试,因此并不能证明这适用于所有软件产品。

最安全的解决方案是通过执行 来检查某些即将过期的用户是否被进程使用ps -ef | grep username。如果某个用户未被进程使用,则设置过期日期似乎是安全的。否则,不要设置过期日期或替换用户。如果本机用户用于运行进程,则后者不是必需的。为什么要为 eg 分配过期日期并决定由其他用户apache运行?httpdapache

相关内容