サービスユーザーは、自分が所有するディレクトリにファイルを作成/変更することはできません。

サービスユーザーは、自分が所有するディレクトリにファイルを作成/変更することはできません。

私が何かを見逃しているようです。クローンジョブで作成したスクリプトを実行するサービスアカウントを作成しました。スクリプトは、処理するファイルを監視フォルダにリンクします。スクリプトはrootとしてうまく動作しますが、サービスアカウントを使用し、そのアカウントで毎時間クローンジョブを実行する方が良いと思います。サービスアカウントでファイル/フォルダを作成しようとすると、権限の問題が発生します。

[root@analysis ~]# ls -l /watched/robert.sicko/

total 24  
drwxrwx--- 20 srvArcherNBS srvArcherNBS 20480 May  8 11:35 XXX  
drwxrwx---  2 srvArcherNBS srvArcherNBS  4096 May  4 11:04 test

[root@analysis ~]# su -c "touch /watched/robert.sicko/test/abc.completed" srvArcherNBS

touch: cannot touch `/watched/robert.sicko/test/abc.completed': Permission denied

その他の情報。サーバーはCentOSバージョン6.10を実行します。 Watched、robert.sicko、およびテストディレクトリがすでに存在しているため、/watched/robert.sicko/*の所有権をサービスアカウントに変更しました。

chown -R srvArcherNBS:srvArcherNBS /watched/robert.sicko/*

/watchedディレクトリはsrvArcherNBSに属していませんが、/watchedおよび/watched/robert.sickoグループをsrvArcherNBSに変更しても何も変わりませんでした。

[root@analysis watched]# ls -l
total 4
drwxrwx--- 4 apache archer_daemon_web_access 4096 May  4 11:04 robert.sicko

ls /watched/robert.sicko/test/abc.completedの結果を追加するように編集されました。

[root@analysis /]# ls -l /watched/robert.sicko/test/abc.completed
ls: cannot access /watched/robert.sicko/test/acb.completed: No such file or directory

edit2に奇妙な点が追加されました。 su で ls を実行すると srvArcherNBS に対する権限が拒否されますが、 su srvArcherNBS では ls を実行できます。

[root@analysis robert.sicko]# pwd
/var/www/analysis/watched/robert.sicko
[root@analysis robert.sicko]# su -c "ls -la /var/www/analysis/watched/robert.sicko" srvArcherNBS
ls: cannot access /var/www/analysis/watched/robert.sicko: Permission denied
[root@analysis robert.sicko]# su srvArcherNBS
[srvArcherNBS@analysis robert.sicko]$ ls -la
total 32
drwxrwx---  4 apache       srvArcherNBS  4096 May  4 11:04 .
drwxrwx---  3 apache       srvArcherNBS  4096 Mar 27  2019 ..
drwxrwx--- 22 srvArcherNBS srvArcherNBS 20480 May  8 15:10 XXX
drwxrwx---  2 srvArcherNBS srvArcherNBS  4096 May  4 11:04 test
[srvArcherNBS@analysis robert.sicko]$

マウント出力

[root@analysis robert.sicko]# mount
/dev/mapper/VolGroup-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
/dev/mapper/VolGroup-lv_home on /home type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
//prd/agtcnbs on /mnt/agtcnbs type cifs (rw             )

答え1

最後に、ツリー内のディレクトリの権限を変更して問題を解決しました。

 /var/www/analysis/watched/robert.sicko

var www他の人にr + x権限などを付与する必要があります。 rwxに書き込むディレクトリのグループ権限を設定しましたが。完全には理解していませんが、まだクローンジョブをrootとして実行するよりも安全に見えます。

関連情報