この簡単なガイドでは、Debian、Ubuntu、CentOS、Fedora、openSUSEなどのLinuxディストリビューションでデフォルトのsudoログファイルを変更する方法について説明します。
デフォルトのsudoログファイルを変更する必要があるのはなぜですか?不思議に思うかもしれません。デフォルトでは、すべてのsudoインシデントは /var/log/auth.logに記録されます UbuntuのようなDebianベースのシステムのファイル。 CentOSやFedoraなどのRPMベースのシステムでは、sudoアクティビティは / var / log / secure /に保存されます。 ファイル。 openSUSEでは、sudoログは / var / log / messagesに保存されます ファイル。ただし、sudoログ専用ではありません。これらのファイルを調べると、cron、ssh、systemdなどの他の種類のログも保存されていることがわかります。したがって、sudoの成功と失敗の両方の試行(およびエラー)をログに記録するための専用ファイルを設定する場合は、以下の手順に従ってください。
Linuxでデフォルトのsudoログファイルを変更する
デフォルトでは、sudoは syslogを介してログに記録します 、ただし、これは "/ etc / sudoers"を介して変更できます ファイル。まず、Debianベースのシステムでそれを行う方法を見ていきます。
1。 UbuntuでデフォルトのSudoログファイルを変更する方法
Ubuntuでは、sudoアクティビティは /var/log/auth.logに保存されます ファイル。
Ubuntu 20.04でsudo専用のログファイルを変更または設定するには、次のコマンドを使用して「/ etc/sudoers」ファイルを編集します。
$ sudo visudo
最後に次の行を追加します:
Defaults syslog=local1
Debian、UbuntuでSudoログファイルの場所を設定する
CTRL + Xを押します 続いてY ファイルを保存して終了します。
次に、「/ etc / rsyslog.d / 50-default.conf」ファイルを編集します:
$ sudo nano /etc/rsyslog.d/50-default.conf
「auth、authpriv。*」行の前に、赤い色でマークされた次の行(行番号8)を追加します。
[...] local1.* /var/log/sudo.log auth,authpriv.* /var/log/auth.log [...]
Debian、UbuntuでSudoログファイルの場所を変更する
ここでは、 /var/log/sudo.log すべてのsudoログが保存されるファイルです。ファイルを保存して閉じます(CTRL + XおよびY)。
最後に、rsyslogサービスを再起動して、変更を有効にします。
$ sudo systemctl restart rsyslog
これ以降、すべてのsudo試行は /var/log/sudo.logに記録されます。 ファイル。たとえば、次のコマンドを実行します。
$ sudo apt update
/var/log/sudo.logファイルにログインしているかどうかを確認します:
$ cat /var/log/sudo.log
出力例:
May 2 12:14:18 ostechnix sudo: sk : TTY=pts/0 ; PWD=/home/sk ; USER=root ; COMMAND=/usr/bin/apt update
上記の出力の最後の行を参照してください? 「aptupdate」コマンドは/var/log/sudo.logファイルに記録されます。
2。 DebianでデフォルトのSudoログファイルを変更する方法
コマンドを使用してDebianの「/etc/sudoers」ファイルを編集します:
$ sudo visudo
最後に次の行を追加します:
Defaults syslog=local1
ファイルを保存して閉じます。
次に、「/ etc/rsyslog.conf」ファイルを編集します。
$ sudo nano /etc/rsyslog.conf
「auth、authpriv。*;local1.none」行の前に赤い色でマークされた次の行(行番号61)を追加します。
[...] local1.* /var/log/sudo.log auth,authpriv.*;local1.none /var/log/auth.log [...]
CTRL + X、続いてYを押して、ファイルを保存して閉じます。
rsyslogサービスを再起動して、変更を有効にします。
$ sudo systemctl restart rsyslog
これ以降、すべてのsudo試行は /var/log/sudo.logに記録されます。 ファイル。
3。 CentOS、FedoraでデフォルトのSudoログファイルを変更する方法
sudoログは、CentOSやFedoraなどのRPMベースのシステムの「/ var / log/secure」ファイルに保存されます。
CentOS 8で専用のsudoログファイルを設定するには、次のコマンドを使用して「/ etc/sudoers」ファイルを編集します。
$ sudo visudo
このコマンドは、Viエディターで/ etc/sudoersファイルを開きます。 「i」を押して挿入モードに入り、最後に次の行を追加します。
[...] Defaults syslog=local1
ESCを押して、:wqと入力します 保存して閉じます。
次に、「/ etc/rsyslog.conf」ファイルを編集します。
$ sudo nano /etc/rsyslog.conf
次の行(行番号46および47)を追加/変更します。
[...] *.info;mail.none;authpriv.none;cron.none;local1.none /var/log/messages local1.* /var/log/sudo.log [...]
CentOSでSudoログファイルの場所を変更する
CTRL + Xを押してからYを押して、ファイルを保存して閉じます。
rsyslogを再起動して、変更を有効にします。
$ sudo systemctl restart rsyslog
これ以降、すべてのsudo試行は /var/log/sudo.logに記録されます。 ファイル。
$ sudo cat /var/log/sudo.log
出力例:
May 3 17:13:26 centos8 sudo[20191]: ostechnix : TTY=pts/0 ; PWD=/home/ostechnix ; USER=root ; COMMAND=/bin/systemctl restart rsyslog May 3 17:13:35 centos8 sudo[20202]: ostechnix : TTY=pts/0 ; PWD=/home/ostechnix ; USER=root ; COMMAND=/bin/systemctl status rsyslog May 3 17:13:51 centos8 sudo[20206]: ostechnix : TTY=pts/0 ; PWD=/home/ostechnix ; USER=root ; COMMAND=/bin/yum update
CentOSでsudoログファイルを表示する
4。 openSUSEでデフォルトのSudoログファイルを変更する方法
sudoログは、SUSEおよびopenSUSEの「/ var / log/messages」ファイルに保存されます。
openSUSEで専用のsudoログファイルを設定するには、次のコマンドを使用して「/ etc/sudoers」ファイルを編集します。
$ sudo visudo
このコマンドは、Viエディターで/ etc/sudoersファイルを開きます。 「i」を押して挿入モードに入り、最後に次の行を追加します。
[...] Defaults syslog=local1
ESCを押して、:wqと入力します 保存して閉じます。
次に、「/ etc/rsyslog.conf」ファイルを編集します。
$ sudo nano /etc/rsyslog.conf
次の行(行番号168、180)を追加/変更します。
# Add the following line at line number 168: *.*;mail.none;news.none;local1.none -/var/log/messages # line 180: remove [local1] local0.* -/var/log/localmessages # Add this line at the end: local1.* -/var/log/sudo.log
ファイルを保存して閉じます。 rsyslogを再起動して、変更を有効にします。
$ sudo systemctl restart rsyslog
推奨される読み物:
- LinuxでSudoパスワードのタイムアウトを変更する方法
- LinuxでユーザーにSudo権限を追加、削除、付与する方法
- ユーザーにSudo特権を復元する方法
- LinuxシステムですべてのSudoユーザーを検索する方法
- LinuxでSudoパスワードなしで特定のコマンドを実行する方法
これがお役に立てば幸いです。