Rob*_*J1M 2 upgrade permissions home-directory 12.04 chown
我已将 Ubuntu PC 从 10.04 升级到 12.04。
问题是主文件夹上的所有权限都是错误的。
所以,我做了以下事情:
sudo chown -R james:james /home/james/*
sudo chown -R james:james /home/james/.*
sudo chown -R htpc:htpc /home/htpc/*
sudo chown -R htpc:htpc /home/htpc/.*
Run Code Online (Sandbox Code Playgroud)
但是您最终会在 james:james 或 htpc:htpc 中的两个文件夹中获得所有文件,具体取决于您运行命令的方式。
如何成为链接,我该如何解决?
按照要求:
james@htpc:~$ ls -l /home
total 8
drwxr-xr-x 41 james james 4096 May 20 19:32 htpc
drwxr-xr-x 31 james james 4096 May 20 20:04 james
james@htpc:~$ ls -l /home/htpc
total 236
drwxr-xr-x 4 james james 4096 Nov 25 13:19 Desktop
drwxr-xr-x 2 james james 4096 Mar 13 2011 Documents
drwxr-xr-x 5 james james 4096 Dec 22 2010 Downloads
-rw-r--r-- 1 james james 179 Nov 18 2010 examples.desktop
-rwxr-xr-x 1 james james 85 Dec 27 2010 goback
-rw-r--r-- 1 james james 425 Nov 28 2010 modelines
drwxr-xr-x 5 james james 4096 Dec 27 2010 Music
drwxr-xr-x 22 james james 4096 Oct 29 2012 Pictures
drwxr-xr-x 2 james james 4096 Nov 18 2010 Public
drwxr-xr-x 2 james james 4096 Nov 18 2010 Templates
-rwxr-xr-x 1 james james 251 Dec 27 2010 testmode
drwxr-xr-x 2 james james 4096 Dec 23 2010 Videos
-rwxr-xr-x 1 james james 190672 Nov 6 2010 winetricks
james@htpc:~$
Run Code Online (Sandbox Code Playgroud)
这是因为 shell 将“.*”扩展为“..”或向上一级目录。
在这种情况下,IMO 最好使用 find
成为root
sudo -i
Run Code Online (Sandbox Code Playgroud)
运行查找
find /home/$user -exec chown $user:$user {} \;
Run Code Online (Sandbox Code Playgroud)
将 $user 更改为适当的用户名
理论上, chown 应该使用 -R 而没有通配符
sudo chown -R $user:$user /home/$user
Run Code Online (Sandbox Code Playgroud)
但我认为这遗漏了隐藏文件或 .files,这就是 RoboJ1M 尝试导致问题的“.*”的原因。
每个文件夹都包含一个名为..
. 这个文件的特殊之处在于它指向包含当前工作目录的目录。例如:
$ pwd
/path/to/dir
$ cd ..
$ pwd
/path/to
Run Code Online (Sandbox Code Playgroud)
因为您指定.*
为参数,shell 会将其扩展到每个以“.”开头的文件,包括..
. 这意味着您的操作在当前工作目录中的所有内容上运行,但也在父目录 ( /home
) 上运行。因为您指定了递归,所以您将文件/home
夹中的每个文件和目录更改为您指定的任何所有权。事实上,您可能已经更改了系统上每个文件的所有者。我建议运行ls -l /
以检查是否发生了这种情况 - 如果发生了,您可能会遇到问题。
归档时间: |
|
查看次数: |
3151 次 |
最近记录: |