我将一个文件夹从目录递归复制/www/
到我的主目录下的某个目录中。现在,每次我想在这个复制的目录中创建文件或文件夹时,它都会显示。所以,我每次都permission denied
必须使用。sudo
问题是我可以在主目录下的其他目录中创建文件/文件夹,但这个目录除外。我尝试递归更改此目录的权限,755
但问题仍然存在。
有人能指出我面临的确切问题吗?我该如何解决这个问题?
答案1
很明显,文件夹是 root 用户的财产,这就是为什么您必须使用 sudo 才能与文件夹交互。我认为无法chown
将权限更改应用于文件夹,因此您必须采用图形方式,如下所述。
[编辑] 文件夹位置通常不会影响其权限级别或所有者。例如,我可能是位于 /usr/share/ 中的文件夹的所有者,但 root 可能是我桌面上的文件夹的所有者。如果您想知道为什么会这样,我建议您询问贝尔实验室。他们开创了它。:)
(我使用了 Nemo,但 Nautilus 的步骤相同)
首先,打开一个终端并输入sudo nautilus
(再次,我使用了 Nemo,但过程相同),然后输入您的 sudoer 的密码。
当 Nautilus 打开时,导航到您想要更改权限的文件夹。根据您使用的程序,您可能会看到“提升权限”通知。这是为了提醒用户小心行事,因为如果使用不当,root 权限可能会损坏计算机。
现在右键单击要更改的文件夹并选择“属性”,转到“权限”选项卡,它应该看起来像这样:
选择所有者和组的下拉菜单,并将其从“root”更改为您的用户名(在我的情况下为 ben)。现在应该看起来像这样:
如果需要,单击“将权限应用于所附文件”。然后关闭 Nautilus 并退出终端。
答案2
使用此命令递归更改目标目录中的所有权:
sudo chown <username>:<groupname> -R /path/to/target
(...用户名和组名通常相同。)
例如
sudo chown kevin:kevin -R /home/kevin/target_directory
现在,如果需要,您还可以使用 chmod 设置权限:
find /path/to/target -type f -execdir chmod 666 -Rv {} +
(授予所有者、组和世界对目标中的所有文件的 RW 权限。)
find /path/to/target -type d -execdir chmod 777 -Rv {} +
(授予目标中所有目录的所有者、组和世界 RWX 权限。)
答案3
www
当您从中复制时可能/var/www
会创建一个带有 的链接或符号链接/var/www
。
尽管尝试777
许可或777-755 = 022