如何设置目录的读写权限

Nic*_*aki 6 permissions

我刚刚使用 Nautilus 将一个 2.8 Gb 文件夹复制到我的 usr/home 目录中。它包含许多文件夹和文件,但我没有读取它们的权限。如何为自己全局设置读写和执行权限。

我的计算机上有一个用户帐户和 root 帐户。但是我不想以 root 身份做所有事情。

Pat*_*zek 8

首先更改所有权:

sudo chown -R username: <directory>
Run Code Online (Sandbox Code Playgroud)

:用户名后面的实际上是用户默认组,所以它也同时重置了组)

现在您不再需要 sudo 了,您可以在您的普通用户帐户下进行操作。

首先让自己拥有对所有内容的读写权限:

chmod -R u=rw,go=r <directory>
Run Code Online (Sandbox Code Playgroud)

这意味着[R EAD和w ^仪式准入ü SER(用户拥有的文件,所以这就是你),但只[R EAD为roup和Ø疗法。的=手段来设置,不管它现在是,你还可以使用权+,并-分别添加或删除获得许可。

您可以更喜欢:

chmod -R ug=rw,o=r <directory>
Run Code Online (Sandbox Code Playgroud)

甚至:

chmod -R ug=rw,o= <directory>
Run Code Online (Sandbox Code Playgroud)

结果从上面的解释应该很清楚(我不知道为什么人们绝对继续使用八进制编码来做同样的事情,它没有优越的价值,但无论如何,如果需要,Read 为 4,Write 为 2,eXecute 为1,你必须添加值。所以我的最后一个例子是 660)

只剩下一步了。您需要将 e X ecute 放在每个目录和子目录上,否则cd将无法正常工作。

为此,您可以这样做:

find directory -type d | xargs chmod u+x
Run Code Online (Sandbox Code Playgroud)

find像它所说的命令会查找,从directory每个类型为 d 的对象开始,d 在这里表示目录,并且该xargs命令将对chmod u+x所有这些对象应用以下 ( ),根据前面的解释,该u+x部分应该很简单。

另外,下次如果直接在用户名下开始复制,从一开始权限应该就可以了。如果不是,则意味着您可能对进行复制的顶级目录具有奇怪的权限。


小智 8

对我来说工作是这样的:

sudo chown -R username yourfoldername
sudo chmod -R 755 yourfoldername
Run Code Online (Sandbox Code Playgroud)