LoginSignup
32
55

More than 3 years have passed since last update.

samba纏め

Last updated at Posted at 2021-01-07

サーバープロセス

サーバープロセス 説明
smbd ファイル共有、認証など
nmbd ブラウジング機能、NetBIOS名前解決、WINSサーバーなど
winbindd Winbind機能

ポート番号

ポート番号 説明
137/UDP NetBIOS名前解決やブラウジング
138/UDP NetBIOS名前解決やドメインログオン
139/TCP ファイル共有
445/TCP ファイル共有

smb.conf#F

globalセクション

  • Samba全体に関わる設定を行います。
  • 変更をした場合、Sambaの再起動が必要です。
  • globalセクションで設定した項目が、以降のセクションで現れた場合は、設定が上書きされます。
パラメータ 説明
workgroup Sambaサーバーが、所属するワークグループ名もしくはドメイン名を指定します。
server role Sambaサーバーの動作モードを指定します。
netbios name SambaサーバーのNetBIOS名を指定する。
server string サーバの名前など説明を記述する。
hosts allow 接続を許可すホストを指定する。(指定しなかったホストは拒否される。)
guest account アカウントが存在しないユーザーにGuestとしてアクセスする場合に利用する。
map to guest Sambaユーザーとして認証できなかった場合の動作を指定する。
Never : ゲスト認証を許可しない。
Bad User : 存在しないユーザーを指定された場合は、ゲスト認証であるとみなし、guest accountで定義されたユーザーでログインする。
Bad Passwor : 上記に加えて、パスワード入力ミスの場合もゲスト認証であるとみなす。
log file ログファイルを指定する。接続元ホストを示す変数「%m」を使うと、接続元ホストごとにログファイルを分けれる
max log size ログファイルの最大サイズを指定する。値が0の場合は、制限は行われない。
encrypt passwords 暗号化パスワードを利用する。この値はYes以外利用するべきではない。
smb passwd file パスワード認証をsmbpasswd方式で行う場合のパスワードファイルを指定する。
unix password sync SambaのパスワードとLinuxのパスワードを同期させるか。Sambaのパスワードが変更されたら、Linuxのパスワードも変更する。
passwd program unix password syncを有効にした場合、Samba側でパスワードを変更した際に実行するプログラム。
passwd chat unix password syncを有効にした場の応答内容。
username map UNIXユーザーを別のユーザーとマッピングさせ、複数のユーザーで共有したりする。
logon script ログオン時に実行するスクリプトファイルを指定する。
wins support WINSサーバーとして動作させる。
wins server WINSサーバーのIPアドレスを指定する。

共有

パラメータ 説明
comment コメントを指定。
browseable ブラウジングし他時に表示されるかどうかを指定する。ただし、共有名を直接指定するとアクセスすることができます。
writable 書き込みを許可するかどうかを指定する。
read only writableの逆の意味。
write list 書き込みが例外的に許可されるユーザーを指定します。グループを指定する時は、@
path 共有ディレクトリのパスを指定する。
force user 共有内に作成するファイルやディレクトリの所有者、所有グループを、強制的に指定したユーザーにします。
force group 共有内に作成するファイルやディレクトリの所有者、所有グループを、強制的に指定したグループにします。
hide dot files 隠し属性を適用するかどうか。
hide files ファイルやディレクトリを表示させたくない場合、その名前を指定する。但し、アクセスはできる。
veto files 表示もアクセスもさせたくないファイルやディレクトリを指定する。
create mask ファイルに適用可能なパーミッション 0744
directory mask ディレクトリに適用可能なパーミッション 0755
force create mask 必ずファイルに適用されるパーミッション 0000
force directory mask 必ずディレクトリに適用されるパーミッション 0000
valid users アクセス可能なユーザーを指定する。グループを指定する時は、@
guest ok guestログインを許可するかどうかそ指定する。
public guestログインを許可するかどうかそ指定する。

homes

  • UNIXユーザーの各ホームディレクトリを一括して共有するためのセクション。
  • ユーザーごとに、ホームディレクトリの共有を定義す必要がありません。
smb.conf
[homes]
 comment = Home Directiry
 browseable = No
 writable = Yes

printers

パラメータ 説明
print ok プリンタ共有として利用する。
printable プリンタ共有として利用する。
smb.conf
[printers]
 comment = ALL printers
 path = /var/spool/samba
 browseable = no
 guest ok = no
 writable = no
 printable = Yes

