Centos

服務使用者無法在他們擁有的目錄中創建/修改文件

  • May 19, 2020

我肯定錯過了什麼。我創建了一個服務帳戶,它將執行我作為 cron 作業創建的腳本。該腳本將要處理的文件連結到監視文件夾。該腳本以root身份執行良好,但我認為最好使用服務帳戶並讓cron作業在該帳戶下每小時執行一次。現在,當我嘗試將文件/文件夾創建為服務帳戶時,我遇到了權限問題。

[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 版。觀看,robert.sicko 和 test 目錄已經存在,我將 /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 作為 srvArcherNBS 執行 ls 會被拒絕,但如果我使用 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             )

我最終通過更改樹中目錄的權限解決了這個問題:

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

即使我將嘗試寫入的目錄的組權限設置為 rwx,我也必須授予其他人 r+x 權限var www。我不完全理解,但它似乎仍然比讓我的 cron 作業執行更安全作為根。

引用自:https://unix.stackexchange.com/questions/585400