안녕히 가세요
"/home/developers"에 홈 폴더가 있는 "developers"(sudo 액세스 권한 없음)라는 Linux 사용자 및 그룹이 있습니다.
nginx를 실행하는 동일한 서버에는 "mysite.com"이라는 웹 사이트용 웹 폴더가 있습니다. 웹 폴더는 "/usr/local/nginx/html/mysite.com/"에 있고, 폴더 사이트 권한은 "nginx:developers", chmod 권한은 770입니다. 이제 문제가 발생합니다.
사용자는 "개발자" 사용자를 사용하여 파일을 서버에 "scp"합니다. 파일은 (분명히) "개발자" 소유자와 함께 "/home/developers" 폴더에 저장됩니다. 사용자는 이 파일을 "/usr/local/nginx/html/mysite.com/" 폴더에 복사해야 합니다. "Developer" 사용자가 파일을 복사한 후 "testfile.py"를 "/usr/local/nginx/html/mysite.com/"에 복사할 수 있으며 파일 소유자는 여전히 "Developer:Developer"입니다. 따라서 nginx는 파일을 읽을 수 없습니다.
어떻게 해야 하나요? 사용자 "개발자"가 nginx:nginx 권한을 사용하여 "/usr/local/nginx/html/mysite.com/"으로 파일을 전송하도록 허용하는 방법은 무엇입니까? (Sudo 액세스 권한을 부여하지 않습니다). 아니면 nginx가 이러한 파일을 읽을 수 있도록 그룹 수준에서 무엇을 할 수 있습니까?
편집: nginx 및 php-fpm은 "nginx"로 실행됩니다.
미리 감사드립니다.
답변1
nginx가 이러한 파일을 읽을 수 있도록 그룹 수준에서 무엇을 할 수 있습니까?
nginx
사용자를 그룹에 넣는 데 특별한 문제가 있을 것 같지는 않습니다 developers
.
루트 사용자로서:
usermod -a -G developers nginx
사용자는 여러 그룹에 속할 수 있습니다. nginx
현재 어떤 항목이 포함되어 있는지 확인할 수 있습니다 .
grep nginx /etc/group
# Or more simply:
id nginx
을 넣는 데 문제가 있는 경우 nginx
새 developers
그룹을 만들고 nginx
및 developers
사용자를 그 그룹에 넣은 다음 전송된 파일에 해당 GID가 있는지 확인해야 합니다.
새 그룹 멤버십을 얻으려면 다시 로그인해야 합니다. 로그인하지 않은 계정(아마도 하나)의 경우 동일한 작업을 수행하는 프로세스를 nginx
사용하거나 시작할 수 있습니다 (이 경우 nginx 서버 자체가 작동해야 합니다).su