![systemd의 루트 로그에 액세스하는 방법은 무엇입니까?](https://linux55.com/image/37657/systemd%EC%9D%98%20%EB%A3%A8%ED%8A%B8%20%EB%A1%9C%EA%B7%B8%EC%97%90%20%EC%95%A1%EC%84%B8%EC%8A%A4%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
journalctl -f -a
다른 사용자를 위해 Fedora 20에서 실행하면 다른 결과가 나타납니다. 루트를 사용하면 tail -f /var/log/syslog
이전 시스템과 비슷한 것을 얻습니다 . 일반 사용자로서 저는 gnome-shell 경고, 일부 su 메시지, Firefox가 표준 출력에 쓰는 내용 등을 받습니다. 기본적으로 사용자 세션 로그입니다.
내가 아는 한, Journalctl에는 다양한 저널의 개념이 있습니다(journalctl(1)):
액세스 가능한 모든 로그 파일의 출력은 회전되었거나 현재 작성 중인지 여부, 시스템 자체에 속하는지 또는 액세스 가능한 사용자 로그에 속하는지 여부에 관계없이 인터리브됩니다.
하지만 특정 사용자가 사용할 수 있는 저널 목록을 얻는 방법은 무엇입니까?
그리고 일반 사용자가 루트 로그에 액세스할 수 있게 만드는 방법은 무엇입니까?
Journalctl 매뉴얼 페이지에는 다음과 같이 명시되어 있습니다.
모든 사용자는 자신의 개인 사용자별 저널에 액세스할 수 있습니다. 그러나 기본적으로 루트 사용자이자 "systemd-journal" 그룹의 구성원인 사용자만 시스템 로그 및 다른 사용자의 로그에 액세스할 수 있습니다.
하지만 이는 너무 무리한 것처럼 들립니다. 사용자는 다른 일반 사용자의 로그(루트 로그만)에 액세스할 수 없어야 합니다.
답변1
이것systemd-journald 매뉴얼 페이지로그 액세스 제어가 수행되는 방법을 설명하십시오.
Journal files are, by default, owned and readable by the "systemd-journal"
system group but are not writable. Adding a user to this group thus enables
her/him to read the journal files.
By default, each logged in user will get her/his own set of journal files in
/var/log/journal/. These files will not be owned by the user, however, in order
to avoid that the user can write to them directly. Instead, file system ACLs
are used to ensure the user gets read access only.
Additional users and groups may be granted access to journal files via file
system access control lists (ACL).
Fedora 20은 ACL을 사용하여 그룹의 사용자 adm
에게 모든 로그에 대한 읽기 권한을 부여합니다 .wheel
일반 사용자가 루트 로그에 액세스하도록 허용하는 방법은 무엇입니까?
달리기 setfacl -n -m u:username:r /var/log/journal/*/system.journal
.
특정 사용자가 사용할 수 있는 저널 목록을 얻는 방법은 무엇입니까?
su
사용자에 대해 이를 실행하고 journalctl --header|grep '^File Path'
해당 사용자가 액세스할 수 있는 저널 이름을 볼 수 있습니다 .
getfacl
로그 파일에 액세스할 수 있는 그룹과 사용자를 확인하는 데 사용할 수 있습니다. 특정 사용자가 읽을 수 있는 파일을 나열하는 쉬운 방법을 모르겠습니다.