私は実際にUNIXを学び始め、それ以来ずっとUNIXに固執しています。この質問は愚かなようですが、実際にはわかりません。助けてください。
somefile.txtというファイルと参照されたシンボリックリンクがありsomefile.txt
、基本権限が両方にあることがわかりましたrw-r--r--
。
somefile.txt
()の権限を変更したときに両方のファイルchmod ugo=rwx somefile.txt
がrwxrwxrwx
。理由を知りたいです。私はRedHat cygwinを使用しています。chmod u-rx somefile.txt
somefile.txt
答え1
1 つ以上のコマンド出力が無効です。シンボリックリンクに対する権限は常にですrwxrwxrwx
。またはまったく権限がありません。
$ touch file
$ ls -l
total 0
-rw-rw-r-- 1 muru muru 0 Dec 5 20:53 file
$ ln -s file link
$ ls -l
total 0
-rw-rw-r-- 1 muru muru 0 Dec 5 20:53 file
lrwxrwxrwx 1 muru muru 4 Dec 5 20:53 link -> file
$ chmod a+x file
$ ls -l
total 0
-rwxrwxr-x 1 muru muru 0 Dec 5 20:53 file
lrwxrwxrwx 1 muru muru 4 Dec 5 20:53 link -> file
これを見てFreeBSD FAQより多くの情報を知りたいです。
Linuxを使用しているので、man chmod
説明する:
chmod never changes the permissions of symbolic links; the chmod system
call cannot change their permissions. This is not a problem since the
permissions of symbolic links are never used. However, for each
symbolic link listed on the command line, chmod changes the permissions
of the pointed-to file. In contrast, chmod ignores symbolic links
encountered during recursive directory traversals.