当我使用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脚本进入单个文件系统,并根据文件类型创建硬链接和软链接,我希望它保留权限。
你在哪个站台工作?如果您在linux上,那么根本不使用符号链接权限,所以不管它们的值是什么,都没有人关心。在BSD、OSX或其他口味上可能会有所不同。
我想在unix子论坛上可以更好地回答这个问题。
我发现一个目录的默认权限是777
嗯,我真的不知道你从哪里得到的。文件和目录的默认权限(仍然在linux上)仅仅取决于进程的umask。参见man umask
。