Fedora 20でメールを設定しようとしています。テストEメールを送信しようとするたびに、許可が拒否されましたというメッセージが表示されます/usr/sbin/sendmail
。
権限を確認しましたが、結果は次のとおりです。
[root@localhost uone]# ls -ld /usr/sbin/sendmail
drwxr-sr-x. 2 uone uone 4096 Jun 14 17:42 /usr/sbin/sendmail
ログを確認すると、/var/logs/mail
この結果が表示されます。
[root@localhost uone]# ls /var/log/maillog
/var/log/maillog
そして
[root@localhost home]# cat /var/log/maillog
[root@localhost home]#
走ることがls -l
私にこれを与えた
[root@localhost home]# ls -l /var/log/maillog
-rw-------. 1 root root 0 Jul 6 11:27 /var/log/maillog
ls -l
sendmailディレクトリに1つ作成してこれを私にください
[root@localhost sbin]# ls -l | grep sendmail
drwxr-sr-x. 2 uone uone 4096 Jun 14 17:42 sendmail lrwxrwxrwx. 1 root root 15 Jul 12 19:04 sendmail.ssmtp -> /usr/sbin/ssmtp
2つの質問があります。
メールを設定したときに何かを見逃しましたか?電子メールを送信する前に何をすべきか?
何が起こったのかを正確に理解するためにログを取得するにはどうすればよいですか?
答え1
あなたの権限の問題はファイル権限の問題ではなく、SELinuxはsendmail実行可能ファイルがファイルシステムの特定の場所にあるファイルにアクセスすることを許可しないことです。これらの問題を解決する最善の方法は、SELinuxトラブルシューティングGUIを使用することです。
$ sealert -b
次に、SELinuxを軽減するために推奨されるように、ファイルシステムに必要なコンテキストを追加する必要があります。
メモ:上記の例では、2番目のオプションを選択し、コマンドを実行して説明したsemanage
ようにrestorecon
問題を解決しました。問題についてもsendmail
同じことを行う必要があります。
Fedoraの一部ですか?
はい、SELinuxとトラブルシューティングツールはすべてのRed Hatディストリビューションの一部です。私は与えられた実行可能ファイルのパッケージ名が見つからないときはいつでもこのコマンドを使いますrepoquery
。
$ repoquery -qf */sealert
setroubleshoot-server-0:3.2.17-1.fc20.x86_64
setroubleshoot-server-0:3.2.14-2.fc20.x86_64
GUIで実行される問題
GUIで実行できない場合は、sealert
次のように端末を介して再実行できます。
$ sudo sealert -a /var/log/audit/audit.log | less
その後、特定の問題の結果を確認し、推奨コマンドを使用してSELinuxの問題を解決する必要があります。次を表す行を探しています。
*****プラグインopenvpn(信頼度47.5)推奨****************************
「信頼性」の値が高いアクションは、ユーザーが実行したいアクションです。この行の後には、SELinuxの問題を「修正」するコマンドが続きます。たとえば、次のようになります。
$ sudo semanage fcontext -a -t home_cert_t /home/slm/somedom.com.ca.crt
$ sudo restorecon -R -v /home/slm/somedom.com.ca.crt