• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:~/Maildirにアクセスできな)

openSUSE Leap 15.2の設定中に~/Maildirアクセス拒否のエラーが発生

このQ&Aのポイント
  • openSUSE Leap 15.2のセットアップ中に、~/Maildirにアクセスできないエラーが発生しました。
  • Windows機からThunderbirdで受信しようとした際、dovecotが~/Maildirにアクセスできず、Permission deniedエラーが発生しました。
  • この問題は、パーミッションの設定に原因があり、インストール直後に無効化されたSELinuxが関係している可能性があります。

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

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

> UNIX perms appear ok (ACL/MAC wrong?)) なので、何らかのアクセス保護の仕組みの問題ですね。

Joseph
質問者

お礼

 今まで、ご回答頂いた方々に御礼申し上げます(_"_)  本日、原因が判明しました。  以前、デスクトップからファイアウオールの設定を確認しようとして、誤って”AppArmor”を動かしてしまったみたいなんです。  それで、予期しないセキュリティ強化の状況になっていたらしいのです。  先ほど、”AppArmor”を開いて保留になっていたアクセスをallowに設定したところ、無事メールを受信できました。  アクセス保護から調べてたどり着くことができました。

Joseph
質問者

補足

>なので、何らかのアクセス保護の仕組みの問題ですね。  さうですね。そこら辺を見直していたら、”/var/log/audit/audit.log”ってファイルにたどり着いた。  Thunderbirdでメール受信しよーとしたタイミングと同時にログに記録されていた。  それが、こんな感じで・・・ type=AVC msg=audit(1612951976.166:3108): apparmor="DENIED" operation="mknod" profile="/usr/lib/dovecot/imap" name="/export/home/test/Maildir/dovecot-uidlist.lock" pid=17645 comm="imap" requested_mask="c" denied_mask="c" fsuid=1202 ouid=1202  こればかりだった(^^;)  apparmorがアクセスを禁止為ているよーだけど、回避策が見当たらない(>_<)  ちなみに”/etc/apparmor.d/usr.sbin.dovecot”の内容は・・・ # cat usr.sbin.dovecot # ------------------------------------------------------------------ # # Copyright (C) 2009-2013 Canonical Ltd. # Copyright (C) 2011-2013 Christian Boltz # # This program is free software; you can redistribute it and/or # modify it under the terms of version 2 of the GNU General Public # License published by the Free Software Foundation. # # ------------------------------------------------------------------ # vim: ft=apparmor #include <tunables/global> profile dovecot /usr/{bin,sbin}/dovecot flags=(attach_disconnected) { #include <abstractions/authentication> #include <abstractions/base> #include <abstractions/dovecot-common> #include <abstractions/mysql> #include <abstractions/nameservice> #include <abstractions/ssl_certs> #include <abstractions/ssl_keys> capability chown, capability dac_override, capability dac_read_search, capability fsetid, capability kill, capability net_bind_service, capability setuid, capability sys_chroot, capability sys_resource, signal send set=(int,quit,term) peer=/usr/lib/dovecot/*, unix (receive, send) type=stream peer=(label=/usr/lib/dovecot/anvil), /etc/dovecot/** r, /etc/mtab r, /etc/lsb-release r, /etc/SuSE-release r, @{PROC}/@{pid}/mounts r, @{PROC}/sys/fs/suid_dumpable r, /usr/bin/doveconf rix, /usr/lib/dovecot/anvil mrPx, /usr/lib/dovecot/auth mrPx, /usr/lib/dovecot/config mrPx, /usr/lib/dovecot/dict mrPx, /usr/lib/dovecot/dovecot-auth Pxmr, /usr/lib/dovecot/imap Pxmr, /usr/lib/dovecot/imap-login Pxmr, /usr/lib/dovecot/lmtp mrPx, /usr/lib/dovecot/log mrPx, /usr/lib/dovecot/managesieve mrPx, /usr/lib/dovecot/managesieve-login Pxmr, /usr/lib/dovecot/pop3 mrPx, /usr/lib/dovecot/pop3-login Pxmr, /usr/lib/dovecot/ssl-build-param rix, /usr/lib/dovecot/ssl-params mrPx, /usr/lib/dovecot/stats Px, /usr/{bin,sbin}/dovecot mrix, /usr/share/dovecot/protocols.d/ r, /usr/share/dovecot/protocols.d/** r, /var/lib/dovecot/ w, /var/lib/dovecot/* rwkl, /var/spool/postfix/private/auth w, /var/spool/postfix/private/dovecot-lmtp w, /{,var/}run/dovecot/ rw, /{,var/}run/dovecot/** rw, link /{,var/}run/dovecot/** -> /var/lib/dovecot/**, # Site-specific additions and overrides. See local/README for details. #include <local/usr.sbin.dovecot> } #  こんなアクセス保護の仕組みがあるなんて(^o^?)

その他の回答 (2)

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

最初、dovecotがrootで実行されていないのかと思いましたが、 > (euid=1100(xxxxx) egid=1100(xxxxx) を見る限りちゃんとrootで実行されているようです。 このユーザーが、 > drwx------ 1 xxxxx xxxxx 18 2月 4 11:16 /home/xxxxx/Maildir のユーザーと一致しているのであれば、パーミッションは間違っていません。 > インストール直後にSELinuxを無効化しています。 を再度確認してみてください。 > 同じようなエラーが続いていましたが、 異なるエラーメッセージもあるのであれば、載せましょう。

Joseph
質問者

補足

 ご回答を頂いた方々に御礼申し上げます(_"_) >> インストール直後にSELinuxを無効化しています。 > を再度確認してみてください。  はい、確かに”/etc/selinux/config”の”SELINUX=enforcing”を”SELINUX=disabled”に変更して、リブートしました。  で、その結果が・・・ > sudo getenforce Disabled > sudo sestatus SELinux status: disabled  でもって、ついでにlsコマンドでもーちょっと情報を出してみました。 > ls -ldZ ~/Maildir drwx------ 1 xxxxx xxxxx ? 18 2月 4 11:16 /home/xxxxx/Maildir > ls -laZ ~/Maildir 合計 0 drwx------ 1 xxxxx xxxxx ? 18 2月 4 11:16 . drwxr-xr-x 1 xxxxx xxxxx ? 1186 2月 6 12:11 .. drwx------ 1 xxxxx xxxxx ? 2094 2月 5 16:43 cur drwx------ 1 xxxxx xxxxx ? 934 2月 6 15:00 new drwx------ 1 xxxxx xxxxx ? 0 2月 6 15:00 tmp >> 同じようなエラーが続いていましたが、 > 異なるエラーメッセージもあるのであれば、載せましょう。  Thunderbirdを起動直後に取れたエラーログを載せます。  どれも”~/Maildir”にアクセスできない(Permission denied)エラーですね。 2021-02-06T16:53:50.774538+09:00 ml310e dovecot: imap(xxxxx)<49117><N6jJPKa68dfAqABm>: Error: opendir(/home/xxxxx/Maildir) failed: Permission denied (euid=1100(xxxxx) egid=1100(xxxxx) UNIX perms appear ok (ACL/MAC wrong?)) 2021-02-06T16:53:50.776951+09:00 ml310e dovecot: imap(xxxxx)<49117><N6jJPKa68dfAqABm>: Error: file_dotlock_open(/home/xxxxx/Maildir/dovecot.list.index.log) failed: Permission denied (euid=1100(xxxxx) egid=1100(xxxxx), access(/home/xxxxx/Maildir/dovecot.list.index.log, 4) failed: No such file or directory) 2021-02-06T16:53:50.777132+09:00 ml310e dovecot: imap(xxxxx)<49117><N6jJPKa68dfAqABm>: Error: opendir(/home/xxxxx/Maildir) failed: Permission denied (euid=1100(xxxxx) egid=1100(xxxxx) UNIX perms appear ok (ACL/MAC wrong?)) 2021-02-06T16:53:50.782035+09:00 ml310e dovecot: imap(xxxxx)<49117><N6jJPKa68dfAqABm>: Error: Mailbox INBOX: file_dotlock_open(/home/xxxxx/Maildir/dovecot.index.log) failed: Permission denied (euid=1100(xxxxx) egid=1100(xxxxx), access(/home/xxxxx/Maildir/dovecot.index.log, 4) failed: No such file or directory)  今回ご指摘されたSELinuxの無効化に関して見直していると、”/etc/selinux/config”が無くなっていました。 > ls -l /etc/selinux -rw-r--r-- 1 root root 2321 6月 9 2020 semanage.conf  ん~、何らかの誤操作で無くなったのか、原因不明です。  現在、鋭意調査中です。

  • A1200hd40
  • ベストアンサー率51% (336/647)
回答No.1

dovecotでのエラーですから、それに関して情報を掘れば良いのです。 Dovecot Wiki SharedMailboxes/Permissions https://wiki2.dovecot.org/SharedMailboxes/Permissions foo あるいは、barは、甲・乙のように、適宜読み替えの対象ですのでご注意を。 パーミッションについてはこちらを。 Linux入門 chmod - ファイルモードを変更 - Linuxコマンド https://webkaru.net/linux/chmod-command/ >drwx------ 2文字目〜10文字目は3文字区切り(rwx rwx rwx)で、ユーザー制御、グループ制御、「その他のユーザー」制御を表します。 該当ディレクトリは、所有ユーザ以外の一切のアクセスが出来ない状態です。 ユーザー格、グループ格は、各プログラムにも存在しますので、この場合設定変更が必要です。

関連するQ&A