chown 递归更改权限

chown 递归更改权限

我在目录中运行了 chown 命令:

chown -R user:user {.,}*

与 和一起{.,}*使用,以包含隐藏文件和列出的文件。现在此命令已通过并更改了我目录中的这两个文件,但由于它继续运行,我不得不中断它以停止运行。现在我担心它已经停止运行并更改了其他文件和文件夹的权限,因为它没有终止。mvcp

答案1

通过使用{.,}*,您同时包含了./../。除了-R选项之外,您的chown调用还将浏览整个文件系统(以及其他可能已安装的文件系统),并执行../。对于其他命令,这个小错误可能会非常致命,但相信我,您不是第一个,也不会是最后一个……

由于此操作非常繁重,您的chown调用挂起了一段时间,因为它有很多文件需要处理。我建议您返回到您进行调用的目录,然后逐步返回以/查看所做的更改。您可以应用以下快速修复:

chown root:root /* # Set ownership to root for all directories in /.
chown you:yourgroup /home/you -R # Take your home back.

在 Ubuntu 上,该/home目录将提供给系统上注册的第一个用户 (admin/sudo)。如果您是唯一的用户,您可能需要执行以下操作:

chown you:yourgroup /home -R

不过,简单的chmod 755on/home就够了,即使它属于root。

快速浏览一下/(包括 root 权限本身ls -ld /)也是一个不错的开始。我建议您确保它/属于 root,并设置了 755 个权限。

如果您曾经chown设置过非常具体的所有权(您或 root 之外的用户、罕见组等),您可能需要使用它find来查找chown-ed 文件。

find / -user {username}
find / -group {groupname}

不幸的是,没有关于undo你做了什么的事情。Linux 不会自然地跟踪这些“随意”的操作。

有关您要实现的目标的更多信息,请查看这个超级用户问题

相关内容