2016-11-17 4 views

答えて

0

ソースディレクトリに対する実行権限が必要で、ターゲットディレクトリに+実行権限を書き込む必要があります。ソースファイルに対するパーミッションは関係ありません。

0

シンボリックリンクでは、ソースディレクトリに対してwrite + executeが必要です。ターゲットディレクトリまたはファイルに必要なパーミッションも、それが存在するためのパーミッションもありません。もちろん、それは役に立たないでしょう:)

-bash-4.2$ ln -s /non-exist/non-existent source/target 
-bash-4.2$ ls -l source/target 
lrwxrwxrwx. 1 s s 23 Nov 18 00:08 source/target -> /non-exist/non-existent 
-bash-4.2$ ls -ld source 
d-wx------. 2 s s 19 Nov 18 00:08 source 

ハードリンクの場合は、ソースディレクトリにwrite + executeが必要です。ターゲットディレクトリは同じファイルシステム上にあり、ターゲット(およびその親ディレクトリ)上で実行する必要があります。

-bash-4.2$ ls -ld sourcedir 
d-wx------. 2 s s 6 Nov 18 00:20 sourcedir 
-bash-4.2$ ls -ld targetdir 
d--x------. 2 s s 23 Nov 18 00:18 targetdir 
-bash-4.2$ ls -li targetdir/targetfile 
21236391 ----------. 1 s s 0 Nov 18 00:11 targetdir/targetfile 
-bash-4.2$ ln targetdir/targetfile sourcedir/link 
-bash-4.2$ ls -li sourcedir/link 
21236391 ----------. 2 s s 0 Nov 18 00:11 sourcedir/link 
関連する問題