그룹과 관련된 모든 파일/디렉터리가 편집 가능하도록 사용자를 구성하는 올바른 방법

그룹과 관련된 모든 파일/디렉터리가 편집 가능하도록 사용자를 구성하는 올바른 방법

Ubuntu 16.04.2 LTS를 LAMP 스택으로 사용합니다.

코드베이스 전체에 걸쳐 공장 8진수 권한이 ​​사전 정의된 웹 프로젝트(Magento)를 설정했습니다. 다른 개발자에게 액세스 권한을 제공해야 합니다. 프로젝트 위치는 /var/www/webproject이며 Apache 소유자/그룹 www-data가 소유합니다.

그래서 www-data 그룹에 속한 개발자들을 위해 사용자(devuser)를 생성하고 그들에게 SSH 액세스 권한을 부여했습니다. 현재 사용자는 8진수 권한이 ​​허용하지 않기 때문에 sudo를 사용하지 않고 /var/www/webproject에 포함된 파일을 생성하거나 편집할 수 없습니다.

요약:

/var/www/webproject permissions = 750
Files & directories within /var/www/webproject vary but...
user:group assignment for everything = www-data:www-data

질문:내 사용자를 위해사용자 개발/var/www/webproject에 포함된 파일과 디렉터리를 올바르게 수정하려면 그 안에 포함된 모든 파일과 디렉터리에 올바른 그룹 권한을 반복적으로 적용해야 합니까? 아니면 웹 플랫폼(Magento)에 대한 공장 권한을 유지하면서 www-data 그룹의 모든 사용자가 파일 및 디렉터리를 수정할 수 있도록 허용하는 더 좋은 방법이 있습니까?

답변1

그룹이 쓰기 권한이 없는 파일을 무조건 편집하도록 허용할 수 있는 방법은 없습니다.

이름이 지정된 사용자와 그룹은 www-data동일하지 않습니다(모든 사용자는 사용자 이름에 자신만 포함된 그룹이 있으므로 이름이 인 그룹이 있는 것입니다 www-data. 해당 그룹에 다른 사람을 추가하면 사용자의 권한이 아닌 해당 그룹의 권한을 갖게 됩니다).

chmod g+w그룹 www-data에 쓰기 권한이 있어야 하는 파일 에 적용해야 합니다 . 일반적으로 웹 디렉토리(770)에 파일을 저장하는 것이 안전합니다.

답변2

폴더에 대해 동일한 유효 권한을 유지하려면 POSIX 액세스 제어 목록을 사용하여 수행할 수 있습니다.

sudo su -
chown -R :web_developers /var/www/webproject
chmod -R 2770 /var/www/webproject

setfacl -R -m u:www-data:rwx /var/www/webproject
setfacl -R -m d:u:www-data:rwx /var/www/webproject

setfacl -R -m g:www-data:r-x /var/www/webproject
setfacl -R -m d:g:www-data:r-x /var/www/webproject

setfacl -R -m o:0 /var/www/webproject
setfacl -R -m d:o:0 /var/www/webproject

에서 웹 개발자를 제거하세요 www-data.그는 웹서버가 아니다. 사람들은 항상 자신이 수행하는 작업에 해당하는 그룹에 속해야 하며 해당 그룹에 적절한 권한을 부여해야 합니다. 그러므로 그는 당신 중 하나입니다 web_developers.

최종 결과:

  1. rwxwww-data는 원본 파일을 모방하여 기존 파일과 향후 생성되는 파일에 대해 항상 사용자 및 그룹 권한을 갖습니다.r-x750
  2. 이 그룹의 모든 구성원은 현재의 모든 파일과 향후 생성되는 파일에 대한 web_developers전체 액세스 권한을 갖습니다.rwx
  3. 다른 사람에게는 권한이 없습니다( root- 및 확장 그룹 제외 sudo).

다른 신발 한 켤레:

  • 문서만들어진그룹의 사용자는 web_developers해당 사용자의 소유가 됩니다(단, www-data여전히 사용자 rwx및 그룹 r-x권한은 있음).

관련 정보