从当前目录上方的目录开始递归chown

Dav*_*idP 31 command-line chown

我无法登录到我的“管理员”账户和Alt+ Ctrl+F1显示我的所有文件都是由我“标准”的用户所拥有。奇怪的。

所以我小心地改成/home/admin并做了一个

sudo chown -R admin:admin *
Run Code Online (Sandbox Code Playgroud)

(还有.*)。

伟大的。

然后我无法以我的“标准”用户身份登录,结果发现所有文件/home/standard现在都归“管理员”所有。

挺幽默的。为什么会这样?

sudo chown -R standard:standard /home/standard/*
Run Code Online (Sandbox Code Playgroud)

做同样的事情,改变/home/admin以及/home/standard

我比平时更困惑,因为我试图升级到 15.04,这几乎毁了我的电脑,所以我把东西放回 14.04,请耐心等待。

hee*_*ayl 41

这个问题是因为你运行了:

sudo chown -R admin:admin .*
Run Code Online (Sandbox Code Playgroud)

我们知道,.表示当前目录,..表示父目录。当您使用 运行命令时.*,它仅表示匹配当前目录中的任何隐藏文件(用 表示.)、当前目录本身(.)、父目录(..)。简单地在.(*表示 0 个或多个字符)之后放任何东西。因此,父目录及其所有子目录都被chown-ed 到admin:admin.

看看这个测试:

sudo chown -R admin:admin .*
Run Code Online (Sandbox Code Playgroud)

要恢复,您需要chown再次访问受影响的目录。

我不太确定你的计划是什么,但这里有一些想法: