一般的なUnix権限システムは、グループメンバーにファイル権限を変更する権限を付与できますか?
つまり、グループに属するawesome.rb
ユーザーが所有するファイルがあり、グループのメンバーでもあるユーザーが特定のファイルを実行可能にする必要があるとします。これを可能にする方法はありますか?brandon
developers
darryl
developers
答え1
ファイルがあるディレクトリへの書き込みアクセス権がある限り、ファイルの削除権限を持つことができます。所有者だけが通常の Unix 権限を使用して権限を変更できます。
メモ:ユーザーがグループのメンバーであり、ファイルに対する権限を持っている場合、グループrwx
のメンバーはファイルを編集して実行できます。残りの権限はディレクトリ権限とは別です。
はい
$ groups
saml tmux vboxusers jupiter
# have write perms on dir
$ ls -dl ../somedir/
drwxrwx--- 2 root tmux 4096 May 14 15:36 ../somedir/
$ ls -l
-rw-rw---- 1 root tmux 0 May 14 15:36 somefile
# can delete file
$ rm somefile
$
# don't have write perms on dir
$ ls -ld ../somedir/
drwxr-x--- 2 root tmux 4096 May 14 15:39 ../somedir/
$ ls -l
-rw-rw---- 1 root tmux 0 May 14 15:39 somefile
# can't delete file
$ rm somefile
rm: cannot remove `somefile': Permission denied
# can't move file either
$ mv somefile /tmp/
mv: cannot remove `somefile': Permission denied
アクセス制御リスト(ACL)を使用すると、より複雑で柔軟な権限を生成できます。
引用する
答え2
残念ながら、ファイルセキュリティ管理は所有ユーザーの仕事と見なされます。chmod u+s /bin/chown
ターゲットユーザーにCAP_CHOWNを実行または提供しないとpam_cap.so
(両方ともシステム上のすべてのファイルに対するrootレベルのchowning権限が付与されるため危険です)、所有ユーザーとrootだけがそれに触れる可能性があります。