• ベストアンサー
  • すぐに回答を!

rootユーザのメールボックスへのメール書き込みを止めたい。

こんにちは。Linux Red Hatで質問です。 ●ユーザ毎のメールボックス(ここでは/var/spool/mail/root) へのエラーメール書き込みを止める方法をご存知でしょうか? 万が一それを止める方法がないなら、rootログインするたびに 「You have mail」と常に表示されるのを止める方法をご存知 でしょうか。 rootでログインすると「You have mail」と常に表示されます。 /var/spool/mail/配下のrootファイルがいつも増大しているのですが、 これを削除すると一時的に出なくなります。 でもしばらくするとまたrootファイルが復活・増大し、rootログインすると再度「You have mail」が表示されます。 中身を見ると、当該マシンのcronで動作するログ削除シェルが実行するたびに、対象ディレクトリが存在しない、というエラーメールを /var/spool/mail/rootに追記しているみたいです。 1時間に一度実行されるシェルなのです。 宜しくお願いいたします。

共感・応援の気持ちを伝えよう!

  • 回答数4
  • 閲覧数3877
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.3
  • Lean
  • ベストアンサー率72% (435/603)

1. cronから実行されたプログラムから標準出力や標準エラー出力に対し出力がなければメールは送信されないので、標準出力と標準エラー出力を/dev/nullにリダイレクトして破棄する 2. crontabファイル内に「MAILTO=""」と設定してcronからメール送信されるのを止める。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

Leanさん、ご回答ありがとうございました。 はい、1.のような根本解決法で行きたいと思います。 2.の方法も根本的ですね。ちなみにcronのどの行でもよろしい のでしょうか!?

その他の回答 (3)

  • 回答No.4

他には、 ・root以外の他のユーザでcron処理する(権限の問題で無理?) ・loginのソースを書き換えてメールチェックしないようにする(.login等の設定で出ないようにするのは無理っぽいので強引にソース変更) No.1のかたが書かれているように根本的な対処をすべきでは? そもそもrootに届くメールも読まない(届いていることも知りたくない)ような人間にroot権限を付与してマシン管理させること自体大きな間違いな気もしますが 権限を与えるだけならsudoでも何とかなりそうな気がしますけど

共感・感謝の気持ちを伝えよう!

質問者からのお礼

774dangerさん、ご回答ありがとうございました。 ええ、root以外のユーザでのcron処理は難しいですね。 loginコマンドが、結局出力表示しているのですよね。 ソース見なくちゃなりませんか? 設定で何とかできたら本当にうれしい!! でも根本的解決が一番ですね。 rootユーザのやるべきことを放棄する人間が管理するな、というのは 気付かされた点です。いや、本当にありがとうございます。

  • 回答No.2
  • yambejp
  • ベストアンサー率51% (3827/7415)

どうしてもというなら.forwardで適当な管理者に転送するか、 ヌルデバイスにパイプしてしまえば? しかしrootあてのメールを止めてしまったら致命的なエラーが でたときにどうするつもりなのか疑問が残りますが・・・

共感・感謝の気持ちを伝えよう!

質問者からのお礼

yambejpさん、ご回答ありがとうございました。 えぇ、rootへのメール止めると致命的なエラーを見逃しますが、 出力元で止める方針にするしか仕事上ないです。 確かに必要だからメール通報とかあるのにねぇ。 とにかく、私のとりとめのない質問にご回答いただきありがとう ございました。

  • 回答No.1

cronは、普通は、シェルからなにもエコーされないときはメールを出しませんから、 そのエラーが出ないように大元から解決すれば、よいと思いますよ。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

superside0さん、ご回答ありがとうございます。 はい、それが一番良い解決策ですよね。。。 その正統路線でいけるように頑張ります。 ありがとうございました。

