その後、PHPとMySQL、データアップ用にSambaとインストールが進みましたが、
かなりハマったのでメモ。
データアップロードの際にSambaを使おうと思ったら、
iptablesとSELunux でつまづきました。
Sambaの設定は完了しているものとします。
念のためSambaの設定メモ
[root@piyo ~]# nano /etc/samba/smb.conf
[global]
unix charset=utf8
dos charset=CP932
display charset=utf8
create mask=0644
force create mode=0
security mask=0644
force security mode=0
directory mask=0755
force directory mode=0
directory security mask=0755
force directory security mode=0
#force user = root //rootユーザだけ閲覧可能に。今回はオフ
さらに、シェアするフォルダの設定メモ
public = yes
writable = yes
guest ok = yes
ではまず iptables ファイアウォールの設定を書き換えます。
[root@piyo ~]# nano /etc/sysconfig/iptables
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p udp --sport 53 -j ACCEPT
-A INPUT -p tcp --dport 53 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 139 -j ACCEPT
-A INPUT -p udp --dport 137 -j ACCEPT
-A INPUT -p udp --dport 138 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-P INPUT DROP
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
この表記ですとSSHも通すようになってます。
設定が終わったらiptablesを再起動。
/etc/init.d/iptables restart
エラーが出なければOK。
この状態では、まだSambaに繋げてもファイルを見ることが出来ません。
SELinuxの状態を確認。
getenforce
Enforceingになっているハズ。有効になっています。
テストとしてPermissiveに設定。
setenforce 0
この状態にしてしまうとSELinuxがオフとなるためファイルを見ることが出来ます。
では、OnにしたままSambaを使用可能にします。
sambaでホームディレクトリにアクセス制限があるかを確認
# getsebool samba_enable_home_dirs
samba_enable_home_dirs --> off
この状態でonになっていたら別の問題で繋がらないのでsmb.confを調べる。
(自分の場合は閲覧権限をroot ユーザのみにしていて忘れてたので2度ハマったw)
offの場合は・・・
# setsebool -P samba_enable_home_dirs 1
この後は
# setenforce 1
# getenforce
Enforcing
とした上でsambaのアクセスを確認すれば良い。
しかし、共有したいvar/wwwができないので以下を行った。解説は後日。
chcon -t samba_share_t /var/www/html/ -R
chcon -t public_content_t /var/www/ -R