ひさびさにどハマりしてだいぶ時間を無駄にしてしまったので備忘録です。
はまったポイント
- sambaの設定についてtestparmコマンドでは問題なさそう
- 読み込むだけならlog.smbdログの中で「NT_STATUS_OK」なのに、書き込もうとすると「NT_STATUS_ACCESS_DENIED」となり読み取りはできるが、書き込みができない
- Samba側のディレクトリのパーミッションでも書き込み可能となっており理解不能
samba経由でファイルシステムにアクセスするときだけRead-Onlyになっているように見えています。
結果てきにはSELinuxがファイル書き込みの邪魔をしていました(いつもこいつでハマる…)。
解消方法ですが、以下のファイルを編集し、サーバーを再起動することで解決します。
/etc/selinux/config
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. #SELINUX=enforcing SELINUX=disabled # SELINUXTYPE= can take one of these three values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
記事は以上!