ubuntu-serverによる自宅サーバーの作成2(Sambaサーバーの設定)
前回の記事で作成したサーバーをNASとして機能させるために、Sambaの設定を行ないます。
まず、Sambaのパッケージをインストールします。
sudo apt-get install samba
次に/etc/samba/smb.confを編集します。
sambaで共有フォルダを追加するための記述のフォーマットは以下のようになります。
["共有名"] path = "共有するディレクトリのパス" writeable = yes # 書き込み可能とするならyes browseable = yes # 可視とするならyes valid users = "" # アクセス可能なユーザーのリスト guest ok = yes # ゲストユーザを許可するならyes
具体例には次のように記述をsmb.confに追加します。
[public] path = /mnt/raid/public writeable = yes browseable = yes guest ok = yes [admin_only] path = /mnt/raid/admin_only writeable = yes browseable = yes valid users = admin
最後に,sambaで使用するポートへのアクセスを許可するために、iptablesの設定を変更します。
iptablesの設定方法は以下の記事を参考にしました。
http://d.hatena.ne.jp/Ubuntu/20080128/1201462048
自宅サーバーで外部にサービスを公開する予定が無ければ、以下の設定で十分だと思います。
#!/bin/sh IPTABLES=/sbin/iptables # 初期化 $IPTABLES -F # デフォルトルール $IPTABLES -P INPUT DROP $IPTABLES -P OUTPUT ACCEPT $IPTABLES -P FORWARD # ローカルホストからのアクセスを全て許可 $IPTABLES -A INPUT -i lo -j ACCEPT # 内部から行ったアクセスに対する外部からの返答アクセスを許可 $IPTABLES -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # Sambaサーバー $IPTABLES -A INPUT -p udp --dport 137 -j ACCEPT $IPTABLES -A INPUT -p udp --dport 138 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 139 -j ACCEPT $IPTABLES -A INPUT -p tcp --dport 445 -j ACCEPT # SSHサーバーを公開する場合のみ # $IPTABLES -A INPUT -p tcp --dport 22 -j ACCEPT # Webサーバーを公開する場合のみ # $IPTABLES -A INPUT -p tcp --dport 80 -j ACCEPT
このスクリプトを/etc/network/if-pre-up.d/iptablesとして実行権限つきで保存します。
これで、次回再起動時にこの設定が反映されます。