Sambaの設定(共有フォルダの追加)

Linux でファイルサーバを構築するときに、Samba を使います。よく使っているのに設定方法を忘れたりします。今まで、設定してきた事例を中心に、設定事例をまとめてみました。また、各設定項目についても簡単にまとめてみました。

Samba の設定方法

Sambaの設定をするには、次の2種類の方法があります。

  1. Web経由で設定する SWAT を使用する方法
  2. 設定ファイル(Debianの場合、/etc/samba/smb.conf)を直接設定する方法

今回は、2番目の方法での設定方法です。実際には、記述を追加するだけです。フォーマットは、次のとおりです

[share]
 comment = Public Space for Everyone
 path = /var/samba/public
 public = Yes
 read only = No
 writable = Yes
 write list = @staff

設定項目の内容について

主な設定項目とその説明です。

comment
共有フォルダのコメント設定。Windowsで詳細表示を選んだときに表示される。40バイトを超える長いコメントは付けられない。
path
共有したいディレクトリのパス名を設定。
public
パスワードなしでのアクセスを認める。アクセス制御([global]の設定項目security)を「share」以外に設定したときは意味を持たない。
guest ok
ゲストユーザでの接続を許可。
guest only
ゲストユーザのみ接続を許可。
guest account
ゲストとして接続するときのユーザ名を設定。
read only
共有フォルダへの書き込みを許可しない。
writable
共有フォルダに書き込めるように設定。
create mask
共有フォルダに作成されるファイルのパーミッションを3桁で指定。考え方は、Linuxのパーティション設定と同じ。
directory mask
共有フォルダに作成されるディレクトリのパーミッションを3桁で指定。考え方は、Linuxのパーティション設定と同じ。
force user
接続したときのユーザ名を無視して、指定したユーザとして操作。ファイルを作成したときは指定したユーザの所有になる。
browseable
Windowsパソコンからサーバーにアクセスしたときに共有フォルダの一覧に表示させる。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.

登録されたユーザしかアクセスできない。登録されたユーザはファイルを読み書きできる設定例

  • アクセス管理を「user」に設定
  • 作成するファイルのパーミッションを644に指定
  • 作成するディレクトリのパーミッションを755に指定
[global]
 security = user

[public]
 path = /ver/samba/public
 writable = yes
 create mask = 644
 directory mask = 755

特定のユーザしかアクセスできない設定例

  • アクセス管理を「user」に設定
  • valid usersにユーザを設定(aaa、 bbb、 cccのみアクセス可能。間は半角スペースで区切る。)
[grobal]
 security = user

[public]
 path = /ver/samba/public
 writable = yes
 valid users = aaa bbb ccc

登録したユーザは、読込みと実行はできるが、書込みは指定したユーザしかできない設定例

  • アクセス管理を「user」に設定
  • write listにユーザを設定(aaa、bbb、 cccのみ書込み可能。間は半角スペースで区切る。)
[grobal]
 security = user

[public]
 path = /var/samba/public
 write list = aaa bbb ccc

最後に、共有するディレクトリのパーミッションを確認する。pathに設定したディレクトリの所有者が「root」でパーミッションの「755」の設定では、ほかのユーザがファイルやサブディレクトリを作成する事ができません。適宜、必要な変更を!

スポンサーリンク







シェアする

  • このエントリーをはてなブックマークに追加

フォローする