复制 `root` 拥有的文件时,`cp` 权限被拒绝

use*_*126 9 permissions cp

我有一个文件夹 udp_folder2

d------r-T 41 root           root     4096 Apr 26 21:17 udp_folder2
Run Code Online (Sandbox Code Playgroud)

当我与其他用户在一起时root,我无法将cp -r其放入一个新文件夹中,它显示:权限被拒绝

为什么?以及如何将其复制给其他用户root

Til*_*n32 13

好,

那是因为您当前权限的设置方式,没有人可以移动该文件。(除了 root,因为 root 不遵循相同的规则。)

您需要更改文件的所有者 (chown),或者将其他用户添加到组“root”并对其进行 chmod,以便该组可以在目录上执行,或者允许其他所有人执行该文件。

所以,一个快速的解决方法是:

chmod -R o+rwx udp_folder2
Run Code Online (Sandbox Code Playgroud)

这将使每个人都能够在该目录上读取、写入和执行。

另外...如果您尝试将“udp_folder2”复制到它现在所在的同一目录中,您还需要对该目录的“w”权限。例如:

/foo/udp_folder2 - 你需要在 /foo 上加上 'w' 来复制 /foo 中的目录

我建议学习 linux 文件权限: Linux File Permission Tutorial

  • @Swiss - 'T' 是一个粘性位,这是一个“特殊”许可。在此处了解有关粘滞位的所有信息:http://en.wikipedia.org/wiki/Sticky_bit (2认同)

von*_*and 8

该目录没有x权限,因此其他人(即,在这种情况下,任何用户)都可以使用该目录来访问里面的文件。这T意味着它是粘性的(只有文件的所有者才能删除它)。有了x权限和粘滞位,你会看到一个小写的t; 大写T表示“没有访问权限,但有粘性位,这是一个奇怪的组合”。

阅读 Unix 文件/目录权限。这不是太难,你需要它。


pul*_*umo 5

您不想rwx将目录中的每个人都提供给所有人,因为这会造成安全风险。而且您不会想要-Rchmod,因为它会递归地写入更改。

只是chmod 755 "filename"你很好。

以下是数字的细分:

  • 读取 = 4
  • 写 = 2
  • 执行 = 1

然后你有3组:

  • 所有者。
  • 属于集团的人。
  • 其他所有人。

所以,如果你想给 owner rwx,那些属于 group 的人rw,以及其他人,rw你只需添加权限:rwx= 7,因为r+ w+x是 4+2+1 和rw= 6,因为r+ w= 4+2。