人気ブログランキング | 話題のタグを見る
(Linux)普通のsambaサーバ構築メモ
LinuxでSambaを使って、いわゆる一般的なスタンドアロン共有フォルダサーバ(ローカルパスワード認証)を構築するためのメモです。
CentOS6.3で、Sambaのバージョンは 3.5 です。


まず、smb.confを編集します。

# vi /etc/samba/smb.conf


[global]
workgroup = WORKGROUP
server string = 任意の文字列

#↓sambaサーバ名
netbios name = natsumikan

#↓アクセスを許可するネットワークアドレスを指定
hosts allow = 127. 192.168.77.

log file = /var/log/samba/log.%m
#↓ログサイズ(KB)
max log size = 1024

#認証設定
security = user

(※認証方式には以下がある。
share:共有を一種類の固定ユーザを使ってアクセス。パスワードだけでアクセス制御。
user:共有を個別のアカウント(またはゲストユーザ)を使ってアクセス。一般的なスタンドアロンの共有フォルダ。今回はこれを使用。
ads:共有を個別のアカウントを使ってアクセスするが、認証はActiveDirectoryドメインで行う。
domain:共有を個別のアカウントを使ってアクセスするが、認証はWindowsドメインで行う。
server:共有を個別のアカウントを使ってアクセスするが、WindowsNT,Smabaで認証を行う。

#↓プリンタは使わないので
load printers = no



あとはsmb.confの続きのところに共有の設定を書いていきます。
(今回は smb.conf に共有の設定を書きましたが、本来は別ファイルに定義した方がよいです。詳しくは、smb.confを編集して共有の作成をするべからずを参考に...)


(smb.conf続き)
[hoge]
comment = test_sahre
browseble = yes
path = /var/samba/share_dir/hoge
writable = yes
#↓読み書き可能なユーザ、またはグループを指定する
write list = @group1 , user1
#↓読み込みのみ可能なユーザ、またはグループを指定する
read list = user2
#↓アクセス可能なユーザ、またはグループを指定する
valid users = @group1 , user1 , user2
#↓明示的にアクセス拒否するユーザ、またはグループを指定する
invalid users
#↓ファイル作成時のマスクを8進数で設定。規定値は744
create mask = 777
#↓ディレクトリ作成時のマスクを8進数で設定。規定値は755
directory mask = 777
#↓大文字、小文字が混在する場合、全て小文字とみなす
default case = lower
#↓大文字、小文字が異なっていても区別せず同一ファイルとしてみなす
case sensitive = no
#↓Windows側が大文字、小文字を区別した場合、それに従う
preserve case = yes
(※グループを指定する時はグループ名の先頭に「@」が必要。)


security = user (ローカル認証)の場合は、共有フォルダにアクセスするためのUnixユーザを作成しておく必要があります。
共有フォルダアクセスだけが目的のユーザあれば、ホームディレクトリ必要ない+シェルログインさせる必要ないユーザを作成すればセキュリティ的にもいいでしょう。
以下のようにして、ホームディレクトリ必要ない+シェルログインさせる必要ないユーザを作成できます。

↓Unixユーザを作成
# useradd -d /dev/null -s /sbin/nologin username
↓Unixユーザのパスワード作成
# passwd username
↓sambaのアカウントを作成し、パスワードを設定
# smbpasswd -a username
New SMB password: (パスワード入力)
Retype new SMB password:(パスワード入力)

任意のユーザのパスワード変更する時は以下のコマンドにします。
# smbpasswd ユーザ名


sambaユーザ一覧を表示するには以下コマンドを使います。
# pdbedit -L



共有フォルダへのアクセスをグループ単位で制御するためには、グループを追加し、グループにユーザを所属する必要があります。

# groupadd gp_piyo  ←グループ作成
# usermod -G gp_piyo user_a  ←グループにユーザ追加


余談ですが、現在Samba接続しているセッション一覧を表示するにはsmbstatusコマンドでわかるようです。

# smbstatus
Unknown parameter encountered: "browseble"
Ignoring unknown parameter "browseble"

Samba version 3.5.10-125.el6
PID Username Group Machine
-------------------------------------------------------------------
3063 user_a user_a test-machine (::ffff:192.168.77.99)

Service pid machine Connected at
-------------------------------------------------------
hoge 3063 test-machine Fri Oct 5 00:23:45 2012

Locked files:
Pid Uid DenyMode Access R/W Oplock SharePath Name Time
--------------------------------------------------------------------------------------------------
3063 502 DENY_NONE 0x100081 RDONLY NONE /var/samba/share_dir/hoge . Fri Oct 5 00:23:45 2012



慣れれば簡単に構築できます。

参考:
Sambaサーバの設定
ASCII.jp:ファイルサーバの文字化けの解消方法は?|サーバトラブル解決のセオリー
利用ユーザの作成・削除
ユーザ・グループの管理 - Technical Tips -
by Jehoshaphat | 2012-10-30 21:21 | Linux


<< IE8でJPEG画像を表示して... (PHP,HTML)AjaxU... >>