更改文件夹权限和所有权

我希望用户对这个文件夹(以及其中的所有子目录和文件)拥有完全的权限。
~/.blabla

目前由root所有。

我在这个论坛和其他地方找到了很多关于如何对文件进行此操作的帖子,但是我找不到一种方法可以对整个文件夹进行操作。


5有没有人能够加入一个图形化的方法呢? - 8128
3@fluteflute 有没有图形化的方法? - Marco Ceppi
2也许是 gksu nautilus。我不太确定,想要确认一下.... ;) - 8128
2只需运行命令 sudo chown -R username foldername - ArifMustafa
9个回答

使用chown命令来改变所有权,使用chmod命令来改变权限。
正如Paweł Karpiński所说,使用-R选项可以将权限应用于目录中的所有文件。
请注意,这两个命令也适用于目录。-R选项还会更改目录中所有文件和子目录的权限。
例如:
sudo chown -R username:group directory

将更改目录内所有文件和目录的所有权(用户和组),以及目录本身。
sudo chown username:group directory

只会更改文件夹directory的权限,不会影响文件和文件夹内部。
正如enzotib提到的,您需要使用sudo将所有权从root更改为您自己。 编辑: 请注意,如果您使用chown <user>: <file>(省略了组),它将使用该用户的默认组。
如果您只想更改组,可以使用以下命令:
chown :<group> <file>

15应该说,在使用chown命令时需要sudo权限。 - enzotib
1太棒了。也许你应该考虑用“用户名”来替换“用户:user”。 - user2413
尽管我已将所有者和组更改为“我”和“我的组”,但我无法编辑acpi-support文件。为什么呢?谢谢。 - Casper
16预定义变量帮助我完成了这个操作:sudo chown -R $USER:$USER /path/to/dir。谢谢! - Ismail
9小心递归地拥有任何目录。三思而后行。孩子们,不要从互联网上复制粘贴chown命令。仅仅因为你想安装一个节点包并且它不允许你这样做,也不要盲目执行sudo chown -R命令,只因为谷歌搜索的第一个结果说要这样做。鲁莽地执行sudo chown -R命令可能会损坏你的操作系统。 - Benjamin R
2需要指出的是,仅使用“-R”选项适用于已经存在于目录中的文件和文件夹。它不适用于未来创建的文件和文件夹。例如,如果您在已更改权限的文件夹中以root身份创建另一个文件夹或文件,则在再次对其进行chmod/chown之前,您将经历与现在相同的情况。 - addohm
你知道如何为所有新文件设置一个群组吗? - lesolorzanov
1比起使用“sudo chown -R $USER ~/.blabla”命令要好得多。 - Robert Sinclair

让当前用户拥有文件夹内的所有内容(包括文件夹本身):
sudo chown -R $USER ~/.blabla

61对于新手来说非常有帮助(如我所示),当不知道在sudo chown <你的用户名>:<你的用户组> -R <路径到>/.blabla中的'usergroup'应该输入什么时。 - quantme

如果你喜欢的话,也可以通过图形界面完成。你需要以 root 权限打开 Nautilus 来进行操作。按下 Alt + F2 键,访问 "运行应用程序" 对话框,并输入 gksu nautilus

接下来,浏览到并右键单击您想修改的文件夹。然后,从上下文菜单中选择 "属性"。现在,您可以选择要成为该文件夹的 "所有者" 的用户或组,以及您想授予他们的权限。最后,点击 "将权限应用于包含的文件" 来递归应用更改。

尽管看起来这种方法并不总是对于深层文件夹树中的某些操作有效。如果无法正常工作,请使用相应的终端命令。

alt text


如果它是由root所有的,你可以这样做。
sudo chown <your username>:<your usergroup> -R <path to>/.blabla

由于./blabla是由root拥有的,所以您需要获得root权限才能更改。这就是sudo的作用。chown命令的-R选项表示:递归地更改此目录及其所有内容。


你应该尝试使用chmod -R命令。

首先,检查 demo.txt 的权限:
# ls -l demo.txt

出:

-rw-r--r-- 1 root root 0 Aug 31 05:48 demo.txt

在这个例子中,将文件所有权更改为“vivek”用户,并列出权限。
# chown vivek demo.txt
# ls -l demo.txt
<出:>
-rw-r--r-- 1 vivek root 0 Aug 31 05:48 demo.txt

在下一个示例中,所有者设置为vivek,后面跟着一个冒号,组所有权也设置为vivek组,运行:
# chown vivek:vivek demo.txt
# ls -l demo.txt

出:

-rw-r--r-- 1 vivek vivek 0 Aug 31 05:48 demo.txt

你可以使用以下命令:sudo chmod -R 777 /folderpath 例如:sudo chmod -R 777 /opt/lampp/htdocs/ 这是为了让XAMPP的htdocs文件夹具有访问权限。

首先,如果你错误地对系统文件和目录使用chmod -R,它可能会破坏你的系统权限。
其次,chmod -R可能会混乱这些文件夹中的标志,并且将权限授予所有用户并不是一个好主意。
你应该尝试使用chown代替:
 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}

sudo chown -R -ubuntu:ubuntu ~/PathTo/Folder/dist

Before Screenshot: enter image description here

After Screenshot: enter image description here