フォルダ内のファイルの権限の変更

フォルダ内のファイルの権限の変更

次の問題を解決しようとしています。私は次の指示を読んだ。Linuxでグループ権限を継承する新しいファイルをインポートする しかし、これは私には役に立ちません。

(pgcluはpostgresqlクラスタ監視プログラムです)

使っていますDebian server

フォルダがあります。 /var/www/pgcluu

そのフォルダ内にフォルダがあります stats reportsstatsフォルダの権限と所有権をpostgresに変更しました。chmod -R postgres:postgres /var/www/pgcluu(したがって、フォルダ全体はpostgresの所有者です)

一方、pgCluuはstatsフォルダ内からデータを収集してファイルを生成しています。のように見えます。デフォルトでは、/var/www/pgcluu/stat/2018/04/04/09 フォルダ/year/month/day/hour/ 内にはhour次のファイルがあります。

-rw-r-----+ 1 postgres postgres    44 Apr  4 10:20 pg_stat_connections.csv
-rw-r-----+ 1 postgres postgres   940 Apr  4 10:20 pg_stat_database_conflicts.csv
-rw-r-----+ 1 postgres postgres  2479 Apr  4 10:20 pg_stat_database.csv
-rw-r-----+ 1 postgres postgres     1 Apr  4 10:20 pg_stat_replication.csv
-rw-r-----+ 1 postgres postgres     0 Apr  4 10:20 pg_stat_statements.csv
-rw-r-----+ 1 postgres postgres    88 Apr  4 10:20 postgresql.auto.conf
-rw-r-----+ 1 postgres postgres 21425 Apr  4 10:20 postgresql.conf
-rw-r-----+ 1 postgres postgres 70009 Apr  4 10:20 sysinfo.txt

これは単なる例であり、多くの文書があります。

これらのファイルは1分ごとに作成されますがpgcluu_collectd(変更可能)、再作成する必要があるため、rw- rw- ---これを行うには権限が必要です。 (所有者とグループはファイルに対する読み取りおよび書き込み権限を持っている必要があります。)私が直接変更するたびに、pgcluu_collectdはrw- r-- ---ファイルに再び権限を与えます。

それでは、ファイルにフォルダの権限を継承させる方法はありますか?/var/www/pgcluu/stats

root@p12: getfacl /var/www/pgcluu/stats/

# file: var/www/pgcluu/stats/
# owner: postgres
# group: postgres
# flags: -s-
user::rwx
group::rwx
other::---
default:user::rwx
default:group::r-x
default:group:postgres:r-x
default:mask::r-x
default:other::---

そしてファイルに

root@p12:getfacl /var/www/pgcluu/stats/2018/04/04/10/pg_hba.conf 
# file: var/www/pgcluu/stats/2018/04/04/10/pg_hba.conf
# owner: postgres
# group: postgres
user::rw-
group::r-x          #effective:r--
group:postgres:r-x      #effective:r--
mask::r--
other::---

答え1

getfaclこのディレクトリの出力はこれを説明します。 4行目:

# flags: -s-

setgidディレクトリに作成されたすべてのファイルがディレクトリと同じグループを持つように、ディレクトリにビットが設定されていることを示します。新しいサブディレクトリはグループとビットを継承しますsetgid。これはACLとまったく関係ありません。ただ基本的なものにすぎませんchmod 2755

リストの末尾にはキーワードが表示された複数行がありますdefault

default:user::rwx
default:group::r-x
default:group:postgres:r-x
default:mask::r-x
default:other::---

これは、新しいファイルまたはサブディレクトリが受け取る権限をより詳細に指定します。この場合、標準 POSIX グループ所有者に rx グループ権限を適用し、postgres作成者がグループに属しているかどうかに関係なく、グループに明示的な rx 権限を追加します。グループ書き込みアクセス権を持つファイルが必要な場合は、そのファイルを変更する必要があります。

この試み:

setfacl -m g::rwX,d:g::rwX,d:g:postgres:rwX /var/www/pgcluu/stats

Linuxでは、setfacl書き込みmaskアクセスを含めるためにACLセクションを自動的に更新する必要があります。 (より限定的なPOSIXシステムでは、d:m:rwxACLマスクを明示的に調整するにはACL仕様を追加する必要があります。)

首都

-Rディレクトリ(およびディレクトリによって作成されたすべての新しいファイル)に変更後に必要な権限がある場合/var/www/pgcluu/stats

関連情報