使用符号链接提供对受限目录下特定文件的访问

使用符号链接提供对受限目录下特定文件的访问

我的主目录权限只允许我自己访问。是否可以将一个文件放在我的主目录中,并设置完全权限,然后创建一个指向它的符号链接,以便其他用户可以单独访问我主文件夹中的该文件?系统是 Ubuntu Karmic。

答案1

可以,但不能使用符号链接。这称为硬链接。用法:

ln /home/you/the-file /some/public/folder/

将在 中创建对文件“the-file”的引用/some/public/folder/the-file

硬链接指向相同的 inode(文件、目录等)。符号链接有自己的 inode,例如在 chroot 中不起作用。由于硬链接链接到 inode 而不是路径,因此只能在相同的文件系统上使用。

另一种方法是绑定挂载。这将需要 root 权限才能运行mount命令,并且只能用于目录。用法:

sudo mount --bind /home/you/the-folder-to-be-shared/ /some/public/folder

/some/public/folder应该是一个存在的文件夹。它不必为空,但建议为空,因为/home/you/the-folder-to-be-shared在 上安装后内容将不可见/some/public/folder。如果您决定从 中删除此共享文件夹/some/public/folder,请运行:

sudo umount /some/public/folder

答案2

一种更简单的方法是在您的主目录中创建一个目录,将其设置为您想要读取的用户的任何权限,然后将您的主目录设置为 701 权限。

对于目录,需要读取权限才能列出内容、执行权限才能进入(如遍历,如 ls 的 /path/to/dir 部分中所做的那样),以及写入权限才能创建文件(与执行一起时)。

ls /home/[用户]——权限被拒绝
ls /home/[用户]/[共享目录]——允许

有人知道这个有什么缺点吗?请评论。

相关内容