sudo없이 nginx 로그를 다른 사용자와 공유하는 방법은 무엇입니까?


10

서버에 2 명의 사용자가 있습니다. sudo가있는 사람은 없이도 다른 사람에게 액세스합니다. nginx 로그에 액세스하는 방법

/var/log/nginx/error.log

sudo사용 권한이 없는 다른 사용자 에게 cat /var/log/nginx/error.log? / home / username 디렉토리에 로그인하기 위해 심볼릭 링크와 같은 것을 만들 수 있습니까?

그래서 내 질문은- sudo권한이 없는 사용자가 어떻게 nginx 로그를 확인할 수 있습니까?


sudo무엇에 액세스? 귀하의 질문에서 명확하지 않습니다. 일부 사람들은 '루트 액세스'를 의미하기 위해 '스도 액세스'를하는 것은 알고 있지만 기술적으로 정확하지는 않습니다. 정교하게 부탁드립니다.
dawud

1
sudo, 구성 방법에 따라 실제로 권한을 부여 하는 데 사용할 수 있습니다 .
gparent

ACL을 사용할 수 있습니다. 예 setfacl -m 'user:someuser:r' /var/log/nginx/error.log. logrotate와 어떻게 작동하는지 잘 모르겠습니다. sudo고양이 / 꼬리 / 등에 접근하는 것이 어쨌든 더 좋은 옵션 일 것입니다. '
Greg Bowser

@GregBowser IMHO, ACL을 이해하지 않고 ACL을 사용하는 것은 문제를 만드는 방법입니다.
Paul

답변:


16

예를 들면 다음과 같습니다.

chmod 755 /var/log/nginx && chmod 644 /var/log/nginx/*.log && chmod 644 /var/log/nginx/*.gz

이 방법으로 누구나 / var / log / nginx 디렉토리의 내용을 cwd하고 읽을 수 있으며 * .log 파일을 읽을 수 있습니다.

권한이 다시 변경되지 않도록 로그 회전 구성도 확인해야합니다. Nginx의 마지막 여러 버전 (1.6.2 이상)에서 파일 /etc/logrotate.d/nginxcreate 0640 www-data adm로그를 회전 할 때 권한을 설정하기 위해이 줄 을 사용했습니다 . 이것은 다음과 같이 변경되어야합니다 create 0644 www-data adm. 이 솔루션을 사용하면 서버의 모든 사용자가 모든 Nginx 로그를 읽을 수 있습니다.

업데이트 :su www-data adm 잘못된 디렉토리 권한에 대해 불평하지 않고 logadm 유틸리티가 작동 할 수 있도록logrotate 구성도 업데이트해야합니다.


3
기본 Nginx 구성은 /etc/logrotate.d/nginx입니다 create 0640 www-data adm. 그것은 1.6.2에 있지만, 꽤 오랜 시간이 지나지 않았다고 생각합니다.
Paul

1
이 답변은 서면으로 작성되었으므로 우분투 nginx-1.6.2-20141110에 국한되지 않고 보편적이며 일반적입니다.
drookie

1
logrotate d의 nginx 구성이 재설정 중이었습니다. 변경하여 수정했습니다.
sdkks

다른 사용자가 다른 로그 경로를 사용하는 nginx를 시작하려고 할 때이를 해결할 다른 방법이 없습니까? 나는 나의 새로운 nginx.conf 파일에 추가하기 만의 nginx는 -c newnginx.conf이 새로운 사용자에, 그것은 여전히 / var에 액세스하려고 실행할 때 시도 / 로그 / nginx를 ...
Poul를 K. Sørensen은
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.