サイトアイコン ex1-lab

sudoコマンドでroot宛のメールを削除したい

centos_logo

centos_logo

かなり以前の記事(/var/spool/mail/root を空(削除)にする)で、root宛のメールをCronで削除する記事を書きましたが、一般ユーザーでsudoコマンドを利用すると以下のようなエラーになります

$ sudo cat /dev/null > /var/spool/mail/root
-bash: /var/spool/mail/root: Permission denied

上記のコマンドを実行すると、Permission denied がでます。その原因は以下です

対策としては、truncate コマンドを使うことで一般ユーザーでもCronで「/var/spool/mail/root」を空にできます。

一般ユーザーでsudoコマンドがパスワードなしで実行できる環境なら、以下のコマンドで「/var/spool/mail/root」の空にできます

$ crontab -e
0 6 * * * sudo /usr/bin/truncate -s 0 /var/spool/mail/root

truncate は ファイルサイズを変更するためのコマンドで、「truncate -s 0 <ファイル名>」で指定したファイルのサイズを0にします

モバイルバージョンを終了