2009-11-09 13:02:39 +0000 2009-11-09 13:02:39 +0000
319
319

chown无法更改符号链接

我试图用命令:

$ chown -h myuser:mygroup mysymbolic/

&001

来更改一个符号链接的用户/组,但是没有改变。我是以root身份登录的。当前的用户/组被设置为root:root。到底是什么问题?

答案 (8)

391
391
391
2009-11-09 13:16:42 +0000

我是在目标末尾放了一个斜线:

chown -h myuser:mygroup mysymbolic/

刚去掉末尾的斜线就可以了。下面是正确的方法:

chown -h myuser:mygroup mysymbolic
29
29
29
2009-11-09 13:08:43 +0000

我自己试过这个,它对我来说是有效的。如果你有-h,它会改变符号链接的所有者,但如果你没有,它改变的是文件本身的所有者,而不是链接。

7
7
7
2013-12-30 16:43:51 +0000

即使是chown,我也无法使用-h的目录,但使用完整的路径就可以了。

4
4
4
2017-12-05 11:02:14 +0000

简单的说,

chown -h myuser:mygroup <symlink> [without trailing slash]

应该是够用了,而且还能用!&nbsp。

3
3
3
2012-04-26 09:15:50 +0000

通过myuser在myuser的首页重新创建该链接,然后通过sudo将该链接mv到目标位置。以myuser的身份),ln -s somedir/ linkname(如果somedir/不存在于用户的目录中,那么

然后,sudo mv linkname targetlocation(只要targetlocation/somedir/存在,就会变成有效的链接

1
1
1
2014-09-16 17:46:29 +0000

我也遇到了类似的问题。对我来说,无论我如何调用chmod,我都无法对符号链接进行chmod,即使是作为root,也无法对其进行chmod。更加混乱的是,nautilus显示的所有者/组是空的。而所有者只是空的。所以我尝试着用nautilus作为root运行来改变符号链接,因为chmod不起作用,nautilus崩溃了!!

但我想我想我想出了问题。符号链接所指向的目录的权限与符号链接不同。所以我把目标目录(使用 -h)chmod'ed到我的用户/组名。然后再把符号链接修改为同样的目录,就成功了。

所以对于其他有类似问题的人来说,请检查目标目录/文件的权限,确保它与你设置的符号链接的权限兼容。

1
1
1
2016-08-11 05:24:48 +0000

对于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/
```来实现对目录的符号链接。
1
1
1
2015-11-01 19:12:57 +0000

请注意,只有当目标被你要指定的新用户_访问的时候,改变一个symlink的owner才能生效。