`sudo`가 없는 `tail -n 40 /var/log/apache2/error.log`

`sudo`가 없는 `tail -n 40 /var/log/apache2/error.log`

하루에 여러 번씩 Apache 로그를 확인해야 합니다.

sudo tail -n 40 /var/log/apache2/error.log

그런 다음 비밀번호를 제공해야 합니다.

이것은 투박한 작업 흐름이므로 PATH=$HOME/shortcuts:$PATH내 작업 흐름에 추가하여 ~/.profile만들었습니다 ~/shortcuts/1.

하지만 매번 비밀번호를 입력하지 않아도 되도록 어떻게든 해야 합니다. (거의 매번 10분 정도가 기억에 남는 것 같습니다.)

그럴 수는 없습니다 chmod u+r /var/log/apache2/error.log. 중간 폴더 중 일부에는 제한적인 권한이 설정되어 있어야 한다고 생각합니다.

이 문제를 해결하는 올바른 방법은 무엇입니까?

답변1

이 특정 문제에 대한 많은 해결책을 생각해 볼 수 있습니다.

(A) tail 명령(또는 필요한 경우 모든 명령)을 실행할 때 사용자 이름에 비밀번호가 필요하지 않도록 sudo 액세스를 구성합니다.
이에 대한 내용은 sudo 및 sudoers 설명서를 참조하세요.

(B) 음의 시간 초과로 sudo 액세스를 구성합니다. 기본 시간 초과는 5분이며, 그 이후에는 비밀번호를 다시 입력해야 합니다.
시간 제한을 음수 값으로 설정하면 비밀번호를 한 번만 입력하면 sudo가 다시는 귀찮게 하지 않을 수 있습니다.

(C) tmux(또는 screen)를 사용하고 창(또는 창)에서 tail 명령을 실행합니다.
로그를 보고 싶을 때마다 이 창(또는 창)을 볼 수 있습니다.

(D) 액세스하려는 로그의 정확한 복사본인 /tmp/ApacheError의 파일에 "tail -f" 출력을 보내는 백그라운드 프로세스를 실행합니다. 시스템 설정에 따라 "티"가 필요할 수도 있습니다.
이제 모든 사용자에 대한 읽기 액세스 권한이 있는 /tmp/ApacheError의 로그에 액세스하십시오.

(E) /tmp/ApacheError에 중복 출력을 보내는 데 사용할 수 있는 apache 로그 필터 사용을 고려하고 Apache 설명서를 참조하십시오.
이제 모든 사용자에 대한 읽기 액세스 권한이 있는 /tmp/ApacheError의 로그에 액세스하십시오.

(A)와 (B)는 보안 위험입니다. (C) tmux(또는 screen)가 필요하지만 사용하지 못할 수도 있습니다. (D) 안전해요. (E) 더 많은 연구가 필요할 수 있습니다.

답변2

chmod u+r당신이 분명히 생각하는 일을 하지 않습니다. 실제로 하는 일은 파일을 읽을 수 있게 만드는 것입니다.소유자. 벌써 그런 것 같아요.

chmod o+r(소유자/그룹이 아닌 "다른 사람"이 파일을 읽을 수 있게 만드는 것)이 작동할 수 있지만 보안은 이에 반대됩니다.

하나를 선택하세요:

  1. ls -l /var/log/apache2/error.log...내 (Debian) 시스템에서 해당 그룹은 adm이고 입니다 g+r. 이 adm그룹은 기본적으로 로그 파일을 읽을 수 있도록 하기 위해 존재합니다. 따라서 해당 그룹에 나를 추가하면 해당 그룹(및 기타 로그)을 읽을 수 있습니다. 데비안에서는 그게 다입니다 sudo adduser anthony adm( anthony물론 내 사용자 이름입니다). 참고: 새 그룹을 적용하려면 로그아웃했다가 다시 로그인해야 합니다. 터미널에서는 newgrp adm작동할 것입니다.

  2. POSIX ACL을 사용하여 특정 파일에 대한 읽기 권한을 부여하십시오. sudo setfacl -m u:anthony:r /var/log/apache2/error.log(대신 사용자 이름을 사용하십시오 anthony). 시스템에서 로그 회전이 작동하는 방식에 따라 회전 후 다시 실행해야 할 수도 있습니다. 그러나 예를 들어 이 작업을 수행하도록 lograte를 구성할 수 있습니다.

  3. Prem의 답변에서 sudo를 재구성하는 다양한 방법.

답변3

실행 sudo visudo하고 다음 줄을 추가하세요.

Defaults    timestamp_timeout=-1

-1= 비밀번호는 만료되지 않습니다

또한보십시오남자 5 sudoers

위의 해결 방법이 보안에 영향을 미치더라도 다음을 따르십시오.협회sudo비밀번호를 요구하지 않고 특정 명령을 실행하도록 설정합니다 .

관련 정보