Linux 系统的文件权限 (7) 跨越目录递归授权限制的 Hard Link

使用 ls -li 查看文件的 id

链接在 Linux 中是指向另一个文件的指针. 有两种类型 软连接(Soft Link, Symbolic Link)硬链接(Hard Link).

  • 软连接在目标文件被删除的时候, 指向不再正常. 硬链接在目标文件被删除的时候, 仍然可以正常访问.
  • 软连接可以指向文件或者文件夹, 硬链接只能指向文件.
  • 软连接文件的 Inode 与源文件不同, 权限一般是 lrwxrwxrwx, 硬链接 Inode 与源文件相同, 权限也与源文件相同.
  • 软连接文件属性以 l 开头, 硬链接与指向文件相同以 - 开头.
  • 软连接只是存储目标的位置, 硬链接存储真实数据.
  • 软连接可以跨越文件系统, 硬链接不能跨文件系统.
  • 软连接创建 ln -s source target, 硬链接创建 ln source target

上面列举了软硬连接的区别.

当有一个文件, 存储在很深的文件层级下, 想对其他用户对该文件进行授权, 但是又不想让用户对级联的文件夹有权限, 可以使用硬链接.

例如 A 用户有文件 /a/b/c/d/e/file, 想向其他用户授权 file 的读权限, 但是又不能让其他用户有访问 /a/b/c/d/e/ 任意层级文件夹的权限, 可以使用 ln /a/b/c/d/e/file /tmp/file.

扩展需要对目录增加访问权限, 使用定时任务对 Hard Link 做一个定时删除和创建.

参考文档

Donate - Support to make this site better.
捐助 - 支持我让我做得更好.