다음 문제를 해결하려고합니다. 나는 다음 지침을 읽었습니다.Linux에서 그룹 권한을 상속할 새 파일 가져오기 그러나 이것은 나에게 도움이 되지 않습니다.
(pgclu는 postgresql 클러스터 모니터링 프로그램입니다)
나는 사용하고있다Debian server
폴더가 있어요 /var/www/pgcluu
해당 폴더 안에 폴더가 있습니다
stats
reports
. stats
폴더 권한과 소유권을 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
이 디렉터리의 출력이 이에 대해 설명합니다. 네 번째 줄:
# 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:rwx
ACL 마스크를 명시적으로 조정하려면 ACL 사양을 추가해야 합니다 .)
수도
-R
디렉터리(및 디렉터리에서 생성한 모든 새 파일)에 수정 후 원하는 권한이 있는 경우 /var/www/pgcluu/stats
.