chown递归更改权限

我在一个目录中运行chown命令:

chown -R user:user {.,}*

{.,}*mvcp一起使用以包括隐藏和列出的文件。 现在这个命令经过并改变了我目录中的那两个文件,但是我不得不打破它,因为它继续运行。 现在我担心它已经消失了并且更改了其他文件和文件夹的权限,因为它没有终止。

通过使用{.,}* ,您包括./../ 。 除了-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 

但是, /home上的简单chmod 755就足够了,即使它属于root。

快速查看/ (包括root权限本身, ls -ld / )也是一个很好的起点。 我建议您确保/属于root,并设置了755权限。

如果您使用chown设置非常特定的所有权(除了您或root用户,一个罕见的组,…),您可能希望使用find来查找chown -ed文件。

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

不幸的是,没有undo你所做的事情。 Linux并不能自然地记录这些“随意”的操作。

有关您要实现的目标的更多信息,请查看此SuperUser问题 。