我在目录中运行了 chown 命令:
chown -R user:user {.,}*
与 和一起{.,}*
使用,以包含隐藏文件和列出的文件。现在此命令已通过并更改了我目录中的这两个文件,但由于它继续运行,我不得不中断它以停止运行。现在我担心它已经停止运行并更改了其他文件和文件夹的权限,因为它没有终止。mv
cp
答案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 755
on/home
就够了,即使它属于root。
快速浏览一下/
(包括 root 权限本身ls -ld /
)也是一个不错的开始。我建议您确保它/
属于 root,并设置了 755 个权限。
如果您曾经chown
设置过非常具体的所有权(您或 root 之外的用户、罕见组等),您可能需要使用它find
来查找chown
-ed 文件。
find / -user {username}
find / -group {groupname}
不幸的是,没有关于undo
你做了什么的事情。Linux 不会自然地跟踪这些“随意”的操作。
有关您要实现的目标的更多信息,请查看这个超级用户问题。