fedora19の導入についてはこちらを参照。
smbの設定はいつもいつもいつもハマる!
最初は接続できていた設定ファイルに戻しても接続できなくなるので、もうわけがわからず発狂寸前だったが、今日はついにその原因がわかった。
接続できない状態になると以下のようなダイアログが表示され、こうなってしまうと何をやっても接続できない。
ネットワークエラー
「\\bbb に対するアクセス許可がありません。ネットワーク管理者にアクセス許可を要求してください。」
とのメッセージ。※bbbはわが家でのBeagleBone Blackのホスト名。
うーん、アクセス権も含めて接続できていた設定に全て戻してるのに、さっぱり原因がわかんねーよ。もっと的を射たメッセージを出せないのかね。
いろいろ調べた結果、一度接続した共有名は、Windows上でクリアされないらしい。
Windows上の共有情報は、ログオフか再起動しないとクリアされない。
そのため、一度接続した後、ログオンしたままでsamba側で共有の設定を変更した場合、Windows側は古い共有情報でアクセスしようとするので、おかしな状態になってしまうようだ。
ログオフせずに共有をクリアするには、Windows上で以下のコマンドを実行する。
> net use * /delete
sambaの設定を変更した後は、毎回これを行うことで、正しく動作確認ができる。
いままではこれをやってなかったから、sambaの設定変更中にドツボ状態だったわけだ。
以上を踏まえた上でfedora19へのsambaのインストールと設定を行う。
sambaインストール
# yum -y install sambasamba4.0.9がインストールされる。
ユーザの追加
# pdbedit -a username
設定ファイルの編集
もし設定ファイルを直接いじりたくなければ、以下に示すGUI設定ツールをインストールする。
GUI設定ツールをインストール
smb.confベースはこれで作成して、あとは手動で/etc/samba/smb.confを微調整。
smbは簡単に動かなくなるので、これが一番楽で確実だったりする。
GUIツール system-config-samba のインストール
# yum -y install system-config-samba
samba設定
その前にとりあえず既存の/etc/samba/smb.confを削除。
# rm /etc/samba/smb.conf
設定は system-config-samba にて行う。(GUIなのでデスクトップ画面で)
BBB上のfedora19のデスクトップの表示はこちらを参照。
このツール上で、sambaユーザの追加、公開フォルダの設定を行う。
難しいところは無いので見ればわかる。
設定後、/etc/samba/smb.conf が生成される。
あとはsmb.confを直接微調整。
最後は以下のコマンドで構文チェックを忘れずに。
# testparm
-vをつけると、smb.confに指定していないデフォルト値も表示。
# testparm -v
最終的なsmb.confの内容
ゲスト不可、ユーザadminのみアクセス可能。
[global]
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
idmap config * : backend = tdb
cups options = raw
[tmp]
path = /tmp
valid users = admin
read only = No
[data]
path = /data
valid users = admin
read only = No
サービス起動させて動作確認
# systemctl start smb.service
Windowsからエクスプローラで参照できることを確認。
エクスプローラのパス欄に \\サーバ名 でアクセス。
うちの場合、\\192.168.12.100 または \\bbb
ID/パスワードを聞かれるので入力。認証が成功すると、共有設定したフォルダtmpとdataが見えるようになる。
以上、問題なさそうだったら、boot時に自動起動するようサービス登録。
# systemctl enable smb.service
BBBを再起動してsambaアクセスできることを確認できれば完了。