*

Samba3以前 調べたことまとめ

公開日: : Samba

Sambaの概要

Windowsのファイル共有機能を提供するオープンソフトウェア。ファイルサーバ、プリントサーバ、NETBIOS名をTCP/IPで利用するためのWINSサーバ、Windows の認証サーバであるドメインコントローラといったサーバ機能や、Windowsサーバに接続するネットワーククライアント機能を備えている

  1. デーモン
  2. 利用ポート
  3. 設定ファイル
  4. クライアントやファイルの表示
  5. SambaサーバやWindowsホストの共有資源にアクセス
  6. Samba にユーザーを追加する
  7. マッピングファイル
  8. マウントコマンド
  9. NetBIOS名の問い合わせ

デーモン

smbd:ファイル共有やプリンタ機能、ユーザ認証機能の提供
nmbd:ブラウズ機能やNetBIOSによる名前解決機能を提供
winbindd:Windowsサーバからユーザとグループの情報を取得する機能(必須ではない)

利用ポート

137:NetBIOSネームサービス(名前解決とブラウジング)
138:NetBIOSデータグラムサービス(名前解決とドメインログオン)
139:NetBIOSセッションサービス
445:Microsoft Direct Hosting(CIFSプロトコル)

設定ファイル

smb.conf
[global]セクションの設定項目
説明
workgroup ワークグループ名
server string サーバの説明
hosts allow アクセスを許可するホスト
netbios name コンピュータ名を指定
printcap name プリンタの設定ファイルのパス
log file ログファイルのパス
max log size ログファイルの最大サイズ(0は無制限)
security 認証方法を4つのなかから設定
share:パスワードのみで認証
user:ユーザー名とパスワードで認証
domain:Windowsドメインコントローラで認証
server:指定したサーバで認証
ads:Active Directoryドメインコントローラで認証
password server 認証を行うサーバ(security 項目がdomain、server、adsのとき)
encrypt passwords パスワードを暗号化するかどうかを指定
smb passwd file Samba用のパスワードファイルのパス
unix password sync UNIXパスワードとSambaパスワードの動機を取るかを指定
passwd program UNIXパスワードを設定するためのプログラム
username map UNIXユーザーとSambaユーザーのマッピングデータファイル
local master マスターブラウザにするかどうかを指定
os level OSレベル(マスターブラウザになる優先度)
domain master Windowsドメインのマスターブラウザにするかどうかを指定
preferred master マスターブラウザの選定を促す
wins support WINSをサポートするかどうかを指定
wins server WINSサーバを指定
*マスターブラウザにするには「local master = yes」とし、「os level」を33以上に設定する。
ファイル共有サービスがインストールされているWindowsの「os level」は
Windows 95/98(クライアント)はOSレベル1
Windows そのほか(クライアント)はOSレベル16
Windowsサーバ(ドメインコントローラ)はOSレベル32
であるため、32以上に設定すれば優先的にマスターブラウザに設定することができる
*unix password sync

Sambaのユーザアカウントを作成するには、UNIXアカウントに同じユーザ名のユーザが必要だが、パスワードは別々に管理される。そのため、smbpasswdコマンド(後述)を利用してSambaユーザのアカウントを変更すると、UNIXアカウントのパスワードと別になってしまう。この項目を yes にすることによりSambaユーザのパスワードを変更すると、UNIXユーザのパスワードも変更されるようになる。pdbeditではたとえ yes に設定されていてもこの機能は利用できない。
共有セクションの設定項目
説明
comment 共有資源の説明
browseable ブラウズ時に表示するかどうかを制御
writeable 書き込みを許可するかどうかを制御
read only 読み取り専用とする
force user 指定したユーザーの権限でアクセス
force group 指定したグループの権限でアクセス
hide files 見えないがアクセスできるファイルを指定
veto files 表示もアクセスも禁止するファイルを指定
write list 指定したユーザーの書き込み可能(read only=yes のとき)
create mode ファイル作成時のデフォルトパーミッション
directory mode ディレクトリ作成時のデフォルトパーミッション
guest ok ゲストユーザーの利用を許可するかどうかを制御
guest account 「guest ok=yes」の場合のゲスト用アカウント名
valid users サービスを利用できるユーザーリスト
path ディレクトリへのパス
*隠し共有
「browseable = no」としてもできるが、共有名の末尾に「$」記号をつけても実現できる。
以下例
[data$]
  path = /var/data
  read only = Yes
[global]
workgroup = WORKGROUP
server string = Samba Server
netbios name = winfs
printcap name = /etc/printcap
hosts allow= 192.168.0. 192.168.1. 127.
guest account = pcguest
log file /var/log/samba/%m.log
max log size = 0
security = user
; password server = NTSERVER
encrypt passwords = yes
smb passwd file = /etc/samba/smbpasswd
unix password sync = true
passwd program = /usr/bin/passwd %u
username map = /etc/samba/smbusers
local master = yes
domain master = no
preferred master = no
os level = 20
; domain master = yes
; wins support = yes
; wins server = 172.17.2.1

