重命名文件的最小文件权限

sh1*_*nen 1 permissions chmod rename home

我在非特权用户的主目录中放置了一个 64 位 ELF 文件。我想知道我只需要哪些权限来重命名这个以非特权用户身份登录的文件。据我了解,我只需要文件所属用户的执行权限,为父目录设置。那正确吗?

因此,如果我的文件的路径是/home/Simon_dir/zip并且我写的chmod 0100 /home/Simon_dir并且文件权限设置为0000,我是否应该有权重命名zip以非特权用户身份登录的文件?

roa*_*ima 8

通常,如果您对目录具有写权限,则可以重命名该目录中的任何文件。具体来说,您不必拥有该文件即可重命名它:

ls -la
total 8
drwxr-xr-x  2 roaima roaima 4096 Mar 25 23:42 .
drwxr-xr-x 39 roaima roaima 4096 Mar 25 23:42 ..
-rw-------  1 root   root      0 Mar 25 23:42 file

mv file sandpaper
ls -l
total 0
-rw------- 1 root root 0 Mar 25 23:42 sandpaper
Run Code Online (Sandbox Code Playgroud)

例外情况是应用了拒绝操作的 ACL,或者当该t目录的权限中也存在粘滞位时。在第二种情况下,您还必须拥有要重命名的文件。

请注意,在所有情况下,您都需要访问相关目录,因此需要适当的执行位x(用户/组/其他)。

这意味着重命名目录中任何文件的最小权限集是-wx针对适当的成员集(用户/组/其他)。