두 명의 사용자가 있다고 가정 해 보겠습니다. 하나는 sudo 권한을 가진 관리자이고, 하나는 일반 사용자입니다. 일반 사용자가 프로세스를 실행하는데, 관리자는 sudo를 사용하지 않고 프로세스 로그를 보고 싶어 합니다. 이 목표를 달성하는 방법은 무엇입니까? 또한 adm 및 systemd-journal에 admin을 추가하려고 시도했는데 다른 사용자 및 시스템 로그를 볼 수 없다는 오류 메시지는 사라졌지만 로그는 여전히 표시되지 않습니다. 프로세스는 /var/log/journal
dir stat에 다음을 씁니다.
Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 803h/2051d Inode: 17039878 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2022-11-03 21:45:05.578697401 +0100 Modify: 2022-10-17 22:40:23.353619074 +0200 Change: 2022-10-17 22:40:23.353619074 +0200 Birth: -
답변1
이것매뉴얼 페이지지적...
모든 로그 파일은 "systemd-journal", "adm" 및 "wheel" 그룹의 구성원이 읽을 수 있습니다.
따라서 귀하가 이러한 그룹 중 하나이거나 루트 사용자인 경우 로그에 기록된 모든 메시지를 볼 수 있습니다. 특정 사용자의 로그만 보려면 특정 기준(예: 사용자 ID: )과 일치하는 항목을 필터링하면 됩니다
journalctl _UID=1000
.
_GID=1000
(대부분 새 세션을 열 때와 동일 _SYSTEMD_OWNER_UID=1000
하지만 일부 pam 메시지도 포함함) 및 와 같은 일치시킬 다른 흥미로운 필드가 있습니다 ._UID
[email protected]
_SYSTEMD_SLICE=user-1000.slice
Journalctl 에 대한 상세 출력이 활성화되면 이러한 필드를 더 많이 볼 수 있습니다 journalctl -o verbose
.