3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

linux メールスプールについて調べてみた

Last updated at Posted at 2023-05-04

はじめに

linuxユーザー削除時やログ参照時に突然mail関連のメッセージが出てきた経験があります。
恐らく上記はユーザー作成時に一緒に作成されるメールスプールのメッセージであることを分かりました。

メールスプールとはメールサーバー上の一時的に保管する場所のことです。

スプールについて以下のサイトが分かりやすく説明してありました。
https://linuc.org/study/knowledge/524/
メールスプールについて以下のサイトが分かりやすく説明してありました。
https://go-journey.club/archives/9377

linuxは各ユーザーごとにメールが設定されていて、一般的なEmailというよりは通知メッセージのようなイメージです。メールサーバのテストとしても使用されるそうです

過去に見かけたメッセージ

linuxのユーザーを削除時に以下のメッセージが出ました。

# userdel -r ユーザー名
# userdel: ユーザー名 mail spool (/var/mail/ユーザー名) not found

メールスプールを削除しようとしたが、メールスプールがないためメッセージが出力されています。
userdel rオプションはユーザーと一緒にメールスプールも削除されます。

userdelについて以下の記事が参考になりました。
https://linuxcommand.net/userdel/

useraddのデフォルト設定を表示してみた

useraddについて以下の記事が参考になりました。
https://www.server-memo.net/centos-settings/system/useradd.html

useraddの設定をみたところ、以下の例ではメールスプールがユーザー作成時に一緒に作成される様です。

[root@localhost ~]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes ※メールスプールを作成する設定

現在のユーザー情報を確認した

パスワードファイルを参照して現在使用しているユーザーを一部表示した

[root@localhost mail]# cat /etc/passwd | tail -n 2
test_user:x:1001:1001::/home/test_user:/bin/bash
test:x:1002:1003::/home/test:/bin/bash
[root@localhost mail]#

メールスプールのフォルダ配下を確認した

各ユーザーのファイルがあることを確認した

[root@localhost mail]# ls -ltr
合計 4
-rw-rw----. 1 test_user mail   0  4月  4 20:45 test_user
-rw-------. 1 root      mail 691  4月  4 20:54 root
-rw-rw----. 1 test      mail   0  5月  4 16:49 test
[root@localhost mail]# pwd
/var/spool/mail

rootファイルを確認してみた

rootファイルに何かのデータが入っています。
恐らくcronのエラー文です。

[root@localhost mail]# cat root
From root@localhost.localdomain  Tue Apr  4 20:54:52 2023
Return-Path: <root@localhost.localdomain>
X-Original-To: root
Delivered-To: root@localhost.localdomain
Received: by localhost.localdomain (Postfix, from userid 0)
        id A0D108A41C8; Tue,  4 Apr 2023 20:54:52 +0900 (JST)
To: root@localhost.localdomain
From: test_user@localhost.localdomain
Auto-Submitted: auto-generated
Subject: *** SECURITY information for localhost.localdomain ***
Message-Id: <20230404115452.A0D108A41C8@localhost.localdomain>
Date: Tue,  4 Apr 2023 20:54:52 +0900 (JST)

localhost.localdomain : Apr  4 20:54:52 : test_user : user NOT in sudoers ; TTY=pts/0 ; PWD=/tmp ; USER=root ; COMMAND=/bin/chmod +x test.sh

cronの標準出力とエラー文があるとrootのメールスプールにメッセージが送信されることがあるそうです。
以下のメッセージが出力されます。

You have mail in /var/spool/mail/root

/var/spool/mail/rootについて以下のサイトが詳細が記載されていました。
https://ex1.m-yabe.com/archives/3480

rootにメールを送る設定になっていました。

[root@localhost mail]# cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root ※Mailの設定です

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name  command to be executed

[root@localhost mail]#

まとめ

普段、linuxユーザー作成時にメール設定について意識はしていませんでした。
linuxは各ユーザーごとにメール設定される事が分かりました。
通常のEmailとは異なり、linuxのメールはcron等の通知メッセージのようなものであることが分かりました。
メールのスプールは溜まっていく可能性があることを知りました。
そのため場合によっては定期的に「/var/spool/mail/root」を空にする必要がありそうです。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?