関連するQ&A

  • メールボックスrootの削除

    sendmailを使用しています。 rootのメールボックスが2Gを超え、動きがにぶくなっています。 削除しようと思うのですが、 (1)sendmailをkillする (2)/var/spool/mail/rootをRMする (3)sendmailを再立ち上げ といった手順を実施していいですか? 乱暴すぎるかなと不安に思っています。

  • cronから送られ、mboxに入ったメールを見て、削除する方法???

    ログインすると You have new mail in /var/spool/mail/root と出るメールを mailコマンドで番号を指定してメッセージを見たり、 d 1 などとやって削除するのは、少しわかりましたが、 その後、 Saved 2 messages in mbox と出て、mboxに入ったとされるメールとは、どのメールのことですか? また、これを見たり、削除したりするには、どうしたらよいのですか? そもそも、このmboxとは、何ですか? また、このあたりの「どうしたらどこにどうなるのか」といった「メールのフロー」がわかりません。 また、ついでに、このメールは、ほとんど、cronから送られてくる、タイトルが「LogWatch for XXXX」というメールで、必要ないのですが、cronからのこのメールをとめるには、どうしたらよいのでしょうか??? redhat9です。 同じような初心者の方も多いと思うので、よろしくお願いします。

  • /var/mailのディレクトリにあるrootファイルについて

    Linuxの学習に励んでおります、初心者です。 var/mailに移動し、mail コマンドを実行したところ、下記のように表示され ail version 8.1 6/6/93. Type ? for help. "/var/spool/mail/root": 13 messages 13 new >N 1 root@localhost.local Fri Jan 27 11:15 29/1128 "SMART error (CurrentPendingSect"  ~ 省略 N 12 root@localhost.local Tue Jan 31 08:04 29/1128 "SMART error (CurrentPendingSect" N 13 root@localhost.local Tue Jan 31 09:10 152/5677 "LogWatch for hp" & Message 1: From root@localhost.localdomain Fri Jan 27 11:15:12 2006 Date: Fri, 27 Jan 2006 11:15:00 +0900 From: root <root@localhost.localdomain>  ~ 省略 No additional email messages about this problem will be sent. そして、エンターを押すと、Message 2: Message 3:と続いて表示され q を押して終了させ ようとした所… & q Saved 3 messages in mbox Held 10 messages in /var/spool/mail/root [root@hp mail]# [root@hp mail]# [root@hp mail]# **********。 -bash: *******************。: command not found [root@hp mail]# と表示され、終了しました。 ***の部分は私が利用しているYahoo無料メールで、一番最後に受信したメール文章です。 私はLinuxではメールもネットも使用しておりません。 それなのになぜ、メールの内容がサーバのrootファイルに記録されているのでしょうか? ApacheとTomcatをインストールしており、TeraTermを使用してSSH通信しています。 不正アクセスの可能性もあるのでしょうか? どなたかご存知の方がいらっしゃいましたら、お手数ですが、アドバイスお願いいたします。

  • LinuxのGUI上でrootにスイッチ

    CentOS7またはDebian8のGUI環境(GNOME)に一般ユーザでログインした状態から、rootにスイッチする方法があれば教えてください。 <状態1> CentOS7はデフォルトでrootが閉じられていないので、rootでログインできます。 rootでログインすればroot権限のファイルもgeditなどで書き換える事が出来ますし、rootでないと実行できないアプリも実行できます。 デスクトップはrootのhomeにある状態。 rootでのログインを禁止したとします。 一旦、一般ユーザーでログインするしかありません。 homeのユーザーにいる状態。 ここから、<状態1>にスイッチしたいです。 方法があれば教えてください。 CUI環境の場合は簡単です。 一般ユーザーでログインしていても su - と叩いてrootのパスワードを入れさえすれば、最初からrootでログインしたのと同じように振る舞えます。 これと同じことをGUI環境でやりたいです。 また、GNOMEは第一希望ですが、GNOMEでダメなら、CentOS7またはDebian8で使えるなら他のデスクトップ環境でも構いません。 以上、よろしくお願いします。

  • root宛てメールの転送について

    sendmailの転送設定について困っていることがあるので質問させて頂きます。 あるサーバでCRONによりジョブが実行され、実行結果がroot宛にメールで配信されるようになっています。そのサーバ自体ではメールの参照を行わないため、メールは他のアドレスに転送したいと考えています。現状では /usr/bin/mail test@test.co.jp とやるとtest@test.co.jpに送信が可能です。次にroot宛のメールを転送しようと思い、/etc/mail/aliasesファイルの編集→newaliases にて転送設定を行いましたが、root宛に送信しても転送先へメールが転送されません。 aliasの設定に問題があるかと思い、以下のテストを行いましたが、設定したとおりの結果が返ってきています。 <テスト1> sendmail -C/etc/mail/sendmail.cf -v -bv root <テスト2>冗長モードでのメール配信 sendmail -C/etc/mail/sendmail.cf -v root  正常にroot宛メールがtest@test.co.jpに転送されて受信可能 しかしmailコマンドにてローカルからroot宛にメールを送信しても同様に目的のアドレスには転送されず、rootに配信されてしまいます。  /usr/bin/mail root  とやるとroot宛に送信してしまいtest@test.co.jpには送信できません。 このサーバ自体はメールの受信の必要はなく、root宛のメールを転送することができれば良いのですが、この先の対応方法が見つからず難儀しております。 情報に不足があり、状態が正確にお伝えできていないかも知れませんが、このような状態の解決のヒントをいただければと思っております。 よろしくお願い致します。 ■環境  OS :FreeBSD 4.7-RELEASE  sendmail :8.12.1(デーモン起動は行っていない)

  • メールのバックアップ方法

    RedHatLinux9でmail&webサーバーを構築してます。 毎日、午前3時に /var/spool/mailと/var/www/htmlをテープにバックアップしてるんですが どうやらその時にメールの送受信をしているとバックアップに失敗しているようでした。 今までは backup.shというのを作りcronに登録してます。 記述内容は tar cvf /dev/st0 /var/spool/mail /var/www/html です。 で、失敗したのでそれならと、まず/var/spool/mailを/root/backupにコピーしてからバックアップしようと mkdir backup cp -f /var/spool/mail /root/backup tar cvf /dev/st0 /var/spool/mail /var/www/html /root/backup としました。 でもこれでもうまくいかなかったようです。 エラーログは以下のようになっています。 mkdir: cannot create directory `/root/backup': File exists cp: omitting directory `/var/spool/mail' tar: /dev/st0: Cannot open: No such device tar: Error is not recoverable: exiting now 一度失敗してから テープの調子も悪くなってきているようです。

  • メールサーバの/var/spool/mail にあるrootファイルを開きたい

    RedHatLinux9でメールサーバをDMZ側に構築しました。 メールサーバはsendmailとUWIMAPを使用しています。 メールがおかれているところは、/var/spool/mail だと思うのですが、 今日、FTPソフトで、/var/spool/mailの中をのぞいてみると、 rootのファイルがおかれていて、メールが届いているようでした。 rootのメールを受け取るように設定はした覚えがないのですが、どうしてこのようなファイルがあるのでしょうか? とりあえず、開いてみようとOutlookExpressでrootのアカウントとパスワードの設定をしたのですが、受信しようとすると、パスワードを聞かれてしまい、Linuxで使用しているパスワードではないようです。 どうやったら、このメールを見ることができますか?

  • rootにpathを通す方法

    こんにちは、kaituyoと申します。 Solaris8でのpathの通し方の質問です。一般ユーザーの場合ですとHOMEディレクトリの中の「.cshrc」ファイルにpathを書きこみシェルを再実行させればコマンドが使えるようになりました。しかし、rootでログインすると使えません。それで、rootにもpathを通そうかしたら「.cshrc」が見つかりません。  rootでpathを通してコマンドを実行できるようにはどうしたらいいのでしょうか? よろしくお願いします。

  • Linuxサーバーrootからのメッセージ

    いつもお世話になっています。 Turbo Linux Server 6.1Jから、ftp版のTurbo Linux Server 6.5にアップグレードしました。 昨日、INSからADSL固定IPサービスへ移行して、各種のサーバーを立ち上げて、rootからのメッセージをクライアントPCから受け取りました。 その中に、下記のエラーが毎時間、1件以上出ているのですが、これはどのような意味で、修正する方法があれば是非教えてくださいお願いします。 Dec 5 12:01:00 xx CROND[2361]: (root) CMD (run-parts /etc/cron.hourly)         : Dec 5 11:01:59 xx ipop3d[2246]: Mailbox vulnerable - directory /var/spool/mail must have 1777 protection

  • rootログインを廃止して1ユーザーのみrootになれるようにしたい。

    恐れ入ります。 セキュリティのことについて勉強していると rootでのログインが避けたほうが良いとわかりました。それを避けて1ユーザーのみroot権限になれるようにしたいと思っています。 そこでお聞きしたいのですが、 vi /etc/groupで開くと root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon tty:x:5: disk:x:6:root lp:x:7:daemon,lp mem:x:8: kmem:x:9: wheel:x:10:root mail:x:12:mail news:x:13:news uucp:x:14:uucp man:x:15: games:x:20: gopher:x:30: dip:x:40: ftp:x:50: lock:x:54: nobody:x:99: users:x:100: rpc:x:32: このようになっていて bin daemon sys adm disk というユーザー?もrootになれるみたいなんですけど、これってコメントアウトして停止にしたほうがいいんでしょうか?でもこれをやるとシステムがちゃんと動かなくなるきがするんですけど・・・。