今回はAsianux側に作成したSambaの共有ディレクトリにWindows側からアクセスしてみます。
今回共有するディレクトリは/shareとします。
# mkdir /share
Samba用のLinuxユーザーを作成します。
# groupadd smbgroup
# useradd -g smbgroup smbuser
# passwd smbuser
New UNIX password:
Retype new UNIX password:
上記で作成したユーザーをSambaユーザーとして登録します。
# pdbedit -a smbuser
new password:
retype new password:
Samba 2.0系まではsmbpasswdコマンド で登録していましたが、3.0系からはpdbeditコマンド を使用するように
なっています。(2.0系までと同様にsmbpasswdで登録することもできるようです。)
保存先は/etc/samba/smbpasswdになります。
/etc/samba/smb.confを編集し/shareを共有名Shareで共有ディレクトリとして登録します。
[Share]
path = /share
read only = yes
とりあえず最初は読み取り専用としておきます。
なお、writeableというオプションもあって、"read only = yes"と"writeable = no"は同じ意味になります。
書き終えたらSambaデーモンを再起動します。
# /sbin/service smb restart
この状態で一度Windowsからsmbuserで共有にアクセスしてみます。
Windowsエクスプローラーを起動して[ネットワークドライブの共有]でAsianux上のShare共有を指定し
この様にShare下のファイルの参照は可能ですが、
書き込みをして保存しようとするとエラーになり読み取り権限しかないことが確認できます。
smb.confで"read only=no"あるいは"writeable=yes"とすれば書き込みが可能になりますが、
全てのユーザーに書き込みを許可するのは好ましくないので特定のユーザーにだけ許可するようにします。
"write list"を使用すれば"read only=yes"の場合に特定のユーザーにだけ書き込みを許可することができます。
[Share]
path = /share
read only = yes
write list = smbuser
これとは逆に"read list"というオプションもあって"read only=no"の場合に読み取りのみ許可するユーザーを
指定するということもできます。
なお、グループで指定する場合は"write list = @smbgroup"の様に@を使用します。
smb.conf編集後、Sambaデーモンを再起動します。
# /sbin/service smb restart
あとLinuxのパーミッションでsmbuserに/shareディレクトリへの書き込み権限を与えておきます。
これをやっておかないとsmb.confの設定で書き込みを許可しても書き込みできません。
# chown -R smbuser:smbgroup /share
# chmod -R 775 /share
これでWindows側のエクスプローラーに戻って先程のShare共有上のファイルの保存を再実行すると
今度は保存に成功します。新規にファイルを作成することも可能です。
あと/etc/samba/smb.confのglobalセクションでワークグループ名とサーバー名を登録しておくと
その名称でエクスプローラーの[マイネットワーク]に表示されるようになります。
[global]
workgroup = Workgroup
server string = Asianux3

でもsmbuserのホームディレクトリも一緒に見えてしまっていますね・・・
これに関しては以下のサイトに情報がありました。
日本Sambaユーザー会:ホームディレクトリの共有を不可視にする
[ホームディレクトリを見えないようにする方法]
1. globalセクションで"browseable=no"を記述する
2. その上で公開したい共有のみ"browseable=yes"を記述する。
[global]
workgroup = Workgroup
server string = Asianux3
browseable = no
[Share]
path = /share
read only = yes
write list = smbuser
browseable = yes
smb.conf編集後、Sambaデーモンを再起動してもう一度Windowsエクスプローラーをチェックしてみます。
今度はホームディレクトリは見えないですね。