我的挂载目录中有一个文件,root 可以删除,但 www-data 不能删除同一个文件(Debian apache)
这里是 apache srv81 fstab 挂载:
192.168.0.122:/home/landing /mnt/landing nfs defaults 0 0
这里 /etc/exports nfs srv122 :
/home/landing 192.168.0.81(rw,all_squash,anonuid=1001,anongid=1001,sync)
srv122 的 /etc/passwd:
imageemailing:x:1001:1001:Compte FTP,,,:/home/imageemailing:/bin/bash
srv122 的共享文件夹:
root@srv122:/home# ls -lah
drwxr-xr-x 6 root root 4,0K déc. 27 16:27 .
drwxrwxrwt 5 imageemailing imageemailing 4,0K janv. 9 18:24 landing
我无法从 srv122 中删除视图的文件:
root@srv122:/home/landing# ls -lah
-rw-r--r-- 1 imageemailing imageemailing 409 janv. 9 18:24 0.zip
我无法从 srv81 中删除视图的文件:
root@srv81:/mnt/landing()$ls -lah
-rw-r--r-- 1 nobody nogroup 409 janv. 9 18:24 0.zip
用户 www-data 无法删除:
root@srv81:/mnt/landing()$su www-data
$ pwd
/mnt/landing
$ rm 0.zip
rm: impossible de supprimer « 0.zip »: Opération non permise
根据我对不同文档的理解,all_squash 应该隐藏本机用户并替换为本地用户 10001,不是吗?为什么 www-data 无法删除我的文件 0.zip,但 root 可以?
编辑1
为了回答评论,请查看 ls -ln 的结果,它显示文件在 srv122 上具有 id 1001:
root@srv122:/home/landing# ls -ln
-rw-r--r-- 1 1001 1001 409 janv. 9 18:37 0.zip
我在 srv81 上没有 ID 1001。我决定更改导出文件配置以允许来自 id 和组 ID 33 (www-data) 的 RW(并重新启动 nfs-kernel-server),因为这是我在两边都有的用户。我对我的所有文件夹执行了 chown www-data:www-data -R,并且它起作用了,我在 NFS 服务器中的本地文件是 www-data (33):
root@srv122:/home/landing# ls -ln
-rwxrwxrwx 1 33 33 409 janv. 9 18:37 0.zip
但我仍然无法从 srv81 中删除文件。来自 srv81 的 id groupID 视图:
$ ls -ln
-rwxrwxrwx 1 65534 65534 409 janv. 9 18:37 0.zip