当我使用 ln
创建硬链接(hard link)时:
ln testfile.txt testfile2.txt
文件硬链接(hard link),由 inode 表中两个别名的相同 inode 编号确认,
ls -li
, 对硬链接(hard link)文件具有与具有原始名称的文件相同的初始权限:1222285 -rw------- 2 cs9****-** cs****** 98 Apr 9 15:00 testfile.txt
1222285 -rw------- 2 cs9****-** cs****** 98 Apr 9 15:00 testfile2.txt
但是,当我创建符号链接(symbolic link)时:
ln -s testfile.txt testfile3.txt
并与之前的
ls
再次确认命令,它显示它是与l
的软链接(soft link)在权限列表中。但是,我的符号链接(symbolic link)对所有用户类型(组、用户和其他)具有所有权限: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
这让我想到了我的问题:
最佳答案
你在哪个平台上工作?
如果您在 linux 上,则根本不使用符号链接(symbolic link)权限,因此无论其值(value)如何,没人关心。这在 BSD、OSX 或其他版本上可能会有所不同。
我猜这个问题可以在 unix 子论坛上得到更好的回答。
I discovered that the default permissions for a directory are 777
嗯,我真的不知道你从哪里得到的。文件和目录的默认权限(仍然在 linux 上)仅取决于进程的 umask。见
man umask
.
关于unix - 为什么符号链接(symbolic link)的权限默认为all-permissive?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22975261/