更改文件夹权限和所有权

use*_*413 665 permissions command-line folder

我希望用户对此文件夹(以及其中的所有子目录和文件)拥有完全权限:

~/.blabla
Run Code Online (Sandbox Code Playgroud)

目前由 root 拥有。

我发现了很多关于如何对文件执行此操作的帖子(在此论坛和其他地方),但我找不到对整个文件夹执行此操作的方法。

Ikk*_*kke 793

使用chown所有权变更并chmod以变更的权利。

作为帕维?Karpi?ski 说,使用 -R 选项也可以为目录内的所有文件应用权限。

请注意,这两个命令也仅适用于目录。-R 选项使它们还可以更改目录内所有文件和目录的权限。

例如

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

将改变所有文件和目录的所有权(包括用户和组)的内部directorydirectory本身。

sudo chown username:group directory
Run Code Online (Sandbox Code Playgroud)

只会更改文件夹的权限,directory但会单独保留目录中的文件和文件夹。

正如 enzotib 所提到的,您需要使用sudo将所有权从 root 更改为您自己。

编辑:

请注意,如果您使用chown <user>: <file>(注意被遗漏的组),它将使用该用户的默认组。

如果只想更改组,可以使用:

chown :<group> <file>
Run Code Online (Sandbox Code Playgroud)

  • 应该说chown需要“sudo”。 (12认同)
  • 预定义的变量帮助了我:`sudo chown -R $USER:$USER /path/to/dir`。谢谢! (9认同)
  • 当心递归获取任何目录的所有权。跳之前想一想。孩子们,不要从互联网上“抄袭”。仅仅因为你想安装一个节点包并且它不会让你,不要仅仅因为谷歌搜索错误消息所说的拳头击中了`sudo chown -R`。鲁莽的`sudo chown -R`-ing 可以杀死你的操作系统。 (8认同)
  • 需要说明的是,使用“-R”选项仅适用于目录中已存在的文件和文件夹。它不适用于未来的创作。例如,如果您在已更改权限的文件夹中以 root 身份创建另一个文件夹或文件,则您将获得与现在相同的体验,直到您再次 chmod\chown 它们。 (2认同)

Luc*_*ncu 460

使当前用户拥有文件夹中的所有内容(以及文件夹本身):

sudo chown -R $USER ~/.blabla
Run Code Online (Sandbox Code Playgroud)

  • 当不知道为`sudo chown &lt;your username&gt;:&lt;your usergroup&gt; -R &lt;path to&gt;/.blabla` 在“用户组”中输入什么内容时,这对新手(像我一样)非常有帮助 (57认同)

and*_*ing 62

如果您愿意,也可以使用 GUI 完成此操作。您需要以 root 用户身份打开 Nautilus 才能执行此操作。按Alt+F2访问“运行应用程序”对话框并输入gksu nautilus

接下来,浏览并右键单击要修改的文件夹。然后,从上下文菜单中选择“属性”。您现在可以选择您希望成为文件夹“所有者”的用户或组以及您希望授予他们的权限。最后,按“对封闭文件应用权限”以递归应用更改。

尽管这似乎并不总是适用于深层文件夹树中的某些操作。如果它不起作用,请使用适当的终端命令。

替代文字


And*_*dyB 32

如果它归 root 所有,你可以这样做

sudo chown <your username>:<your usergroup> -R <path to>/.blabla
Run Code Online (Sandbox Code Playgroud)

由于 ./blabla 归 root 所有,您需要获得 root 权限才能更改它。这就是 sudo 会做的。chown 命令的 -R 选项表示:该目录及其中的所有内容递归执行。


Pra*_*weł 11

你应该试试 chmod -R


Ben*_*ari 6

首先,检查demo.txt权限:

# ls -l demo.txt
Run Code Online (Sandbox Code Playgroud)

出去:

-rw-r--r-- 1 root root 0 Aug 31 05:48 demo.txt
Run Code Online (Sandbox Code Playgroud)

在此示例中,将文件所有权更改为vivek用户并列出权限:

-rw-r--r-- 1 root root 0 Aug 31 05:48 demo.txt
Run Code Online (Sandbox Code Playgroud)

出去:

-rw-r--r-- 1 vivek root 0 Aug 31 05:48 demo.txt
Run Code Online (Sandbox Code Playgroud)

在下一个示例中,所有者设置为vivek后跟冒号,组所有权也设置为vivekgroup, run:

# chown vivek demo.txt
# ls -l demo.txt
Run Code Online (Sandbox Code Playgroud)

出去:

-rw-r--r-- 1 vivek vivek 0 Aug 31 05:48 demo.txt
Run Code Online (Sandbox Code Playgroud)