it-swarm.cn

更改文件夹权限和所有权

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

~/.blabla

目前由root拥有。

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

473
user2413

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

Sudo chown -R $USER ~/.blabla
170
Lucian Adrian Grijincu

使用chown更改所有权,使用chmod更改权限。

正如PawełKarpiński所说,使用-R选项也可以为目录中的所有文件应用权限。

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

例如

Sudo chown -R username:group directory

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

Sudo chown username:group directory

只会更改文件夹directory的权限,但会将文件和文件夹留在目录中。

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

编辑:

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

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

chown :<group> <file>
682
Ikke

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

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

虽然看起来这并不总是适用于深层文件夹树中的某些操作。如果不起作用,请使用相应的终端命令。

alt text

54
andrewsomething

如果它由root拥有,你可以这样做

Sudo chown <your username>:<your usergroup> -R <path to>/.blabla

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

26
AndyB

你应该试试chmod -R

10
Pawełkowy

如果你错误地在系统文件和目录上执行它,首先chmod -R会搞乱你的系统权限。

第二个chmod -R会弄乱这些文件夹中的标记,并且不希望为所有用户提供某些文件夹的权限。

您应该尝试使用chown

 Sudo tree -fai ~/.blabla  | xargs -L1 -I{} Sudo chown youruser:youruser {}
1
Eduard Florinescu