職場でパスワードの有効期限を設定することになり、
実行中のプロセスのパスワード有効期限が切れたらいったいどうなるのか?
という質問が出たのでテストしてみました。
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.まとめ
結果はおそらくそうなるだろうと予想していましたが、実際にテストして確認できたのは良かったです。