samba設定のTips

・設定は以下のファイルで実施する。

 /etc/samba/smb.conf

・F/W SELinux については、デフォだと許容されていない。面倒なら一旦止める。

・設定したパラメータは、以下のコマンドで記述の正当性確認が出来る。

 testparm

 引数とかは不要。ワーニングとか表示されるようなら、設定内容が間違っています。

 testparm -v <- これでも可。

<設定の詳細:サンプルです> <- Ver 4.9 系でのサンプル

[global]
unix charset = UTF-8 <- OSのコードセット指定
dos charset = CP932 <- Windows ファイルの設定。MSの標準を指定(MS-KANJI)

workgroup = WORKGROUP <- ワークグループの名称を指定(AD等で無い場合) security = user <- セキュリティの方法を指定

security = user ユーザー名とパスワードでローカル認証を行う設定 security = share パスワードだけで認証を行う設定

security = domain ドメインコントローラにより認証を行う設定 security = server ほかのSMBサーバにより認証を行う設定 security = ads AD(アクティブディレクトリ)ドメインのドメインコントローラで認証を行う設定

passdb backend = tdbsam

assdb backend = tdbsam TDB(Trivial DataBase)を使用する passdb backend = ldapsam LDAPを使用する

printing = cups

printcap name = cups

load printers = yes

cups options = raw

hosts allow = 127. 172.16.1.10 <- アクセス対象をIPで絞る場合の指定 map to guest = Bad User <- Sambaユーザとして存在しないユーザのアクセスをゲストアカウントとする指定

Never 不正なパスワードによるユーザーのログイン要求を拒否する Bad User 不正なパスワードによるユーザーのログイン要求を拒否するが、指定されたユーザーが存在しなかった場合はゲストログインとして扱う。この場合、guest accountで指定したユーザーとなる

Bad Password 不正なパスワードによるユーザーのログイン要求はゲストユーザーとして扱う。この場合、 guest accountで指定したユーザーとなる

browseable = No <- 個別ユーザの共有領域をブラウジング禁止にする (これをここに指定しないと、[homes] に指定しても表示される(Samba の仕様))

[homes]
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes

[printers]
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No

[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775

[Share] <- この指定は実質的に無意味!。デフォで作成されるディレクトリなので、念の為。 (指定しなくても良い)
path = /home/share
writable = No
browseable = No
valid users = @users
force create mode = 777
force directory mode = 777

[users] <- ユーザ認証での指定例
path = /home/users
writable = Yes
browseable = No
valid users = @users
force create mode = 777
force directory mode = 777

<Samba のユーザ管理>

※:大前提としてて、OS側にユーザの登録が必要。パスワード等の管理は別となるが、ユーザとしては、存在している必要が有る。
 (Windowsの場合でも、ユーザ単位でアクセス権を管理しようとすると、ユーザの登録を行う事が前提となる)

useradd -s /sbin/nologin users <-これではNG グループを指定して設定が必要

cat passwd | grep users

users:x:1001:1001::/home/users:/sbin/nologin <-グループIDを指定しないので、新規のグループとなる。

useradd -s /sbin/nologin -g users users <-これで指定するか、後で所属グループを変える事

[root@localhost etc]# pdbedit -a -u users -f "users"
new password:

retype new password:
Unix username: users
NT username:

以下省略

[root@localhost etc]# pdbedit -L
users:1001:users <- 設定されている事を確認する
[root@localhost etc]#

[root@localhost etc]# pdbedit -x users <- ユーザの削除
[root@localhost etc]# pdbedit -L
[root@localhost etc]#

コメント

PAGE TOP