共有フォルダの作成と詳細設定
Sambaで共有フォルダを追加するには、下にあるような記述を/etc/samba/smb.confに追加する。この中で使える項目の意味を見ていこう。
[public] comment = Public Space for Everyone path = /var/samba/public public = Yes read only = No writable = Yes write list = @staff
comment
共有フォルダの説明を記述する。Windowsで詳細表示を選んだときに表示される。40バイトを超える長いコメントは付けられない。
path
共有したいディレクトリのパス名を記述する。
public
パスワードなしでのアクセスを認める。アクセス制御を「share」以外に設定したときは意味を持たない。
guest ok
ゲストでの接続を許可する。
guest only
ゲストでのみ接続を許可する。
guest account
ゲストとして接続するときのユーザー名を指定する。
read only
共有フォルダへの書き込みを許可しない。
writable
共有フォルダに書き込めるように設定する。
create mask
共有フォルダに作成されるファイルのパーミッションを4桁で指定。すべてを許可するには0777、読み取りと実行だけを許可するなら0755と指定する。
directory mask
共有フォルダに作成されるディレクトリのパーミッションを4桁で指定する。
force user
接続したときのユーザー名を無視して、指定したユーザーとして操作させる。ファイルを作成したときは指定したユーザーの所有になる。
browseable
パソコンからサーバーにアクセスしたときに共有フォルダの一覧に表示させることを許可する。noを指定すると隠し共有になる。
valid users
指定したユーザーだけが利用できるように設定する。
invalid users
指定したユーザーは利用できないように設定する。
write list
指定したユーザーだけに書き込みを許可する。
hosts allow
指定したホスト(IPアドレスも可)だけに利用を許可する。
hosts deny
指定したホスト(IPアドレスも可)からの利用を拒否する。
設定の実例を見てみよう。まずはLANの中のパソコンからは制限なしに自由に見られる設定。アクセス管理を「share」に設定し、「public」でパスワードなしで利用できるようにする。アクセスできるのはLANの中のパソコンだけに限定する。
[global] security = share [public] path = /var/samba/public public = yes writable = yes hosts allow = 192.168.0.
登録されたユーザーしかアクセスできない。だが、登録されたユーザーは共有フォルダのファイルを自由に読み書きできる。
[global] security = user [public] path = /ver/samba/public writable = yes create mask = 0777 directory mask = 0777
特定のユーザーしかアクセスできない共有フォルダを作成する。下の例では「red」「blue」「white」のユーザーだけがアクセスできる。
{grobal}
security = user
[public]
path = /ver/samba/public
writable = yes
valid users = red blue white
登録したユーザーであれば読み込みや実行はできるが、書き込みは指定したユーザーしかできない。
{grobal]
security = user
[public]
path = /var/samba/public
write list = red blue white