假设我想为一个文件夹/media/drive/here
(由一个组拥有)创建一个到文件夹的符号链接/home/pepe/private/here
,所有中间文件夹都需要打开 x 位吗?
/media/drive
当我在这里执行 cd时,计算机会做什么?它只是内部吗cd /home/pepe/private/here
? (在这种情况下,我必须将 x 位设置为每个中间文件夹,以便其他用户只能访问我的私人文件夹,但仍然不确定这是否正确,我认为只有/home/pepe/private/here
事务的权限,而不是他们的父文件夹)
答案1
为了补充 @Rabin 的评论,您可以通过stat
'ing root
path 来确认这一点:
# stat /
File: '/'
Size: 4096 Blocks: 8 IO Block: 4096 directory
Device: fe01h/65025d Inode: 2 Links: 23
Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root)
Access: 2017-01-03 11:51:24.202486304 +0000
Modify: 2016-06-20 16:31:24.210935643 +0100
Change: 2016-06-20 16:31:24.210935643 +0100
Birth: -
如果root
没有o+x
设置位,您将无法以普通用户身份访问您的主目录。
符号链接基本上用于使事情变得简单。例如,在大多数系统中/lib
和/lib64
指向完全相同的位置,否则这些将是同一目录的副本。
另请注意以下摘录man chmod
:
chmod 永远不会更改符号链接的权限; chmod 系统调用无法更改其权限。这不是问题,因为符号链接的权限从未被使用过。
因此,您无法更改的权限,symlinks
并且您的用户必须有权访问symilinks
正在遍历的所有资源。