私がアクセスできないファイルへのシンボリックリンクを作成できますか?

私がアクセスできないファイルへのシンボリックリンクを作成できますか?

[婦人声明:この質問には悪意のある意図はありません。学校プロジェクトのln -sコマンドを理解しようとしています。]

私のホームフォルダを含むファイルシステムがあるとしましょう/home/anna/home/bobはアクセスできないフォルダであり、その中にアクセスできないファイルがあります。foo.txt

ln -s /home/bob/foo.txt私のホームフォルダで正常に実行できますか?可能であれば、私がアクセスできない(と同じ権限でfoo.txt)リンクを作成すると仮定するのは正しいですか?

読み取りアクセス権があるがアクセスできない場合はfoo.txtどうすればよいですか/home/bob

/home/bobアクセスできますが読めない反対の状況はどうですかfoo.txt

ベストアンサー1

はい、シンボリックリンクを作成できますどの場所。

ln -s /home/bob/foo.txt私のホームフォルダで正常に実行できますか?可能であれば、私がアクセスできない(と同じ権限でfoo.txt)リンクを作成すると仮定するのは正しいですか?

正しい。ターゲットファイルへのアクセス制限が適用されます。制限されたリソースへのシンボリックリンクを作成すると、そのリソースにアクセスできなくなります。ターゲットファイルが実際に存在する必要はありません。

デモ:

$ ln -s /etc/shadow foo
$ file foo
foo: symbolic link to /etc/shadow
$ cat foo
cat: foo: Permission denied

$ ln -s /etc/nonexistent bar
$ file bar
bar: broken symbolic link to /etc/nonexistent

読み取りアクセス権があるがアクセスできない場合はfoo.txtどうすればよいですか/home/bob

親ディレクトリに対する権限がない場合埋め込みファイルにアクセスできません。。したがって、まだシンボリックリンクを使用してアクセスできません。シンボリックリンクを作成しても権限に影響はありません。

/home/bobアクセスできますが読めない反対の状況はどうですかfoo.txt

同様に、シンボリックリンクを作成できますが、ファイルにアクセスすることはできません。

おすすめ記事