chown无法更改符号链接
我试图用命令:
$ chown -h myuser:mygroup mysymbolic/
&001
来更改一个符号链接的用户/组,但是没有改变。我是以root身份登录的。当前的用户/组被设置为root:root。到底是什么问题?
我试图用命令:
$ chown -h myuser:mygroup mysymbolic/
&001
来更改一个符号链接的用户/组,但是没有改变。我是以root身份登录的。当前的用户/组被设置为root:root。到底是什么问题?
我自己试过这个,它对我来说是有效的。如果你有-h,它会改变符号链接的所有者,但如果你没有,它改变的是文件本身的所有者,而不是链接。
即使是chown
,我也无法使用-h
的目录,但使用完整的路径就可以了。
简单的说,
chown -h myuser:mygroup <symlink> [without trailing slash]
应该是够用了,而且还能用! 。
我也遇到了类似的问题。对我来说,无论我如何调用chmod,我都无法对符号链接进行chmod,即使是作为root,也无法对其进行chmod。更加混乱的是,nautilus显示的所有者/组是空的。而所有者只是空的。所以我尝试着用nautilus作为root运行来改变符号链接,因为chmod不起作用,nautilus崩溃了!!
但我想我想我想出了问题。符号链接所指向的目录的权限与符号链接不同。所以我把目标目录(使用 -h)chmod'ed到我的用户/组名。然后再把符号链接修改为同样的目录,就成功了。
所以对于其他有类似问题的人来说,请检查目标目录/文件的权限,确保它与你设置的符号链接的权限兼容。
对于Solaris(在S11.3上验证),你需要运行
root@ac11x017:/var/tmp$ ls -lal dumpdir
lrwxrwxrwx 1 root root 16 Jun 15 09:08 dumpdir -> /data/dumpdir/
root@ac11x017:/var/tmp$ chown -RP oracle:oinstall dumpdir
lrwxrwxrwx 1 oracle oinstall 16 Jun 15 09:09 dumpdir -> /data/dumpdir/
```来实现对目录的符号链接。
请注意,只有当目标被你要指定的新用户_访问的时候,改变一个symlink的owner
才能生效。