chown递归更改权限
我在一个目录中运行chown命令:
chown -R user:user {.,}*
{.,}*
与mv
和cp
一起使用以包括隐藏和列出的文件。 现在这个命令经过并改变了我目录中的那两个文件,但是我不得不打破它,因为它继续运行。 现在我担心它已经消失了并且更改了其他文件和文件夹的权限,因为它没有终止。
通过使用{.,}*
,您包括./
和../
。 除了-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问题 。