У меня есть требование изменить настройку maxdays для нескольких учетных записей Linux на 365, и большинство учетных записей заблокировано.
Влияют ли настройки устаревания пароля на эти учетные записи? Меня беспокоит то, что я изменю их на 365 (где в настоящее время многие из них - 99999 или -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
. Если пользователь не используется процессом, кажется безопасным установить дату истечения срока действия. В противном случае не устанавливайте дату истечения срока действия и не заменяйте пользователя. В последнем нет необходимости, если для запуска процессов используются собственные пользователи. Почему следует назначать срок годности, например, apache
и решаем бежать httpd
другим пользователем, чем apache
?