다른 사람과 컴퓨터를 공유하고 그들에게 sudo 액세스 권한을 부여한 경우 컴퓨터를 어떻게 사용하는지 모니터링하는 것이 좋습니다. 고맙게도 sudo 기록을 쉽게 확인할 수 있습니다. 방법을 봅시다.
인증 로그
많은 Linux 서비스가 문제 해결에 도움이 되도록 로그를 보관합니다. 고맙게도 무엇보다도 이 기사에서 우리가 찾는 정확한 정보의 자세한 목록도 보관하고 있습니다. 이 목록에서 sudo를 사용하여 누가 언제 어떤 명령을 실행했는지 확인할 수 있습니다. 이 정보를 찾으려면 Debian 또는 Ubuntu 기반 배포를 사용하는 경우 즐겨 찾는 터미널에 다음을 입력하십시오.
sudo nano /var/log/auth.log
다른 배포판에서는 위치가 다를 수 있습니다. 이 정보는 “/var/log/secure” 또는 “/var/log/audit/audit.log”에 있을 수 있습니다. sudoer의 파일을 확인하여 이 로그 파일의 위치를 찾을 수 있습니다. 이 역시 분포에 따라 다른 위치에서 발견될 수 있다. 일반적으로 “/etc/sudoers”에서 찾을 수 있습니다. 즐겨 사용하는 텍스트 편집기로 열고 로그 파일 항목을 검색하십시오. 그 값은 우리가 찾고 있는 파일이 있는 위치이므로 위의 명령을 다시 혼합하여 대신 파일을 확인하십시오.
혼돈을 이해하기
로그 파일에는 아마도 관심이 없는 항목이 많이 포함될 것입니다. 스크롤하고 스크롤하거나 텍스트 편집기의 찾기 기능을 사용하여 모든 sudo 사용 위치를 찾을 수 있습니다.

그래도 사용하면 더 좋습니다. grep 대신에. 이렇게 하면 간단한 쿼리를 기반으로 로그 내용을 필터링할 수 있습니다. 모든 sudo 항목을 찾으려면 다음을 사용하십시오.
sudo grep sudo /var/log/auth.log
배포에 대한 올바른 경로로 로그 경로를 업데이트하는 것을 잊지 마십시오.

이 명령은 결과를 터미널에 직접 표시합니다.

파일 형식을 선호하는 경우 명령 뒤에 리디렉션을 추가합니다.
sudo grep sudo /var/log/auth.log > sudolist.txt
그것을 확인하면 날짜, 시간, 컴퓨터 이름 및 사용된 명령이 포함된 일련의 항목을 찾을 수 있습니다.
일반 배쉬
터미널에 입력된 모든 명령을 찾고 있다면 홈 폴더에 있는 “.bash_history” 파일을 확인할 수 있습니다. 예를 들어 터미널에 다음을 입력할 수 있습니다.
sudo nano /home/USERNAME/.bash_history
이것은 당신(또는 다른 사용자)이 터미널에서 실행하는 모든 명령을 보여줄 것입니다.
저널 컨트롤
그것으로 sudo가 한 일을 보는 또 다른 방법은 systemd의 journalctl을 사용하는 것입니다. 즉, 이것은 systemd를 사용하는 모든 Linux 배포판과 함께 제공되는 시스템 로깅 프로그램입니다.

여기에는 Debian 및 Ubuntu뿐만 아니라 Arch Linux 및 Fedora와 같은 다른 인기 있는 배포판도 포함됩니다. 따라서 이미 systemd 기반 Linux 배포판 간에 지속적으로 전환하는 경우 journalctl이 유용한 유틸리티가 될 수 있습니다.
sudo 로그를 보기 위해 journalctl을 사용하는 것은 매우 쉽습니다. 먼저 루트 사용자 또는 수퍼유저 권한이 있는 계정에 로그인해야 합니다.

