STPを半ばにSambaに寄り道しつつ、さらに数日放置。根本的に学習不足であるのに はぁえヴ でふぃじっと な作業を怠るのは、我ながら酷い。
halve http://ejje.weblio.jp/content/halve
deficit http://ejje.weblio.jp/content/deficit
気を取り直して。
smb.confの見直し。論より行動、とりあえずファイル中のいくつかを段階的に変更して挙動を整理する。
まずは現状確認…でなく、まだ目をろくに通していないので一望。
smb.confを、セキュリティ無しダダ漏れSamba共有をいいことにWindows側にコピーしてテキストエディタ…が無い、そういえばOSリフレッシュ後にまだ入れていなかった。とりあえずワードパッドでしのぐ。smb.confから設定が有効である部分のみ抜粋すると次のように。
#=============== Global Settings ================
[global]
unix charset = UTF-8
dos charset = CP932
# ----------------------- Network Related Options -----------------------
workgroup = WORKGROUP
server string = Samba Server Version %v
netbios name = CentOS-Samba
# --------------------------- Logging Options -----------------------------
log file = /var/log/samba/log.%m
max log size = 50
# ----------------------- Standalone Server Options ----------------------
security = user
passdb backend = tdbsam
# ----------------------- Domain Members Options ------------------------
# ----------------------- Domain Controller Options ------------------------
# ----------------------- Browser Control Options --------------------------
# ---------------------------Name Resolution -------------------------------
# --------------------------- Printing Options -------------------------------
load printers = yes
cups options = raw
# -------------------------- Filesystem Options -----------------------------
#============== Share Definitions ===============
[homes]
comment = Home Directories
browseable = yes
writable = yes
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
[Share]
path = /home/share
writable = yes
guest ok = yes
guest only = yes
create mode = 0777
directory mode = 0777
share modes = yes
[drawer]
path = /home/drawer
writable = yes
create mode = 0770
directory mode = 0770
share modes = yes
guest ok = no
valid users = @drawer
Share Definitions よりも前の部分は、個々のフォルダの共有状況とは関係なさそうだ。現状では、"home" "share" "drawer" の3つに読み書き可能。smbpasswd -a Windowsuser を設定した結果と思しき "Windowsuser" に対しても読み書きが可能だが、これはWindows側で当該ユーザアカウントを使用しているので当然のようでもあるが、アクセスに際してユーザ名もパスワードも問われないので、単に無分別にアクセスできるだけのことかもしれない。
ここでひとつ、やっと気づいた。homes=windowsuser なるほど。
次に、[Share] guest ok = yes を no へ変更してみたが、状況変わらず。
次に、[Share] guest only = yes を no へ変更してみたが、状況変わらず。
次に、[homes] における
; browseable = no
browseable = yes
敢えてyesとしたこれを削除する。後でわかったことだが、browseable = yes を消すだけでは十分でなく、browseable = no を記述しなければならない。
ここで、ひとつ誤設定を。
smb.conf(5)
http://www.samba.gr.jp/project/translation/3.5/htmldocs/manpages-3/smb.conf.5.html
こちらの中から
path = /data/pchome/%S
を設定してしまった。これは一例に過ぎずテスト機にこんなパスは存在していないのだが、何とも愚かすぎて泣けてくる。こちらは直ちに修正し、次に
#=============== Global Settings ================
[global]
unix charset = UTF-8
dos charset = CP932
browseable = no
を変更したところ、確かにすべてがぶらうずぶるでなくなった。これ自体は当然のことだが、これと前後して drawer が消えた。SMB的に見えなくなっただけでなくて、smb.conf中の記述ごとごっそり消えた。
さて、どこまで巻き戻そうか。
設定を巻き戻す前に、この状態でWindows側で別アカウントを作成してみる。別アカウントは CentOS上に無いもの。このアカウントでは、Samba共有へのアクセス時、ユーザアカウントとパスワードを要求される。この時、Samba上に既に存在するユーザグループのアカウント・パスワードを入力すれば、アクセス可能となった。
--->Samba共有のアカウントとパスワードを一度入手してしまえば、Windowsログオンとは全く無関係にアクセス可能だということ。この時点ではADと無関係なのだから当たり前。もっとも、こんな程度ならコンシューマ向けのNASの方がずっとわかりやすくて低コスト。
バッファローの個人向けNASでもAD連携可能
http://buffalo.jp/support_s/guide2/manual/ls/200/99/ja/pc_index.html?Chapter3#h3anc1
バッファローの法人向けNASで最も小さいモデルの直販でもこの程度のコスト
http://www.buffalo-direct.com/directshop/products/detail.php?product_id=18264
次に、Samba側でもこのアカウントを作成してみる。
[root@localhost ~]# useradd AccountE
[root@localhost ~]# smbpasswd -a AccountE
New SMB password:
Retype new SMB password:
Added user AccountE.
[root@localhost ~]
smbpasswd
http://www.samba.gr.jp/project/translation/3.5/htmldocs/manpages-3/smbpasswd.8.html
アカウントEからは、当該ユーザのフォルダへアクセス可能で、同一のフォルダに対してhomesを指定してもアクセス可能。一方で他ユーザのフォルダは、権限を管理者に求めよな趣旨の応答。ユーザ毎でない共有フォルダはアクセス可能。
というわけで、ユーザ要件的にはこれでOK。ただし、ぶらうずぶるでないので、これを修正する必要がある。globalセクションの設定をデフォルトに戻す。このケースのWindowsはネットワーク探索を有効にしていないので、ネットワークアイコンをダブルクリックするだけではSambaサーバは表示されないが、Sambaサーバのパスを入力すれば共有フォルダがすべて見えた。
次に、紛らわしいhomesの表示、これを消す。
#============ Share Definitions =============
[homes]
comment = Home Directories
browseable = no
ユーザ毎のフォルダ名とhomesが重複して見えることが無くなった。
この状態において、CentOS上に無いユーザでSambaへアクセスを試みると、ユーザ認証が必須となる。guest ok = yes と guest ony = yes を設定したフォルダにおいても同様。また、CentOS上のアカウントとしては設定したが Samba上に設定のないユーザでSMBアクセスを試みたところ、ユーザ認証画面においてCentOSアカウントを入力してもはじかれる。こんな初歩的な次元でなければ、 security = user と 同様に share は混在して運用は可能らしいが、よちよち学習段階としてはここまで。
0 件のコメント:
コメントを投稿