どの許可がハードリンクの作成に影響しますか?ファイルの所有権自体が重要ですか?
ユーザー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
し、権限が変更されていない場合、ハードリンクは成功します。ここに何が欠けていますか?
target.txt
、target-dir
アクセス許可に関係なくハードリンクを作成できませんsudo
。
alice
アクセスせず、元のファイルとそのハードリンク(で作成sudo
)の両方にアクセスできるため、ハードリンクを作成することですが、リンクを次のように作成することはできませんユーザーalice
はこれらのアクセス許可にすべて同意しているにもかかわらず、それで十分なはずです。