※[print$]
windowsが、プリンタドライバの自動ダウンロードを行う際の共有名を指定する特殊なセクションです。
windows側でプリンタドライバがない場合、[print$]セクションからドライバを検索するようになっています。

個々

  • 任意の名前の共有を作成することができます。
smb.conf
[public]
 comment = Public
 path = /home/samba/piblic
 public = Yes
 writable = No
 writa list = @memmber
smb.conf
[tmp]
 comment = tmp
 path = /tmp
 read only = no
 public = Yes
smb.conf
[secret$]
 path = /var/samba/secret
 valid users = @super

testparm

  • smb.conf の構文にミスがないかチェックを行う。

ログ

  • Sambaは、syslogを介さずに独自にログを処理します。
  • /var/log/sambaディレクトリ以下などに、いくつかのファイルに分かれて出される。

マスターブラウザの設定

  • ワークグループ単位と、ドメイン単位で存在します。
  • どのホストがマスターブラウザになるかは、OSの種類による優先度に基づいて選出される。
  • samba自身をドメインコントローラにする場合、33以上にすれば優先的に選出される。
パラメータ 説明
local master ローカルマスターブラウザのブラウザ選出に参加する(選出されるとか限らない)
domain master ドメインマスターブラウザに選出されるようになる。
preferred master ブラウザ選定を促す。
os level 優先度

認証の設定

security

  • クライアントがどのようにSambaに応答するかを指定する。
security 説明
user ユーザー名とパスワードでローカル認証を行う(デフォルト)
share パスワードだけで認証を行う
domain ドメインコントローラにより認証を行う
server 他のSMBサーバにより認証を行う
ads ADドメインのドメインコントーローラで認証を行う

※「security = share」 の設定は、「guest ok = yes」の設定とともに使用することで、全ユーザーがゲストアカウントにより、パスワードなしでプリンタを共有する時によく使われる。

passdb backend

smbpasswd

  • Samba2で利用されていた方式でテキスト形式のパスワードファイル(/etc/samba/smbpasswd)にユーザー情報を1ユーザー1行で格納します。
  • Samba3系の一部でもデフォルトのバックエンドデータベースですが、Sambaで扱えるユーザー項目の一部しか格納できません。
smb.conf
passdb backend = smbpasswd

tdbsam

  • バイナリ形式のデータベースファイル(/etc/samba/passdb.tdb)にユーザー情報を格納します。
  • Sambaで扱えるユーザー情報の全項目を格納できます。
smb.conf
passdb backend = tdbsam:/etc/samba/passdb.tdb

ldapsam

  • LDAPサーバーにユーザー情報を格納します。
  • 別途LDAPサーバーが必要ですが、多数のユーザーを扱う場合に適しています。
smb.conf
passdb backend = ldapsam:ldap://LDAPサーバー名[:ポート番号]

コマンド

pdbedit

オプション 説明
-L 一覧表示
-a 追加
-x 削除

smbpasswd

オプション 説明
-d 無効化
-e 有効化
-x 削除
-a ユーザーの登録
-x ユーザーの削除

管理コマンド

コマンド 説明
smbcontrol Sambaサーバーを構成するそれぞれのデーモンにメッセージを送って制御する。
smbstatus Sambaサーバーに接続されているクライアント、使用中の共有、ロックされているファイルを共有する。
nbmlookup NetBIOS名を問い合わせたり、NetBIOS名からIPアドレスを検索する。

Sambaクライアント(smbclient)

オプション 説明
-L リスト表示を要求する
-N 認証を行わない
-U 接続あするユーザーを指定する
サブコマンド 説明
cd 移動
del 削除
サブコマンド 説明
dir リスト表示
exit 終了
get 取得
mget 纏めて取得
mkdir ディレクトリ作成
mput 纏めて転送
lcd ローカル側のディレクトリを移動
put 転送
mdir ディレクトリを削除

ACL

smb.conf
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes =yes

getfacl

  • ACLエントリを表示する。
ACLエントリ 説明
user 所有者①
group 所有グループ②
other その他のユーザー③
user:USER ユーザーUSER④
group:GROUP グループGROUP⑤
mask マスク値、②④⑤に適用

※mask:誤って大きなアクセス権を与えてしまうことを防いだり、一時的に所有者以外のアクセス権を制限したりすることができる。
(#ehhective; と表示される。)

setfacl

  • ACLを設定する。
オプション 説明
-m 追加、もしくは変更する。
-x 削除する。
--remove-all すべて削除する。

リンク

Amazon EC2(Amazon linux)のファイルサーバ構築
Amazon Linux 2でSambaを構築する

32
55
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
32
55