Назад | Перейти на главную страницу

Влияет ли устаревание пароля на заблокированные учетные записи в Linux?

У меня есть требование изменить настройку 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?