RHEL6.4で処理の実行中にパスワードの有効期限が切れたらどうなるか試してみました

職場でパスワードの有効期限を設定することになり、
実行中のプロセスのパスワード有効期限が切れたらいったいどうなるのか?
という質問が出たのでテストしてみました。

1.環境
OS:RedHatEL6.4

2.テスト方法
一般ユーザ(user5)で3秒毎にファイルを作成し続ける無限ループのbashスクリプトを実行中に
rootユーザで一般ユーザ(user5)のパスワード期限を短縮変更してパスワード期限オーバーさせる。
この時に処理が停止するのか続行されたままなのかを確認する。

3.テスト用スクリプト作成

user5 でログイン

vi loop_test.sh

#!/bin/bash

while true;do
 touch test.`date "+%Y%m%d_%H%M%S"`;sleep 3
done
chmod 775 loop_test.sh

4.テスト用スクリプトの実行

./loop_test.sh

5.rootユーザでの操作
root ユーザでログイン

[root@rhel64 ~]#  chage -l user5
Last password change                                    : Mar 20, 2021
Password expires                                        : Jun 18, 2021
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 90
Number of days of warning before password expires       : 7
[root@rhel64 ~]#

プロセスの稼働状況を確認
[root@rhel64 ~]# ps -ef | grep user5
root      1543  1356  0 13:58 ?        00:00:00 sshd: user5 [priv]
user5     1547  1543  0 13:58 ?        00:00:00 sshd: user5@pts/1
user5     1548  1547  0 13:58 pts/1    00:00:00 -bash
user5     1638  1548  0 14:03 pts/1    00:00:00 /bin/bash ./loop_test.sh
user5     1855  1638  0 14:06 pts/1    00:00:00 sleep 3
root      1857  1519  0 14:06 pts/0    00:00:00 grep user5

プロセス実行中にパスワード期限を変更
chage -M 10 user5

[root@rhel64 ~]# chage -l user5
Last password change                                    : Mar 20, 2021
Password expires                                        : Mar 30, 2021
Password inactive                                       : never
Account expires                                         : never
Minimum number of days between password change          : 0
Maximum number of days between password change          : 10
Number of days of warning before password expires       : 7
[root@rhel64 ~]#

プロセスが稼働中のままであることを確認
[root@rhel64 ~]# ps -ef | grep user5
root      1543  1356  0 13:58 ?        00:00:00 sshd: user5 [priv]
user5     1547  1543  0 13:58 ?        00:00:00 sshd: user5@pts/1
user5     1548  1547  0 13:58 pts/1    00:00:00 -bash
user5     1638  1548  0 14:03 pts/1    00:00:00 /bin/bash ./loop_test.sh
user5     1945  1638  0 14:08 pts/1    00:00:00 sleep 3
root      1947  1519  0 14:08 pts/0    00:00:00 grep user5
[root@rhel64 ~]#

無限ループスクリプトが実行中でファイルが作成され続けていることを確認
[root@rhel64 ~]# ls -la /home/user5
total 32
drwx------. 2 user5 user5 4096 Apr 10 14:09 .
drwxr-xr-x. 8 root  root  4096 Mar 20 12:09 ..
-rw-------. 1 user5 user5   20 Mar 20 12:11 .bash_history
-rw-r--r--. 1 user5 user5   18 Aug 29  2012 .bash_logout
-rw-r--r--. 1 user5 user5  176 Aug 29  2012 .bash_profile
-rw-r--r--. 1 user5 user5  124 Aug 29  2012 .bashrc
-rwxr-xr-x. 1 user5 user5   76 Apr 10 13:59 loop_test.sh
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:08 test.20210410_140839
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:08 test.20210410_140842
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:08 test.20210410_140845
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:08 test.20210410_140848
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:08 test.20210410_140851
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:08 test.20210410_140854
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:08 test.20210410_140857
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:09 test.20210410_140900
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:09 test.20210410_140903
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:09 test.20210410_140906
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:09 test.20210410_140909
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:09 test.20210410_140912
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:09 test.20210410_140915
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:09 test.20210410_140918
-rw-rw-r--. 1 user5 user5    0 Apr 10 14:09 test.20210410_140921
-rw-------. 1 user5 user5  633 Apr 10 13:59 .viminfo
[root@rhel64 ~]#

6.テスト結果
処理実行中にパスワード有効期限が切れても処理は中断されないことが確認できた。

7.まとめ
結果はおそらくそうなるだろうと予想していましたが、実際にテストして確認できたのは良かったです。

Comments are closed.