提问者:小点点

为什么符号链接的权限默认为all permissive?


当我使用ln创建硬链接时:

ln testfile.txt testfile2.txt

使用ls-li的inode表中的两个别名的inode号确认的文件hardlink,对硬链接文件具有与原始名称文件相同的初始权限:

1222285 -rw-------   2 cs9****-**  cs******        98 Apr  9 15:00 testfile.txt
1222285 -rw-------   2 cs9****-**  cs******        98 Apr  9 15:00 testfile2.txt

然而,当我创建一个符号链接时:

ln -s testfile.txt testfile3.txt

并用之前的ls命令再次确认,它表明它是权限列表中与l的软链接。但是,我的符号链接具有所有用户类型(组,用户和其他)的所有权限:

1222285 -rw-------   2 cs9****-**  cs******        98 Apr  9 15:00 testfile2.txt
1222285 -rw-------   2 cs9****-**  cs******        98 Apr  9 15:00 testfile.txt
1222286 lrwxrwxrwx   1 cs9****-**  cs******        12 Apr  9 15:08 testfile3.txt -> testfile.txt

这就引出了我的问题:

>

如何创建与原始符号链接具有相同初始权限的符号链接?具体来说,我之所以要这样做,是因为我想编写一个shell脚本进入单个文件系统,并根据文件类型创建硬链接和软链接,我希望它保留权限。


共1个答案

匿名用户

你在哪个站台工作?如果您在linux上,那么根本不使用符号链接权限,所以不管它们的值是什么,都没有人关心。在BSD、OSX或其他口味上可能会有所不同。

我想在unix子论坛上可以更好地回答这个问题。

我发现一个目录的默认权限是777

嗯,我真的不知道你从哪里得到的。文件和目录的默认权限(仍然在linux上)仅仅取决于进程的umask。参见man umask