ログファイル - Linux

Ubuntu

ファイル名 説明 形式
/var/log/wtmp ログインユーザーおよび利用時間、システムのリブート情報を格納。lastコマンドで表示 バイナリ
/var/log/btmp パスワード認証の失敗など不正なログイン履歴を格納。lastbコマンドで表示 バイナリ
/var/log/auth.log システムへのログイン履歴情報を格納 テキスト
/var/log/syslog システムログ情報が多く格納 テキスト
/var/log/kern.log カーネルより出力されるメッセージ情報を格納 テキスト
/var/log/boot.log サービスの起動メッセージなどが格納 テキスト
/var/log/dmesg 起動時にカーネルから出力されるメッセージを格納 テキスト
/var/log/maillog メールシステムに関する情報を格納 テキスト
/var/log/lastlog ユーザー単位で最終ログイン情報を格納。lastlogコマンドで表示 バイナリ
/var/log/apt/history.log パッケージ管理システムaptの履歴情報を格納 テキスト

Alma Linux

ファイル名 説明 形式
/var/log/messages 一般的なシステムのログ情報
/var/log/secure 認証などのセキュリティに関するログ
/var/log/dnf.log パッケージ管理システムの dnf に関してのログ
/var/log/cron cron に関してのログ
/var/log/maillog メールに関するログ
/var/log/lastlog ユーザー単位で最終ログイン情報を格納。lastlogコマンドで表示 バイナリ
/var/log/audit/audit.log SELinux のエラーログ(SELinuxに関するログを見つけるには「SELinux is preventing」や「denied」の文字を grep で抽出

ログファイルの検索・書き出し

今日のログイン情報を取得するには、以下のようにします。

last -t $(date +"%Y-%m-%d")

今日のログイン情報を取得し、ファイルに書き出すには、以下のようにします。

last -t $(date +'%Y-%m-%d') > log_$(date +"%Y%m%d%H%M%S").txt
# 作成されるファイル => log_20250313121125.txt

「 /var/log/dnf.log 」を特定の日付のログを取得するには、以下のようにします。

sudo grep /var/log/dnf.log -e "2025-03-13"

# 今日の日付のログを取得
sudo grep /var/log/dnf.log -e $(date +"%Y-%m-%d") > dnflog_$(date +"%Y%m%d%H%M%S").txt

「 /var/log/messages 」のログを調べるには、以下のようにします。

# Mar 13 13 の 10~19(分) と 20~27(分)までのログを検索
sudo less /var/log/messages | grep -E 'Mar 13 13:(1|2[0-7])'

syslog の設定

syslog とは、システムからのメッセージをファイル保存していく仕組です。

syslog のログを「 /var/log/ryslog/ホスト名/yyyymmdd_syslog.log 」ファイルに出力されるように設定します。

sudo vi /etc/rsyslog.conf

#### ファイルの内容を以下のように編集します
# 19 行目あたり
# Provides UDP syslog reception
# for parameters see http://www.rsyslog.com/doc/imudp.html
module(load="imudp") # needs to be done just once # コメントアウトする
input(type="imudp" port="514") # コメントアウトする
 

# Provides TCP syslog reception
# for parameters see http://www.rsyslog.com/doc/imtcp.html
# 24 行目あたり
module(load="imtcp") # needs to be done just once # コメントアウトする
input(type="imtcp" port="514") # コメントアウトする
 
# 最終行に追記
$template SyslogMessage,"/var/log/rsyslog/%fromhost%/%$year%%$month%%$day%_syslog.log"
*.*     -?SyslogMessage

rsyslog を再起動します。

sudo systemctl restart rsyslog

ファイアウォールの設定を変更します。

sudo firewall-cmd --add-port=514/tcp --permanent
sudo firewall-cmd --add-port=514/udp --permanent
sudo firewall-cmd --reload

syslog のログの確認

tail /var/log/rsyslog/localhost/20250313_syslog.log

SELinux 拒否メッセージ

policycoreutils-python-utils パッケージおよび setroubleshoot-server パッケージがシステムにインストールされている場合、以下のコマンドを実行しログに記録されている拒否の詳細をリスト表示でいます。

sealert -l "*"

ログファイルの検索の仕方

/var/log/messagesのログが※1のような場合、May 12 21:03を検索するには、以下のようにコマンドを実行します。

sudo grep "May 12 21:03" /var/log/messages

# May 12 ~ May 13 のログを調べる場合
sudo less -S /var/log/messages | grep -E "May 1[3-4]"

※1 /var/log/messages

May 13 22:50:23 server named[824]: timed out resolving 'tg.socdm.com/HTTPS/IN': 192.168.11.1#53
May 13 22:50:23 server named[824]: network unreachable resolving 'tg.socdm.com/HTTPS/IN': 2001:503:83eb::30#53
May 13 22:50:23 server named[824]: network unreachable resolving 'tg.socdm.com/HTTPS/IN': 2001:500:856e::30#53
May 13 22:50:23 server named[824]: network unreachable resolving 'tg.socdm.com/HTTPS/IN': 2001:502:8cc::30#53
May 13 22:50:23 server named[824]: timed out resolving 'cm.g.doubleclick.net/HTTPS/IN': 192.168.11.1#53
May 13 22:50:23 server named[824]: network unreachable resolving 'cm.g.doubleclick.net/HTTPS/IN': 2001:4860:4802:36::a#53
May 13 22:50:23 server named[824]: network unreachable resolving 'tg.socdm.com/HTTPS/IN': 2600:1480:4800::40#53
May 13 22:53:02 server named[824]: timed out resolving 'ns-1670.awsdns-16.co.uk/AAAA/IN': 192.168.11.1#53
May 13 22:53:02 server named[824]: network unreachable resolving 'ns-1670.awsdns-16.co.uk/AAAA/IN': 2600:9000:5301:5000::1#53
May 13 22:53:02 server named[824]: network unreachable resolving 'ns-1670.awsdns-16.co.uk/AAAA/IN': 2600:9000:5307:1400::1#53
May 13 22:53:02 server named[824]: network unreachable resolving 'ns-1670.awsdns-16.co.uk/AAAA/IN': 2600:9000:5305:d300::1#53
May 13 22:53:02 server named[824]: network unreachable resolving 'ns-1670.awsdns-16.co.uk/AAAA/IN': 2600:9000:5303:9000::1#53
May 14 21:44:42 server kernel: The list of certified hardware and cloud instances for Red Hat Enterprise Linux 9 can be viewed at the Red Hat Ecosystem Catalog, https://catalog.redhat.com.
May 14 21:44:42 server kernel: Command line: BOOT_IMAGE=(hd0,msdos1)/vmlinuz-5.14.0-427.13.1.el9_4.x86_64 root=/dev/mapper/almalinux-root ro crashkernel=1G-4G:192M,4G-64G:256M,64G-:512M resume=/dev/mapper/almalinux-swap rd.lvm.lv=almalinux/root rd.lvm.lv=almalinux/swap rhgb quiet
May 14 21:44:42 server kernel: x86/fpu: x87 FPU will use FXSAVE
May 14 21:44:42 server kernel: signal: max sigframe size: 1440
May 14 21:44:42 server kernel: BIOS-provided physical RAM map:
May 14 21:44:42 server kernel: BIOS-e820: [mem 0x0000000000000000-0x000000000009fbff] usable
May 14 21:44:42 server kernel: BIOS-e820: [mem 0x000000000009fc00-0x000000000009ffff] reserved
May 14 21:44:42 server kernel: BIOS-e820: [mem 0x00000000000f0000-0x00000000000fffff] reserved
May 14 21:44:42 server kernel: BIOS-e820: [mem 0x0000000000100000-0x00000000dffeffff] usable
May 14 21:44:42 server kernel: BIOS-e820: [mem 0x00000000dfff0000-0x00000000dfffffff] ACPI data
May 14 21:44:42 server kernel: BIOS-e820: [mem 0x00000000fec00000-0x00000000fec00fff] reserved
May 14 21:44:42 server kernel: BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
May 14 21:44:42 server kernel: BIOS-e820: [mem 0x00000000fffc0000-0x00000000ffffffff] reserved
May 14 21:44:42 server kernel: BIOS-e820: [mem 0x0000000100000000-0x000000011fffffff] usable
May 14 21:44:42 server kernel: NX (Execute Disable) protection: active

/var/log/secureも日付の表記は、/var/log/messagesと同じなため、検索方法も同じです。

※2 /var/log/secure

May 12 12:58:36 server sudo[1882]: pam_unix(sudo:session): session closed for user root
May 12 21:03:23 server sudo[2312]:    user : TTY=pts/0 ; PWD=/home/user ; USER=root ; COMMAND=/sbin/shutdown -h now
May 12 21:03:23 server sudo[2312]: pam_unix(sudo:session): session opened for user root(uid=0) by user(uid=1000)
May 13 20:44:47 server sshd[795]: Server listening on 0.0.0.0 port 22.
May 13 20:44:47 server sshd[795]: Server listening on :: port 22.

/var/log/dnf.logの時間の表記は2025-05-04T22:09:57+0900というようなISO 8601 形式のため、2025-05-05の日付のログを検索するには、以下のように検索します。

sudo less -S /var/log/dnf.log | grep -E "2025-05-05"

※3 /var/log/dnf.log

2025-05-04T22:09:57+0900 DDEBUG /var/cache/dnf/baseos-09b2e93483836b7c/packages/python3-ply-3.11-14.el9.noarch.rpm を削除しまし>
2025-05-04T22:09:57+0900 DDEBUG /var/cache/dnf/appstream-0a8174e0a3d29b90/packages/python3-bind-9.16.23-24.el9_5.3.noarch.rpm  >
2025-05-04T22:09:57+0900 DDEBUG Plugins were unloaded.
2025-05-05T20:43:44+0900 INFO --- logging initialized ---
2025-05-05T20:43:44+0900 DDEBUG timer: config: 26 ms
2025-05-05T20:43:45+0900 DEBUG ロードされたプラグイン: builddep, changelog, config-manager, copr, debug, debuginfo-install, dow>
2025-05-05T20:43:45+0900 DEBUG DNF version: 4.14.0

/var/log/cronの日付の表記は、/var/log/messagesと同じなため、検索方法も同じです。

※4 /var/log/cron

May 12 20:01:01 server run-parts[2283]: (/etc/cron.hourly) starting 0anacron
May 12 20:01:01 server run-parts[2289]: (/etc/cron.hourly) finished 0anacron
May 12 20:01:01 server CROND[2279]: (root) CMDEND (run-parts /etc/cron.hourly)
May 12 21:01:01 server CROND[2301]: (root) CMD (run-parts /etc/cron.hourly)
May 12 21:01:01 server run-parts[2304]: (/etc/cron.hourly) starting 0anacron
May 12 21:01:02 server run-parts[2310]: (/etc/cron.hourly) finished 0anacron
May 12 21:01:02 server CROND[2300]: (root) CMDEND (run-parts /etc/cron.hourly)
May 13 20:44:47 server crond[816]: (CRON) STARTUP (1.5.7)
May 13 20:44:47 server crond[816]: (CRON) INFO (Syslog will be used instead of sendmail.)
May 13 20:44:47 server crond[816]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 4% if used.)
May 13 20:44:47 server crond[816]: (CRON) INFO (running with inotify support)
May 13 21:01:01 server CROND[1775]: (root) CMD (run-parts /etc/cron.hourly)
May 13 21:01:01 server run-parts[1778]: (/etc/cron.hourly) starting 0anacron

