
www\
つまり、次のようなディレクトリがあります:
[eugene@server ~]$ ll 合計 0 drwxrwx---. 2 ユージーン ユージーン 57 12月10日 16:04 www
このディレクトリに作成されたすべての新しいファイルがグループに属するようにしたいapache
そして権限を持っています770
。
そこで私はこうしました:
[eugene@server ~]$ chgrp apache www/ [eugene@server ~]$ setfacl -Rm u:eugene:rwx,d:g:apache:rwx,d:o:--- www/ [eugene@server ~]$ ll drwxrwx---+ 2 eugene apache 43 12月10日 16:10 www [eugene@server ~]$ echo 123 > www/test.txt [eugene@server ~]$ ll www/ -rw-rw----+ 1 ユージーン ユージーン 12月4日 10 16:11 test.txt [eugene@サーバー ~]$
ご覧のとおり、test.txt
は予期されたグループなしで作成されましたapache
。 また、x
(実行) 権限も設定されていません...
ここで何が欠けているのでしょうか?
答え1
ディレクトリ内のファイルを Apache グループで作成するには、SETGUID ビットを設定することをお勧めします。
chmod +2000 www
ファイルを作成するためのデフォルトの権限については、デフォルトの Linux umask が常に優先されるため、ACL を使用して行うことはできません。umask では、作成されたファイルの権限に 7 桁の数字 (rwx) を含むファイルの作成は許可されません。
代わりにスクリプトを作成することができますmkファイル中身は次の通りです:
touch $1
chmod 770 $1
実行可能にする:
chmod 750 mkfile
これを /usr/local/bin フォルダに配置します。これで、どこにでも 770 権限のファイルを作成できます。
mkfile my_file