组权限无效,权限仍被拒绝

组权限无效,权限仍被拒绝

我遇到了 UNIX 权限问题:我正在 Debian Squeeze 下工作,我的一个脚本(由 运行www-data)需要将文件23550.zip(放置在另一个用户的主目录中)移动autodo到该用户的子目录中home( /home/autodo/.processed) 将其标记为已处理。

我尝试更改/home/autodo,/home/autodo/23550.zip/home/autodo/.processed的组所有权www-data以允许www-data用户移动此文件,但它仍然失败Permission denied,如下所示(因为我是法国人,我将法语消息翻译回英语,尽管我无法确定翻译是这些命令的英文版本中显示的翻译):

sh-4.1$ ls -lah /home/autodo
total 27M
drwxr-xr-x  3 autodo www-data 4,0K  9 janv. 15:17 .
drwxr-xr-x 88 root   root     4,0K  8 janv. 15:21 ..
-rwxr-xr-x  1 autodo ftpusers 4,8K  5 sept. 23:14 19236.zip
-rwxr-xr-x  1 autodo www-data  26M  9 janv. 14:26 23550.zip
-rwxr-xr-x  1 autodo ftpusers 2,3K  6 janv. 20:44 3194.zip
-rwxr-xr-x  1 autodo ftpusers 1,1M  5 sept. 23:38 53274.zip
-rwxr-xr-x  1 autodo ftpusers  585  6 sept. 00:50 70069.zip
-rwxr-xr-x  1 autodo ftpusers  220 16 nov.  15:10 .bash_logout
-rwxr-xr-x  1 autodo ftpusers 3,2K 16 nov.  15:10 .bashrc
drwxr-xr-x  2 autodo www-data 4,0K  9 janv. 15:16 .processed
-rwxr-xr-x  1 autodo ftpusers  675 16 nov.  15:10 .profile
sh-4.1$ ls -lah /home/autodo/.processed
total 66M
drwxr-xr-x 2 autodo www-data 4,0K  9 janv. 15:16 .
drwxr-xr-x 3 autodo www-data 4,0K  9 janv. 15:17 ..
-rwxr-xr-x 1 autodo ftpusers 3,8K  8 janv. 22:42 100583.zip
-rwxr-xr-x 1 autodo ftpusers 1,7K  9 janv. 02:48 12211.zip
-rwxr-xr-x 1 autodo ftpusers 2,2K  8 janv. 22:43 166273.zip
-rwxr-xr-x 1 autodo ftpusers 424K  8 janv. 22:52 193894.zip
-rwxr-xr-x 1 autodo ftpusers 1,2M  9 janv. 01:13 20662.zip
-rwxr-xr-x 1 autodo ftpusers  59M  9 janv. 00:43 22352.zip
-rwxr-xr-x 1 autodo ftpusers 1,2M  8 janv. 22:42 23704.zip
-rwxr-xr-x 1 autodo ftpusers 214K  9 janv. 02:34 24704.zip
-rwxr-xr-x 1 autodo ftpusers  632  9 janv. 01:17 26360.zip
-rwxr-xr-x 1 autodo ftpusers 2,8K  9 janv. 01:03 31795.zip
-rwxr-xr-x 1 autodo ftpusers 106K  9 janv. 00:11 31797.zip
-rwxr-xr-x 1 autodo ftpusers 413K  9 janv. 00:44 31799.zip
-rwxr-xr-x 1 autodo ftpusers 4,4K  8 janv. 22:30 31803.zip
-rwxr-xr-x 1 autodo ftpusers 2,3K  5 janv. 21:19 3194.zip
-rwxr-xr-x 1 autodo ftpusers  13K  8 janv. 23:33 5705.zip
-rwxr-xr-x 1 autodo ftpusers 2,8K  8 janv. 22:19 5858.zip
-rwxr-xr-x 1 autodo ftpusers  86K  9 janv. 04:34 604.zip
-rwxr-xr-x 1 autodo ftpusers 2,6M  9 janv. 03:34 7091.zip
-rwxr-xr-x 1 autodo ftpusers 3,4K  8 janv. 21:25 7878.zip
-rwxr-xr-x 1 autodo ftpusers 752K  9 janv. 03:37 8127.zip
-rwxr-xr-x 1 autodo ftpusers 6,1K  8 janv. 22:01 84846.zip
-rwxr-xr-x 1 autodo ftpusers 358K  9 janv. 02:42 989.zip
sh-4.1$ id
uid=33(www-data) gid=33(www-data) groups=33(www-data),2000(ftpusers)
sh-4.1$ mv /home/autodo/23550.zip /home/autodo/.processed/
mv: unable to move « /home/autodo/23550.zip » to « /home/autodo/.processed/23550.zip »: Permission denied

我也尝试了setgid该用户的目录,但它也因相同的Permission denied, 和 to失败adduser www-data ftpusers,但它仍然因相同的错误而失败。

我不得不承认我迷失了;我一直认为拥有文件的组的权限与所有者的权限相同,但是这个问题与此相矛盾,我不认为Linux内核中可能存在这样的错误,所以我一定错过了什么,但是在哪里,该死!

答案1

由于 amv正在修改“目标目录”和“来自目录”,因此您需要对要移动的文件以及要移至/移出的目录具有写入权限。

chmod -R g+w /home/autodo/

这将为 /home/autodo 下的所有内容递归添加组的写入权限

相关内容