GNU/Linux >> Linux の 問題 >  >> Linux

LinuxでデフォルトのSudoログファイルを変更する方法

この簡単なガイドでは、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パスワードなしで特定のコマンドを実行する方法

これがお役に立てば幸いです。


Linux
  1. Linuxでシェルを変更する方法

  2. Linuxでファイルの名前を変更するにはどうすればよいですか?

  3. Linux でデフォルトのシェルを変更する方法

  1. LinuxでデフォルトのApache「DocumentRoot」ディレクトリを変更する方法

  2. Linux でデフォルトのシェルを変更する方法

  3. Linuxコマンド出力をファイルに出力するには?

  1. LinuxファイルでACLを表示または変更する方法

  2. Linuxでログファイルを空にする方法

  3. LinuxでRをアップグレードするには?