[婦人声明:この質問には悪意のある意図はありません。学校プロジェクトの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
?
同様に、シンボリックリンクを作成できますが、ファイルにアクセスすることはできません。