다음 명령을 실행하여 sudo 프로그램에 대한 모든 로그를 봅니다.
sudo journalctl -e /usr/bin/sudo
이렇게 하면 차례로 journalctl 프로그램에 sudo 프로그램을 보고 모든 저널 항목을 검색한 다음 sudo를 언급하는 모든 로그를 인쇄하도록 지시합니다. 거기에서 journalctl은 모든 정보를 시스템 호출기로 파이프하여 sudo 관련 로그의 전체 기록을 쉽게 스크롤할 수 있습니다.

여기에서 journalctl은 사용자가 sudo 명령을 호출한 모든 인스턴스를 강조 표시합니다. 위에서 논의한 바와 같이 이것은 다중 사용자 시스템을 수정하려고 하고 누가 언제 권한 있는 명령을 실행했는지 알고 싶은 경우에 유용할 수 있습니다.

GUI 전용 프로그램
이 모든 것을 알면 데스크탑 환경과 함께 제공되는 전용 인터페이스를 통해 시스템의 sudo 로그를 읽을 수도 있습니다. 이렇게 하면 시스템을 모니터링하기 위해 배워야 하는 복잡성과 명령의 양이 줄어듭니다.
한 가지 중요한 점은 이러한 프로그램은 데스크톱 환경의 기본 설치에 항상 포함된다는 것입니다. 그러나 Linux 배포판은 종종 이러한 작은 유틸리티가 포함되지 않은 사용자 정의 빌드를 만듭니다. 따라서 먼저 이러한 도구가 시스템에 이미 설치되어 있는지 확인해야 합니다.
그놈 로그
그만큼 그놈 로그 유틸리티는 그놈 데스크탑 환경을 사용하는 배포판의 기본 그래픽 시스템 로거입니다. 여기에는 Ubuntu 21.10, 22.04 및 Fedora 36이 포함됩니다.

프로그램 사용을 시작하려면 먼저 응용 프로그램 메뉴를 열어야 합니다. 그런 다음 “로그”를 입력하여 그놈 로그 유틸리티를 검색할 수 있습니다.

프로그램이 열리면 시스템의 특정 측면에 대한 로그를 확인할 수 있는 여러 탭이 표시됩니다. sudo 로그를 확인하려면 “보안”을 클릭해야 합니다.

그러면 기기에 대한 모든 최신 보안 정보가 인쇄됩니다. 여기에는 sudo 사용 여부에 관계없이 루트 권한으로 실행된 모든 프로세스가 포함됩니다. 여기에서 창의 오른쪽 상단 모서리에 있는 돋보기 아이콘을 눌러 이러한 모든 로그 항목에 대한 검색을 시작할 수 있습니다.

이를 통해 “sudo”라는 단어를 입력하여 sudo를 통해 실행된 명령과 프로세스만 보고 싶다고 그놈 로그에 알릴 수 있습니다.

KSystemLog
KSystemLog 데스크탑용 KDE 플라즈마 환경을 사용하는 Kubuntu 21.10, 22.04 및 Manjaro KDE와 같은 배포판의 기본 로깅 유틸리티입니다. GNOME Log와 유사하게 시스템에 대한 광범위한 보기를 제공할 수 있는 완전한 기능을 갖춘 프로그램이기도 합니다.

이를 통해 KSystemLog를 사용하여 시스템의 sudo 기록을 보는 것은 매우 쉽습니다. 먼저 화면의 왼쪽 하단 모서리에 있는 플라즈마 아이콘을 클릭하여 애플리케이션 시작 관리자를 열어야 합니다.

그런 다음 런처의 검색 표시줄에 “KSystemLog”를 입력할 수 있습니다. 이것은 차례로 유틸리티를 검색하고 누르는 즉시 실행합니다. 입력하다.

완료되면 KSystemLog는 시스템에서 현재 실행 중인 프로그램에 대한 로그를 즉시 표시합니다. 여기에서 필터 표시줄에 “sudo”를 입력하여 sudo에서 가져온 모든 로그만 볼 수 있습니다.

