Centos
服務使用者無法在他們擁有的目錄中創建/修改文件
我肯定錯過了什麼。我創建了一個服務帳戶,它將執行我作為 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 作業執行更安全作為根。