哪些权限会影响硬链接的创建?文件所有权本身重要吗?
假设用户alice
想target.txt
在目录中创建到文件的硬链接target-dir
。
- 和都
alice
需要哪些权限?target.txt
target-dir
- 如果
target.txt
是由用户拥有bill
和target-dir
被用户所拥有chad
,它改变什么?
我试图模拟这种情况,在ext4
文件系统中创建以下文件夹/文件结构:
#> ls -lh . *
.:
drwxr-xr-x 2 bill bill 60 Oct 1 11:29 source-dir
drwxrwxrwx 2 chad chad 60 Oct 1 11:40 target-dir
source-dir:
-r--r--r-- 1 bill bill 0 Oct 1 11:29 target.txt
target-dir:
-rw-rw-r-- 1 alice alice 0 Oct 1 11:40 dummy
虽然alice
可以创建到的软链接target.txt
,但她不能创建硬链接:
#> ln source-dir/target.txt target-dir/
ln: failed to create hard link ‘target-dir/target.txt’ => ‘source-dir/target.txt’: Operation not permitted
如果alice
拥有target.txt
且未更改任何权限,则硬链接成功。我在这里想念什么?
这是作业吗?如果可能的话,这可能会影响某些人会选择给出的答案的种类(并不是要问有关课程分配的问题是不合理的)。无论如何,您是否尝试过创建该场景并查看会发生什么?
—
埃里克·雷诺夫
不,这不是分配任务。我正在面对这种确切的情况,并且有一些猜测,但是我认为从理论的角度出发最好。就我而言,除非我是root 用户,否则无论
—
gcscaglia 2015年
target.txt
和target-dir
权限我都无法创建硬链接sudo
。
硬链接共享相同的所有权和权限,因此与访问原始文件相同。
—
teppic 2015年
@teppic我的难点不是访问创建的硬链接,而是创建硬链接
—
gcscaglia
alice
。我既可以访问原始文件,也可以访问到该文件的硬链接(使用创建sudo
),但是我无法创建该链接用户alice
虽然大家都同意这些权限应该是足够了。