在Unix / Linux中将文件移动到不同目录所需的权限

时间:2014-01-06 11:22:09

标签: linux unix file-permissions mv

我想澄清所需的权限,以便将文件A从目录B移动到目录C(我认为该命令将是“mv B / AC / A”),名称不变。

我认为以下是必需的吗?

  1. 执行移动的用户/组必须具有目录B的写权限(或者B必须设置权限标志以允许所有用户/组写入)
  2. 执行移动的用户/组必须具有目录C的写权限(或者C必须设置权限标志以允许所有用户/组写入)
  3. 执行移动的用户/组必须具有文件A的写入权限(或者A必须设置权限标志以允许所有用户/组写入)

谢谢。

1 个答案:

答案 0 :(得分:26)

实际上,移动文件要么是对单个文件系统上的文件进行重命名,要么是创建副本并删除原始文件(通常只有在移动是从一个文件系统迁移到另一个文件系统时才会执行)。

在任何一种情况下,您都需要执行 当然权限到目标目录和源目录。但是,对于单个文件系统上仅重命名(并从一个目录移动到另一个目录),您需要任何对文件本身的权限。它可以清除所有权限,但您仍可以移动(重命名)它(只要您对目录具有写入执行权限)。

对于真实副本(因为将文件移动到其他文件系统时需要),您需要对文件本身具有读取权限。由于删除文件不是写入文件(而是写入文件所在的目录),因此必须不需要写入权限。