我一直在 Linux 虚拟机中以 root 身份运行,以更改目录中整个文件列表的权限。当我使用后检查权限时sudo chmod 666 -R /home/candidate/working/other_files
,除了一个隐藏文件(图中突出显示)之外,所有文件都具有读写权限。当我专门编写chmod
应该赋予所有文件读写权限的命令时,我不确定如何才能使该文件也具有写入权限。
使用以下命令后,该文件..
对所有其他用户都没有写权限chmod
:
root@d3ac9495a31:/home/candidate/working# chmod -R 666 /home/candidate/working/other_files/
root@d3ac9495a31:/home/candidate/working# ls -la other_files
total 14108
drw-rw-rw- 1 root root 4096 Feb 27 2018 .
drwxrwxr-x 1 candidate candidate 4096 Feb 27 2018 ..
-rw-rw-rw- 1 root root 4537584 Feb 27 2018 file1.html
drwxrwxr-x 1 root root 1123786 Feb 27 2018 file2.html
-rw-rw-rw- 1 root root 5747804 Feb 27 2018 file3.html
-rw-rw-rw- 1 root root 3013094 Feb 27 2018 file4.html
答案1
这里有很多问题
技术的。您已删除
x
该目录的搜索权限 ( )other_files
(在列表中表示为.
)。当您尝试列出它或访问其中的文件时,这会导致问题。修复与chmod a+x other_files
方便。您并不总是需要指定
chmod
.在这里,既然你已经在了,working
你就可以使用chmod -R 666 other_files
.但请参阅#1,因为这实际上是错误的 - 您应该只更改文件的权限,而不是目录的权限。这样chmod 666 other_files/*
会更好、更正确。理解。目录条目(请参阅中权限块的
.
前导)代表当前目录,在本例中为。该条目指向父目录,在本例中为。父目录通常被排除在递归操作之外,否则您最终会在文件系统树上上下移动。d
ls -l
other_files
..
working
操作。一般来说,您不应该像
root
在candidate
的主目录中那样真正工作。考虑重置文件的所有者,使其为candidate
, 然后candidate
以root
.对于初学者来说,这将使您更难意外破坏系统。