それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

ネットワーク運用・管理五輪書「壱:地の巻」Sambaファイルサーバー (2) Sambaのインストール/初期設定

Software Design (ソフトウエア デザイン) 2006年 07月号 [雑誌] の第二章

Sambaのインストール/初期設定

Sambaのプロセス
プロセス名 機能
smbd ファイル共有、その他Samba機能の大半
nmbd 名前解決,WINSサーバー、ブラウジング機能
winbindd winbind 機能
Sambaの使用ポート
待ち受け 接続もと 用途
137/udp 137/udp 名前解決、ブラウンジグ
138/udp 138/udp 名前解決、ドメインログオン
139/tcp Hi/tcp ブラウジング、ファイル共有
445/tcp Hi/tcp Directo Hosting SMB samba2.2移行とWin2k移行のマシンが共有するとき139の代りに使う
smb.conf のファイル構造
[セクション]
	パラメタ名=値  # " = "前後のスペースは無視 #はコメント
smb.confの全体を俯瞰
[global]            #
	パラメタ名=値   #	global セクションは、Samba全体
	パラメタ名=値   #
	パラメタ名=値   #
	(ry             #
[homes]             #
	パラメタ名=値   #   homesは特殊セクション(不要なら消して大丈夫)
	パラメタ名=値   #    /home/$USERSNAME/ を共有する (本人のものだけ)
	(ry             #
[printers]          #   printersは特殊セクション(不要なら消して大丈夫)
	パラメタ名=値   #    プリンタを共有する
	パラメタ名=値   #
	(ry             #
[共有セクション]    #
	パラメタ名=値   #
	(ry             #
[共有セクション]    #
	(ry             #
(ry                 #
global セクションの基本設定

文字コードに関する設定

display charset   # samba3.0からは設定不要
unix charst=utf-8 # 日本語ファイル名のcharset を入れる

workgroup

workgroup = WORKGROUP #

ネットワークコンピュータに表示されるディレクトリ
基本的にwindows機と同じ。

ファイルセクションの基本設定

基本

  • path
  • writable
  • comment
writableとread only

writable = yesは read only = no と等価で、どちらでも同じ。

ホームディレクトリの一括共有

homesセクションを使う

[homes]
	設定
複数ユーザーでファイルを共有する (*重要)

ファイルの読込設定は簡単、複数人で共有するのは面倒。書き込み権限問題でSamba共有を挫折する人多い。

シンプルで汎用的な設定でで。簡単なのは force groupを使う方法。

例 :グループが書き込めるディレクトリを作る
mkdir /var/samba/demachi
groupadd demachi
chgrp demachi /var/samba/demachi
chmod g+w /var/samba/demachi
Samba側がグループで書き込むように設定する。
[demachi_share]
    path = /var/samba/demachi
    writable = yes
    create mask = 764
    directory mask = 755
    force group = demachi
    valid user = @demachi

このやりかたは玄箱/LinkstationなどNASでも使っている

Sambaのユーザー管理
  • SambaはSambaで保存したパスワードを使う
  • UNIXのパスワードは無視される。Sambaだけ利用なら未設定でもいい
  • Sambaユーザーを作成するには pdbedit -a を使う
  • Sambaユーザーの作成時点でUNIXユーザーが存在してなくてはいけない
  • パスワード変更はsmbpasswdコマンド(UNIXのパスワード変更と同期することも可能)
だれでもアクセス可能な共有

ゲスト機能を使う

[global]
    map to guest = never #ゲスト無効 初期状態から変更↓
    map to gest = bad user #ゲスト有効
[share]
    gesut ok = yes #セクション毎にgesut ok を設定する