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

Unix 为什么符号链接的权限默认为all permissive?,unix,permissions,symlink,inode,Unix,Permissions,Symlink,Inode,当我使用ln创建硬链接时: ln testfile.txt testfile2.txt 通过inode表中两个别名的相同inode编号确认的文件硬链接(使用ls-li)与原始名称的文件具有相同的硬链接文件初始权限: 1222285 -rw------- 2 cs9****-** cs****** 98 Apr 9 15:00 testfile.txt 1222285 -rw------- 2 cs9****-** cs****** 98 Apr 9

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

ln testfile.txt testfile2.txt
通过inode表中两个别名的相同inode编号确认的文件硬链接(使用
ls-li
)与原始名称的文件具有相同的硬链接文件初始权限:

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
的软链接。但是,my symlink拥有所有用户类型(组、用户和其他)的所有权限:

这就引出了我的问题:

  • 为什么符号链接的初始权限都是许可的?我知道它是一种不同的文件类型,但为什么它从所有初始权限开始?从上的一个问题中,我发现目录的默认权限是777,它恰好与我的符号链接的权限相同。目录和符号链接的权限是否存在某种关联

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


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

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

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


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

    哈哈……学会了如何使用反掩码。我还不知道如何使用它来达到我的目的,但这是一个开始。谢谢
    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