Samba初期設定 on Fedora 8

Samba用ユーザの作成

[root@localhost ~]# /usr/sbin/groupadd samba-group ← 専用グループを作成

[root@localhost ~]# /usr/sbin/useradd -g samba-group -s /sbin/nologin samba-user ← ログオン不可にするため /sbin/nologin を指定

[root@localhost ~]# passwd samba-user ← Linux側のパスワード設定
Changing password for user samba-user.
新しいUNIX パスワード:
新しいUNIX パスワードを再入力してください:
passwd: all authentication tokens updated successfully.

Samba用ログインアカウント作成(既存ユーザをコピー)

[root@localhost ~]# pdbedit -a samba-user ← Linuxのユーザから、Sambaのユーザを生成
new password:
retype new password:
Unix username: samba-user
NT username:
Account Flags: [U ]
User SID: S-1-5-21-2176861097-1824396684-924133851-1000
Primary Group SID: S-1-5-21-2176861097-1824396684-924133851-513
Full Name:
Home Directory: \\sv101\samba-user
HomeDir Drive:
Logon Script:
Profile Path: \\sv101\samba-user\profile
Domain: SV101
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: 土, 19 1月 2008 10:12:11 JST
Password can change: 土, 19 1月 2008 10:12:11 JST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

共有ディレクトリ作成

[root@localhost ~]# mkdir /home/samba

[root@localhost ~]# chown nobody:nobody /home/samba ← SambaのGuestアカウントはnobodyで動くため

設定ファイルの編集

/etc/samba/smb.conf

[global]
unix charset = UTF-8 ← Fedora 側はunicode
dos charset = CP932 ← クライアントは日本語
display charset = UTF-8

workgroup = WORKGROUP
netbios name = SV192-168-1-1 ← LANのNETBIOSでの名前。他のマシンと重ならないように

hosts allow = 192.168.1.0/24

map to guest = Bad User ← 存在しないユーザでログオンしようとした時は、ゲストとしてアクセスさせる設定

# server string = Samba Server Version %v
server string = FileServer ← 公開されるサーバの名前(適当な文字列)
passdb backend = tdbsam
log file = /var/log/samba/log.%m
max log size = 50
cups options = raw

load printers = No ← プリンタ共有は使わない
disable spoolss = Yes ← プリンタのスプーリングは使わない

[homes] ← ユーザごとのホームディレクトリの公開方法設定
comment = Home Directories
read only = No
browseable = No ← Yesにすると、homesという名前でも共有される
public = No ← ゲストアクセスを明示的に拒否(デフォルト値)

[public]
comment = Public Stuff
path = /home/samba
public = Yes ← Guestアカウント(デフォルトはnobody)でアクセス可能。guest ok = yes と同じ意味
writable = Yes
printable = No
guest only = Yes ← 他のユーザでログオンしていても、強制的にGuestでアクセスさせる

smb.conf の設定ファイルの詳細説明は
日本Sambaユーザ会の日本語訳 を参考にしました

システム起動時に、Sambaを自動的にスタートさせる場合は、次の設定も行う

[root@localhost ~]# /sbin/chkconfig nmb on

[root@localhost ~]# /sbin/chkconfig smb on


ゲストアクセスの有無によって変わる利便性

(1)ゲストアクセス有り(map to guest = Bad User)の場合
  全てのユーザがサーバのフォルダ一覧まで表示できる
   public のみ表示されている
  Sambaの登録ユーザでホームディレクトリを見たい時は、
   Windowsエクスプローラで、ユーザ名を手入力する必要がある
   \\FileServer ← エクスプローラのアドレス入力ボックス
   \\FileServer\user ← ユーザ名(ディレクトリ名)を手入力
  なお、WindowsとSambaのユーザ名・パスワードが一致している場合
   のみ、自動的にユーザのホームディレクトリが表示されている

(2)ゲストアクセス無し(map to guest = Never)の場合
  サーバをクリックすると、ユーザ名・パスワード入力を促される。
   つまり、ゲストユーザは、publicフォルダにたどり着く前にはじかれる
  入力したユーザ名・パスワードに従ってユーザディレクトリが表示される


セキュリティ上は、どちらの考え方もあっているんですけどね…
(そもそも、ゲストで入って、全ユーザ名一覧が見えていること自体がおかしい)

(C) Copyright r271-635. クリエイティブ・コモンズ:表示・非営利・継承This page is published under Creative Commons BY-NC-SA license and others .