[homes]
comment = Home Directory
browseable = yes
writable = yes
valid users = %S
creste mode = 0664
directory mode = 0775
hide files = /.*/
veto files = /.Desktop/

[printers]
comment = Shared Printer
path = /var/spool/samba
browseable = no
guest ok = no

[public]
comment = Public Folder
path = /var/samba/public
browseable = yes
read only = no

smb.confが正しいかチェックするコマンド

testparm [option] [設定ファイル]
[]は省略可能、<>内は必須。
option
-s サービス名の出力後にEnterキーを押さなくてもサービスの定義を出力
-t 指定した円コーディングで出力
-v smb.confの中で指定されていないパラメータのデフォルト値も表示

クライアントやファイルの表示

smbstatus

SambaサーバやWindowsホストの共有資源にアクセス

smbclient [option] <接続先>
smbclient <接続先> [option]
[]は省略可能、<>内は必須。
option
-L <接続ホスト> サーバー上で利用可能なサービスをリスト表示
-U <ユーザー名> 接続するユーザーを指定
-N 接続時にパスワード認証を行わない
smbclient -L server
 smbclient //server/pub
smb:\>mget *
Get file wnqs1.html? y
getting file \wnqs1.html of size 33604 as wnqs1.html (468.8 KiloBytes/sec) (average 468.8 KiloBytes/sec)
Get file wnqs2.html? y
getting file \wnqs2.html of size 33604 as wnqs2.html (468.8 KiloBytes/sec) (average 468.8 KiloBytes/sec)

アクセス後に使えるコマンドの一部は以下

  • ls : linuxのコマンドと同じ
  • cd : linuxのコマンドと同じ
  • get ファイル名 : ファイルの取得
  • mget キーワード : キーワードにマッチする名前のファイルの取得
  • put 接続元サーバファイル名 ファイル名 : 接続元のファイルを接続先へコピーする

Samba にユーザーを追加する

pdbedit
  • -a : Sambaユーザを作成する
  • -x : Sambaユーザを削除する
  • -L : すべてのSambaユーザを一覧表示する
#ユーザの追加
pdbedit -a -u username
#ユーザの削除
pdbedit -x -u username
smbpasswd
  • -a : Sambaユーザを作成する
  • -d : Sambaユーザを無効化する
  • -e : Sambaユーザを有効化する
  • -x : Sambaユーザを削除する

pdb は PasswordDatabaseEdit の略。
pdbedit はSamba3.0以降で利用。Samba2.2以降ではsmbpasswd が利用されていた。
pdbeditコマンドではさまざまな認証データベースを利用することができる。Samba2.2系と同じsmbpasswd、現在では標準となっているTDB形式のtdbsam、LDAPサーバを利用するldapsamdなどが利用できる。デフォルトの認証データベースはtdbsamになる。
smbpasswdコマンドとの違いとしてsmbpasswdコマンドはパスワードの変更が可能である。(ユーザが自分のパスワードを変更するなどの場合には、rootでなくとも実行が可能)pdbeditはrootでないと実行できない。
smbpasswdコマンドでSmabaユーザを作成するには、あらかじめLinuxユーザアカウントが存在する必要がある。たとえば、/etc/passwdファイルに当該ユーザのエントリが記述されている必要がある。

マッピングファイル

/etc/samba/lmhosts

MicrosoftネットワークでのホストのNetBIOS名とIPアドレス対応が記述されている。

127.0.0.1 localhost
129.168.18.9 testpc

マウントコマンド

smbmount <接続先> <マウントポイント> [ -o option]
[]は省略可能、<>内は必須。
  • -o username=<ユーザー名> : ユーザー名を指定
  • -o password=<パスワード> : パスワードを指定

Sambaサーバ「server」の共有資源「smbshare」を/mnt/smbshare にマウントする。

 smbmount //server/smbshare /mnt/share

NetBIOS名の問い合わせ

NetBIOS名の問い合わせとIPアドレスの問い合わせをする

nmblookup [option] 
nmblookup [option] 
[]は省略可能、<>内は必須。
option 説明
-M マスターブラウザの検索
-R 再帰検索(WINSサーバに名前を問い合わせるときに使用)
-A 引数をIPアドレスとみなして問い合わせを実行
-U ホストのアドレスもしくはユニキャストアドレスに対して問い合わせを実行(WINSサーバに名前を問い合わせるときに必要)

参考
http://www.samba.org/samba/docs/man/manpages/smbclient.1.html
http://www.samba.gr.jp/project/translation/3.5/htmldocs/manpages-3/pdbedit.8.html
http://www.samba.gr.jp/project/translation/3.5/htmldocs/manpages-3/smbpasswd.8.html

admax_area



関連記事

no image

sambaのインストール

はじめに yumコマンドでもできる方法があるようだが、うまくいかない。 インストール wg

記事を読む

no image

とりあえず使う

/etc/samba/smb.conf を編集 #======================

記事を読む

admax_area



Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

admax_area



PAGE TOP ↑