快捷搜索: 王者荣耀 脱发

chown -R 改不了软链接指向的文件权限?

关于chown命令的奇怪问题

  都知道在linux系统中,chown 命令用来修改文件或目录的属组,而 chown 后加 -R 参数,则会修改指定目录即该目录下的所有文件的属组。   那么 chown 命令修改一个软连接文件的权限呢? 比如: chown hack:hack link,结果如下    当然是改软连接指向的目标文件的属组,如果target是目录也一样。 ok, 继续执行 chown -R 操作软连接文件看看,chown -R hack:hack dirlink,此时软连接dirlink指向一 个目录,结果如下      纳尼!居然仅仅改了链接文件本身的属组,不科学呀,其他OS上面能把目标路径及路径下的文件属组改了,难道OS不一样实现的机制不同,亦或是高版本的linux内核已做了相关的防御措施?这个问题留着再验证下…   我的问题在于,chown -R 在操作目标目录时,如果该目录下存在软链接文件,能否把链接指向的目标文件属组篡改?执行 chown -R hack:hack targetDir,结果如下    结果显示,chown -R 会将目标目录及该目录下的所有文件、目录、链接文件的属组修改,但是并没有改变软链接指向的 /etc/passwd 文件的属组,即得到的答案是:chown -R 不能修改链接指向的目标文件或目录属组   奇怪的是,在内核为 3.x 版本的Linux OS 中是可以把链接指向的目录属组改了,目前是在内核4.4版本的系统中试验,可能高版本的内核加了一些防护,之后做下查证。   但这里也证明 chown -R 不同于 chown,chown -R 不能修改软链接指向的目标文件的属组,但低版本的内核是可以改链接的目录的属组的。

chown -R 误区
经验分享 程序员 微信小程序 职场和发展