Chr*_*rie 5 unix permissions symlink inode
当我使用ln以下方法创建硬链接时:
ln testfile.txt testfile2.txt
Run Code Online (Sandbox Code Playgroud)
文件硬链接(由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
Run Code Online (Sandbox Code Playgroud)
但是,当我创建符号链接时:
ln -s testfile.txt testfile3.txt
Run Code Online (Sandbox Code Playgroud)
并使用上一个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
Run Code Online (Sandbox Code Playgroud)
这让我想到了我的问题:
为什么符号链接的初始权限是全权许可的?我知道这是一个不同的文件类型,但为什么它从所有初始权限开始?从UNIX/Linux.SE上的一个问题,我发现目录的默认权限是777,这与我的符号链接的权限相同.目录和符号链接的权限是否以某种方式相关?
如何创建与原始权限具有相同初始权限的符号链接?具体来说,我想要这样做的原因是我想编写一个shell脚本进入单个文件系统并根据文件类型制作硬链接和软链接,我希望它保留权限.
您在哪个平台上工作?如果您使用的是 Linux,则根本不会使用符号链接权限,因此无论其值如何,没有人关心。这在 BSD、OSX 或其他版本上可能有所不同。
我想这个问题可以在 unix 子论坛上得到更好的回答。
我发现目录的默认权限是777
嗯,我真的不知道你从哪里得到的。文件和目录的默认权限(仍然在 Linux 上)仅取决于进程的 umask。看man umask。
| 归档时间: |
|
| 查看次数: |
900 次 |
| 最近记录: |