私はRHEL 8.9を使用しており、dhclient
ファイルに書き込む基本的なフックスクリプトを作成しました。
スクリプトは同じ場所に書き込むことができますが、書き込むことは/tmp
できません/opt
。それはできる読む/opt
ディレクトリにあるが記録されていないファイル:
[root@server]# ls -la /etc/dhcp/dhclient-exit-hooks.d/test.sh
-rwxr-xr-x. 1 root root 159 Feb 12 22:47 /etc/dhcp/dhclient-exit-hooks.d/test.sh
[root@server]# cat /etc/dhcp/dhclient-exit-hooks.d/test.sh
#!/bin/bash
{ date; cat /opt/test1.txt; } >> /tmp/test1.txt # works as expected (reading from /opt and writing to /tmp)
date >> /opt/test2.txt # does not work; cannot write to /opt
フックのテスト中に権限の問題が検出されました。
[root@server]# dhclient eth0
/etc/dhcp/dhclient-exit-hooks.d/test.sh: line 3: /opt/test2.txt: Permission denied
/opt
のファイルに書き込みアクセスが許可されており、ディレクトリ内のすべてのユーザーに書き込み/実行権限も付与されていることを確認しました。
[root@server]# ls -la /opt/
total 8
drwxrwxrwx. 2 root root 40 Feb 12 22:46 .
dr-xr-xr-x. 17 root root 224 Dec 21 10:37 ..
-rw-rw-rw-. 1 root root 4 Feb 12 22:45 test1.txt
-rw-rw-rw-. 1 root root 4 Feb 12 22:46 test2.txt
ファイルの読み書きが/tmp
できます。
また、権限の問題が発生せずに、rootとして直接スクリプトを実行することもできます(予想どおりに機能します)。
どんなアイデアがありますか?