폴더 내의 파일에 대한 권한 변경

폴더 내의 파일에 대한 권한 변경

다음 문제를 해결하려고합니다. 나는 다음 지침을 읽었습니다.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:rwxACL 마스크를 명시적으로 조정하려면 ACL 사양을 추가해야 합니다 .)

수도

-R디렉터리(및 디렉터리에서 생성한 모든 새 파일)에 수정 후 원하는 권한이 있는 경우 /var/www/pgcluu/stats.

관련 정보