その後、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