/var/log/audit/audit.logSELinux is preventingdeniedを検索するには、以下のようにします。

sudo less /var/log/audit/audit.log | grep -E "SELinux is preventing"
sudo less /var/log/audit/audit.log | grep -E "denied"

※5 /var/log/audit/audit.log

type=USER_START msg=audit(1747281285.673:1262): pid=2651 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits,pam_systemd,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'^]UID="user" AUID="user"
type=USER_ACCT msg=audit(1747281301.627:1263): pid=2654 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:accounting grantors=pam_access,pam_unix,pam_localuser acct="user" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'^]UID="root" AUID="unset"
type=CRED_ACQ msg=audit(1747281301.629:1264): pid=2654 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct="user" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'^]UID="root" AUID="unset"
type=LOGIN msg=audit(1747281301.629:1265): pid=2654 uid=0 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=143 res=1^]UID="root" OLD-AUID="unset" AUID="user"
type=SYSCALL msg=audit(1747281301.629:1265): arch=c000003e syscall=1 success=yes exit=4 a0=3 a1=7fff95ce4450 a2=4 a3=3e8 items=0 ppid=804 pid=2654 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=143 comm="crond" exe="/usr/sbin/crond" subj=system_u:system_r:crond_t:s0-s0:c0.c1023 key=(null)^]ARCH=x86_64 SYSCALL=write AUID="user" UID="root" GID="root" EUID="root" SUID="root" FSUID="root" EGID="root" SGID="root" FSGID="root"
type=PROCTITLE msg=audit(1747281301.629:1265): proctitle=2F7573722F7362696E2F63726F6E64002D6E
type=USER_START msg=audit(1747281301.658:1266): pid=2654 uid=0 auid=1000 ses=143 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_loginuid,pam_keyinit,pam_limits,pam_systemd acct="user" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'^]UID="root" AUID="user"
type=CRED_REFR msg=audit(1747281301.659:1267): pid=2654 uid=0 auid=1000 ses=143 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct="user" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'^]UID="root" AUID="user"
type=CRED_DISP msg=audit(1747281301.670:1268): pid=2654 uid=0 auid=1000 ses=143 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct="user" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'^]UID="root" AUID="user"
type=USER_END msg=audit(1747281301.671:1269): pid=2654 uid=0 auid=1000 ses=143 subj=system_u:system_r:crond_t:s0-s0:c0.c1023 msg='op=PAM:session_close grantors=pam_loginuid,pam_keyinit,pam_limits,pam_systemd acct="user" exe="/usr/sbin/crond" hostname=? addr=? terminal=cron res=success'^]UID="root" AUID="user"
type=USER_END msg=audit(1747281306.066:1270): pid=2651 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_close grantors=pam_keyinit,pam_limits,pam_systemd,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'^]UID="user" AUID="user"
type=CRED_DISP msg=audit(1747281306.066:1271): pid=2651 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'^]UID="user" AUID="user"
type=USER_ACCT msg=audit(1747281308.967:1272): pid=2659 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:accounting grantors=pam_unix,pam_localuser acct="user" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'^]UID="user" AUID="user"
type=USER_CMD msg=audit(1747281308.967:1273): pid=2659 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='cwd="/etc/logrotate.d" cmd=6C657373202F7661722F6C6F672F61756469742F61756469742E6C6F67 exe="/usr/bin/sudo" terminal=pts/0 res=success'^]UID="user" AUID="user"
type=CRED_REFR msg=audit(1747281308.968:1274): pid=2659 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:setcred grantors=pam_env,pam_fprintd acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'^]UID="user" AUID="user"
type=USER_START msg=audit(1747281308.970:1275): pid=2659 uid=1000 auid=1000 ses=1 subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 msg='op=PAM:session_open grantors=pam_keyinit,pam_limits,pam_systemd,pam_unix acct="root" exe="/usr/bin/sudo" hostname=? addr=? terminal=/dev/pts/0 res=success'^]UID="user" AUID="user

ログファイルをバックアップするシェルスクリプトのサンプル

backuplog.sh

#!/bin/bash

TODAY=$(date +"%Y%m%d")
MONTH=$(date +"%b")
DAY=$(date +"%d")
PASSWORD=$1
FILENAME=backup_dnflog_$(date +"%Y%m%d-%H%M%S")
touch $FILENAME.txt
echo $PASSWORD | sudo -S less -S /var/log/messages | grep -E "$MONTH $DAY" > $FILENAME.txt

上記のスクリプトを実行する際には、引数にパスワードを渡します。

sh backuplog.sh password

また、ロケールの設定が日本語だと検索が一致しない為ファイルに書き込みがされません。

英語に切り替えるには、export LANG=en_USを実行します。

常に英語表示のままにするには、.bashrcに設定を追加します。

~/.bashrc

export LANG=en_US