服务用户无法在他们拥有的目录中创建/修改文件

服务用户无法在他们拥有的目录中创建/修改文件

我肯定错过了什么。我创建了一个服务帐户,它将运行我作为 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 和测试目录已经存在,我将 /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

我必须给其他人 r+x 权限var www等。即使我将我试图写入的目录的组权限设置为 rwx。我不完全理解它,但它似乎仍然比运行我的 cron 作业更安全作为根。

相关内容