我刚刚使用 Nautilus 将一个 2.8 Gb 的文件夹复制到我的 usr/home 目录。它包含许多文件夹和文件,但我无权读取其中任何一个。我如何为自己全局设置读写和执行权限。
我的电脑上有一个用户帐户和一个 root 帐户。但是我不想以 root 身份做所有事情。
答案1
首先改变所有权:
sudo chown -R username: <directory>
(:
用户名后面的意思是用户默认组,因此它也会同时重置组)
现在您不再需要 sudo,您可以在普通用户帐户下操作。
首先获得所有内容的读写权限:
chmod -R u=rw,go=r <directory>
意思是R埃德和西仪式访问乌ser(拥有文件的用户,也就是你),但只有R准备G团和哦那里。=
设置权限的方法是,无论现在是什么,您还可以使用+
和-
分别添加或删除给定的权限。
您可以选择:
chmod -R ug=rw,o=r <directory>
甚至:
chmod -R ug=rw,o= <directory>
从上面的解释中结果应该很清楚(我不知道为什么人们绝对继续使用八进制编码来做同样的事情,它没有更高的值,但无论如何如果需要,读取是 4,写入是 2,执行是 1,你必须添加这些值。所以我的最后一个例子是 660)
只剩一步了。你需要把 eX在每个目录和子目录上执行 ecute,否则cd
将不起作用。
为此,您可以这样做:
find directory -type d | xargs chmod u+x
该find
命令会从directory
每个对象开始查找类型 d,d 在此处表示目录,并且该命令将对所有目录xargs
应用以下( ),并且根据前面的解释,该部分应该很简单。chmod u+x
u+x
另外,下次,如果您直接以您的用户名开始复制,权限从一开始就应该没问题。如果不行,则意味着您在进行复制的顶级目录上可能具有奇怪的权限。
答案2
对我而言,这是有用的:
sudo chown -R username yourfoldername
sudo chmod -R 755 yourfoldername