[Asianux3] Samba 3.0 : WindowsからSamba共有にアクセス | Server OS Cafe

Server OS Cafe

Server OSの紹介等

今回は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共有を指定し


Samba_1016_1


smbuserでログインします。

Samba_1016_2


この様にShare下のファイルの参照は可能ですが、


Samba_1016_3

書き込みをして保存しようとするとエラーになり読み取り権限しかないことが確認できます。


Samba_1016_4

次に書き込み権限を与えてみます。

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共有上のファイルの保存を再実行すると

今度は保存に成功します。新規にファイルを作成することも可能です。


Samba_1016_5


あと/etc/samba/smb.confのglobalセクションでワークグループ名とサーバー名を登録しておくと

その名称でエクスプローラーの[マイネットワーク]に表示されるようになります。


[global]

workgroup = Workgroup

server string = Asianux3



Samba_1016_6

でも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エクスプローラーをチェックしてみます。

Samba_1016_7

今度はホームディレクトリは見えないですね。