« JAZZギター | メイン | 覚書:CentOS5にて、iptablesを有効にした状態でyumを使う方法 »

覚書:CentOS5 で Samba 設定

技術系はネットで公開・非公開は自由だが何らかの形で記録を取るべし。

Sambaを設定するのは3年ぶり2度目だが、初めて往生した時の記録が無いためふたたび往生することに。

SambaとはUnix系OSの中身をWindowsエクスプローラで閲覧操作可能にするソフトウェア、社内LAN環境でよく使われる。

と言うわけで下記覚書。設定ファイル系は全て最初にバックアップを取ることと、自己責任で行うこと。

次回から5分以内で設定できることを自分自身に期待する。

sudo yum -y install samba
#Sambaをインストール(良い子になってやっとsudoを使うことにした、以下、sudoは省略)

vi /etc/samba/smb.conf
#設定ファイルを編集
#--------------------------------------
[global] #共通設定
security = share #共有するように
dos charset = CP932 #Windows側の文字コード
unix charset = UTF-8 #Unix側の文字コード
display charset = UTF-8 # 〃
workgroup = ワークグループ名 #Windows端末と同じワークグループ名
hosts allow = 192.168.○. 127. #許可するIPアドレスの上部(127は不要に思うが・・・)

[Windows側に表示される名前]
path = /home/共有するディレクトリ名
writable = yes #書き込み可能
guest ok = yes #誰でもOK(ネットワーク内なら)
guest only = yes #ゲストのみとする
#--------------------------------------

mkdir /home/共有するディレクトリ名
#共有するディレクトリを作成

chmod -R 777 /home/共有するディレクトリ名
chown nobody:nobody -R /home/共有するディレクトリ名
#全てのユーザに読み書き実行権を与える(後者は不要かも)

chkconfig smb on
#サーバ起動時にSambaサービスが立ち上がるように設定

/etc/rc.d/init.d/smb start
#サービスを起動
SMB サービスを起動中: [ OK ]
NMB サービスを起動中: [ OK ]

#________________________________
#既存のSambaがIPアドレスではなく、マシン名で
#名前解決されているのでこちらもがんばる。
#--------------------------------

vi /etc/sysconfig/network
#ネットワークの設定変更(マシン名のところのみ)
#--------------------------------------
NETWORKING=yes
NETWORKING_IPV6=yes
HOSTNAME=マシン名.localdomain
#--------------------------------------

vi /etc/sysconfig/network-scripts/ifcfg-eth0
#イーサネットカードの設定?変更
#--------------------------------------
DEVICE=eth0
BOOTPROTO=none
HWADDR=マックアドレス(触らない)
ONBOOT=yes
DHCP_HOSTNAME=マシン名.localdomain
IPADDR=192.168.○.○
NETMASK=255.255.255.0
GATEWAY=192.168.○.○
#--------------------------------------

/etc/rc.d/init.d/network restart
#ネットワーク再起動

#________________________________
#ここまではまぁ順調。この後でひっかかる。
#答えから言いましょう、IPTablesとSELinux。
#--------------------------------

#--------------------------------
#IPTablesから
#--------------------------------
#最初にまずポリシーを決める
#INPUTは全て許可
#OUTPUTは全て許可
iptables -P INPUT ACCEPT
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT

#ルールをひとまずクリア
iptables -F

#pingと自端末からの入力を許可
iptables -A INPUT -p icmp -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT

#名前解決に必要
iptables -A INPUT -p udp --sport 53 -j ACCEPT
iptables -A INPUT -p tcp --dport 53 -j ACCEPT

#WebとSSHに必要なポートを許可
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#Sambaに必要なポートを許可
iptables -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -A INPUT -p udp --dport 137 -j ACCEPT
iptables -A INPUT -p udp --dport 138 -j ACCEPT

#残りは破棄
iptables -P INPUT DROP

#ルールを保存
/etc/init.d/iptables save
ファイアウォールのルールを /etc/sysconfig/iptables に保存中[ OK ]

#IPTablesを再起動
service iptables restart
ファイアウォールルールを適用中: [ OK ]
チェインポリシーを ACCEPT に設定中filter [ OK ]
iptables モジュールを取り外し中 [ OK ]
iptables ファイアウォールルールを適用中: [ OK ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns [ OK ]

#--------------------------------
#SELinuxの設定
#社内サーバの場合は不要と思いつつも勉強がてら
#--------------------------------
cat /etc/sysconfig/selinux
#--------------------------------
SELINUX=enforcing
#enforcingをdisabledにしてサーバ再起動でも良い
#今回はenforcingのままでそのままファイルを閉じる

setsebool -P samba_enable_home_dirs true
#設定は上記コマンドのみ。手強いヤツのわりには1行だけ

shutdown -r now
#サーバ再起動

Windowsのマイネットワークから表示、操作確認。

パチパチパチ



広ブロっち♪ d(^-^)

トラックバック

このエントリーのトラックバックURL:

コメントを投稿