はじめに
前回は共有フォルダの設定をしました。
しかし前回の共有設定では、好きなようにゲストOSに作った開発環境へのアクセスができないのでsamba経由でアクセスすることにします。
やりたい内容はこちら
ながれ
1. 注意&環境
注意
この設定は一般的なサーバへのsamba設定ではありません。
あくまでもmac内のVMWare内(共にローカル)に
sambaをインストールして使うだけなのでセキュリティはあんまり考慮してない設定です。
環境
今回はこんな環境で行ってます
2. sambaインストール
sambaとは
そのまま引用ですが、一応sambaとは
も載せておきます。
SambaはLinuxシステム上でWindowsサーバー相当の機能を実現するソフトウェア。
Sambaを使用することで、Linuxシステムを
Windowsネットワーク内のファイルサーバーに仕立てることが可能。
またLinuxマシンとWindowsマシンとの間でのデータ交換が簡単に行える。
参考→第1回Sambaとは
次からがインストール
インストール
インストールはそのままやるだけですね。
※ yumでインストール # sudo yum install samba ※ 入ったかどうかバージョンを見てみる # sudo smbd -V Version 3.0.33-3.40.el5_10 ※ 自動起動の確認 # sudo chkconfig --list | grep smb smb 0:off 1:off 2:off 3:off 4:off 5:off 6:off ※ 自動起動オプションをON # sudo chkconfig smb on ※ 再度確認 # sudo chkconfig --list | grep smb smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
3. samba設定
設定は主に
- 設定ファイルの編集
- ユーザの追加
を行います
設定ファイルの編集
※ 念のため設定ファイルをバックアップ # sudo cp -ap /etc/samba/smb.conf /etc/samba/smb.conf.org ※ confを編集 # sudo vi /etc/samba/smb.conf ---- vi追記 ---- ※ 一番下に追加。hogehogeのところは何でもいい [hogehoge] comment = hogehoge directory path = /home/hoge public = yes browseable = yes writable = yes hosts allow = 127. 192.168. --------------- ※ 再起動 # sudo /etc/init.d/smb restart
設定に関してはこちらを参考にさせて頂きました!
→Sambaのユーザー認証とファイルアクセス権の設定
それぞれのパラメータはこんな感じ
パラメータ名 | 値の例 | 説明 |
---|---|---|
comment | aiueo | 共有名の説明 |
path | /var/hoge | 共有する対象ディレクトリを指定 |
browseable | yes(no) | 「ネットワークコンピュータ」に表示するかどうか。 |
public | yes(no) | Sambaサーバにアカウントを持たないユーザーがアクセスした場合に、それを特定のUNIXアカウント(ゲストアカウント)にマッピングしてアクセスを許可する設定 |
writable | yes(no) | 書き込み許可の設定。no だと書き込み禁止 |
hosts allow | 127. | 特定のIPアドレスからしか接続できないように設定 |
パラーメタはこちらのサイトが参考になりました
→Sambaのユーザー認証とファイルアクセス権の設定
Sambaのユーザー設定
Sambaのユーザ設定をします。
macからアクセスするときに使うユーザのID/PASSですね。
一般的なsambaの設定だとsamba
というユーザを作るところからが多いですが、
今回はローカル(vmware)にアクセスするだけなので
既にいるユーザを使ってアクセスすることにします。
※ pdeditコマンドでユーザの追加。hogeはすでにいるユーザ # sudo pdbedit -a hoge new password: retype new password: Unix username: hoge NT username: ・・・省略・・・ ※ 再起動 # sudo /etc/init.d/smb restart
ユーザの設定に関してはこちらを参考にさせていただきました。
→Mac OSX LionのVirtualBox 4.1(CentOS 6)上でsambaを試す
補足
pdeditですが、既存ユーザじゃないユーザを指定するとこんな感じになります。
# sudo pdbedit -a fuga Cannot locate Unix account for fuga
つまり
CentOS上に存在しないユーザーIDは指定できません
4. iptables設定
iptablesを設定します。
iptablesについては割愛しますが、
vmwareいれたてで/etc/sysconfig/iptables
ファイルが無い状態なので
新規で作っちゃいます。
こんな感じにしました。
※ vi編集 # vi /etc/sysconfig/iptables ---- vi編集 ---- *filter :INPUT DROP [0:0] :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] :RH-Firewall-1-INPUT - [0:0] -A INPUT -j RH-Firewall-1-INPUT -A FORWARD -j RH-Firewall-1-INPUT -A RH-Firewall-1-INPUT -i lo -j ACCEPT -A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT -A RH-Firewall-1-INPUT -p 50 -j ACCEPT -A RH-Firewall-1-INPUT -p 51 -j ACCEPT -A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT -A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # SSH, HTTP, HTTPS, SSH(22) -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT # samba -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137:138 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139:445 -j ACCEPT -A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited COMMIT --------------- ※ iptablesを再起動 # sudo /etc/init.d/iptables restart ※ 確認 # sudo /sbin/iptables -L
この中でsambaに関係するのは下記2行。
すでにiptablesや設定がある場合はこの行だけ追加すればOK
# samba -A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137:138 -j ACCEPT -A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139:445 -j ACCEPT
5. つないでみる
ってことでようやくつないでみます。
一応VMWare(Centos)のipを確認
# ifconfig | grep "inet addr" inet addr:192.168.239.129 Bcast:192.168.239.255 Mask:255.255.255.0 inet addr:127.0.0.1 Mask:255.0.0.0
ということでipが192.168.239.129
という前提で進めます。
mac側からつないでみる
Finderメニュー > 移動 > サーバへ接続
を開きます。
ショートカットはcommand + k
サーバアドレス欄にsmb://192.168.239.129
と入力して接続
pdbedit
で設定したユーザのID/PASSを入力して接続
finderにこんな感じで追加されてアクセスできるようになりました。
補足
ここで終わるはずでしたが、実際はまだ2つ問題がありました。
こちららの解決は別途下記の記事で書きました。
共有フォルダ内にシンボリックリンクフォルダがあると
そのシンボリックリンクにはアクセスできないので解決方法をメモ
→Mac(OS X)とVMWare Fusion7(CentOS5.3)で開発環境を作る-Sambaの設定(smb.conf)でシンボリックリンクにもアクセスできるように設定する
samba経由でアクセス権がかわってしまう、そんなときに
→macからCentOSに入れたSamba経由でファイルを作成・編集すると勝手にパーミッション(permission)が変更されてしまう対応(umask、chmod、create mask、directory maskへんのおさらい)
まとめ
昔やったのに最初の環境設定とかって少し違うだけで戸惑ったり
一回やったきり忘れることが多いですがメモって記憶のインデックスにだけでも残ってくれるこを願います\(^o^)/