루트가 소유한 디렉터리에서 사용자 계정이 소유한 파일 읽기/액세스

루트가 소유한 디렉터리에서 사용자 계정이 소유한 파일 읽기/액세스

pgbackrest저는 비밀번호 비활성화 라는 SSH 전용 사용자 계정을 가지고 있습니다 . 루트( )로 /etc/pgbackrest/ 디렉토리를 만들었습니다 sudo mkdir -p /etc/pgbackrest. 그런 다음 위 디렉터리 아래에 구성 파일을 만들고 소유권을 해당 계정으로 변경한 pgbackrestsudo chmod 640 /etc/pgbackrest/pgbackrest.conf 다음 명령을 사용하여 편집하려고 했습니다.

  1. pgbackrestuser 로 전환 sudo su - pgbackrest하고 vim 편집기 vim /etc/pgbackrest/pgbackrest.conf로 들어갑니다 ./etc/pgbackrest/pgbackrest.conf" [Permission Denied]
  2. sudo -u pgbackrest vim /etc/pgbackrest/pgbackrest.conf, /etc/pgbackrest/pgbackrest.conf" [Permission Denied]vim 편집기로 들어갑니다.

상위 디렉토리의 권한으로 인해 편집이 금지됩니까? 640은 소유자와 그룹 구성원이 읽고 쓸 수 있음을 의미합니다. 소유자로서 파일에 액세스하고 있는데 액세스가 거부되는 이유는 무엇입니까?

답변1

사용자가 파일에 액세스하려면 파일 경로의 모든 디렉터리에 대한 권한도 필요합니다.

최소한 x디렉터리에 대한 권한이 필요합니다.

귀하의 경우 (의견에서) 당신은

drwxr-x---   3 root root       4096 Aug 10 22:56 pgbackrest

그리고 파일 자체는 다음과 같습니다.

-rw-r-----   1 pgbackrest pgbackrest    0 Aug 10 01:12 pgbackrest.conf

이는 pgbackrest사용자가 파일을 읽기 위해 파일에 액세스할 수 없음을 의미합니다.

간단한 해결책은 x권한을 추가하는 것입니다.

chmod a+x /etc/pgbackrest

이제 해당 디렉토리에 있는 파일 이름을 아는 사람은 누구나 다음을 수행할 수 있습니다.노력하다파일에 액세스되지만 파일 권한도 적용됩니다. 따라서 pgbackrest사용자 또는 그룹 pgbackrest의 모든 사람 만 파일을 열 수 있으며 다른 모든 사람은 차단됩니다.

관련 정보