MATE 시스템 로그
마지막으로, MATE 시스템 로그 MATE 기반 배포판에서 기본적으로 제공되는 최소 GUI 로그 프로그램입니다. 이전 GUI 로거와 달리 시스템에서 사용 가능한 모든 시스템 로그에 대한 간단한 파일 브라우저만 제공합니다. 따라서 MATE 시스템 로그는 초보자가 제대로 사용하기 어려워 보일 수 있습니다.

그럼에도 불구하고 이 프로그램을 사용하여 sudo 기록 로그를 보는 것은 비교적 간단합니다. 시작하려면 먼저 데스크탑의 왼쪽 상단에 있는 메뉴 버튼을 클릭하여 애플리케이션 메뉴를 열어야 합니다.

그런 다음 검색 표시줄에 집중하고 “로그 파일 뷰어”를 입력할 수 있습니다. 이것은 MATE가 시스템 로그 프로그램을 찾아 실행하도록 지시합니다.

완료되면 MATE 시스템 로그 프로그램은 시스템에서 사용 가능한 모든 현재 로그를 나열합니다. 이를 통해 sudo 기록을 보기 위해 마지막으로 해야 할 일은 “auth.log”를 클릭하는 것입니다.
위에서 설명한 것처럼 이것은 시스템에서 실행된 모든 sudo 관련 명령을 기록하는 로그 파일입니다. 제 경우에는 최근에 sudo를 통해 시스템에서 시스템 업데이트를 실행한 것으로 나타났습니다.

자주 묻는 질문
journalctl의 최신 sudo 로그 항목만 표시할 수 있습니까?
예! journalctl에서 제한된 양의 로그만 표시할 수 있습니다. 이것은 많이 사용되는 시스템을 유지 관리하고 마지막 몇 개의 sudo 관련 로그만 알고 싶은 경우에 특히 유용할 수 있습니다. 터미널에서 다음 명령을 실행할 수 있습니다.
sudo journalctl --lines=10 -e /usr/bin/sudo
이렇게 하면 실행 중인 동안 기록한 마지막 10개의 sudo 관련 항목만 표시하도록 journalctl에 알릴 것입니다.
또한 journalctl의 시간별 로그만 표시할 수도 있습니다. 이 명령은 어제와 오늘 사이에 커밋된 모든 sudo 관련 로그만 인쇄하도록 journalctl에 지시합니다.
sudo journalctl --since=yesterday --until=today -e /usr/bin/sudo
Bash를 사용하고 있지 않습니다. 여전히 내 sudo 기록을 볼 수 있습니까?
이것은 현재 사용 중인 쉘에 따라 크게 달라집니다. 그러나 대부분의 경우 모든 시스템 셸은 컴퓨터에서 실행한 모든 명령의 실행 기록을 생성할 수 있어야 합니다.
예를 들어, 데비안 기반 시스템의 히스토리 파일은 종종 “.history”로 레이블이 지정됩니다. 따라서 기본 “.bash_history” 대신 이 파일을 열 수 있습니다.
KSystemLog가 암호를 열면 묻고 거부합니다. 복사본이 깨졌습니까?
기본적으로 KSystemLog는 상승된 권한으로 자신을 열려고 시도합니다. 이를 통해 로그를 표시할 뿐만 아니라 현재 시스템에서 실행 중인 프로세스를 관리할 수도 있습니다.
이 때문에 KSystemLog는 처음 열 때 항상 루트 사용자로 자신을 실행하려고 합니다. 그러나 이를 달성하려면 먼저 루트 계정의 비밀번호를 알아야 합니다.
그럼에도 불구하고 루트 권한을 제공하지 않고도 KSystemLog를 사용할 수 있습니다. 그렇게 하려면 KSystemLog가 상승된 권한을 요청할 때 “무시” 버튼을 누를 수 있습니다.
우리의 활동을 지원해주세요 ❤️
이 글이 마음에 드셨다면, 앞으로도 좋은 콘텐츠를 계속 발행할 수 있도록 팁을 남겨주세요.




















