pdbedit — SAM データベースを管理する
pdbedit [-L] [-v] [-w] [-u username] [-f fullname] [-h homedir] [-D drive] [-S script] [-p profile] [-a] [-m] [-r] [-x] [-i passdb-backend] [-e passdb-backend] [-b passdb-backend] [-g] [-d debuglevel] [-s configfile] [-P account-policy] [-C value] [-c account-control]
このツールは、Samba(7) スイートの一部である。
pdbedit プログラムは SAM データベース内に保持されるユーザーアカウントを管理するために利用され、 root だけが実行できる。
pdbedit ツールは、 モジュール方式のパスワードデータベース・インターフェイスを利用しており、 実際に利用するユーザーデータベースの種類に依存しない作りになっている。 (現在のところ、smbpasswd ファイル、LDAP、NIS+、tdb ベースのデータベースがあり、それ以外にもツールの変更なしに追加が可能)
pdbedit の主な利用方法として、 ユーザーアカウントの追加、 ユーザーアカウントの削除、 ユーザーアカウントの変更、 ユーザーアカウントの一覧表示、 ユーザーアカウントの取り込みの 5 種類がある。
このオプションは、 データベースのすべてのユーザーアカウントを一覧表示する。 ユーザー名と UID の組み合わせが「:」で区切られて一覧表示される。
例: pdbedit -L
sorce:500:Simo Sorce samba:45:Test User
このオプションは、 冗長な一覧表示形式を有効にする。 データベースのユーザーの一覧表示において、pdbedit は アカウントごとに記述的な形式で表示するようになる。
例: pdbedit -L -v
--------------- username: sorce user ID/Group: 500/500 user RID/GRID: 2000/2001 Full Name: Simo Sorce Home Directory: \\BERSERKER\sorce HomeDir Drive: H: Logon Script: \\BERSERKER\netlogon\sorce.bat Profile Path: \\BERSERKER\profile --------------- username: samba user ID/Group: 45/45 user RID/GRID: 1090/1091 Full Name: Test User Home Directory: \\BERSERKER\samba HomeDir Drive: Logon Script: Profile Path: \\BERSERKER\profile
このオプションは、
一覧表示を「smbpasswd」形式にする。
データベースのユーザーの一覧表示において、pdbedit は
アカウントを
smbpasswd
ファイルの形式と互換性のある形式で表示するようになる。
(詳細は
smbpasswd(5) を参照のこと)
例: pdbedit -L -w
sorce:500:508818B733CE64BEAAD3B435B51404EE:D2A2418EFC466A8A0F6B1DBB5C3DB80C:[UX ]:LCT-00000000: samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:BC281CE3F53B6A5146629CD4751D3490:[UX ]:LCT-3BFA1E8D:
このオプションは、 操作 (表示・追加・削除など) の対象とするユーザーの名前を指定する。 このオプションは、 追加・削除・変更操作においては必須であり、 表示操作においては任意である。
このオプションは、 ユーザーアカウントの追加および変更を行なうときに利用する。 ユーザーのフルネームを指定する。
例: -f "Simo Sorce"
このオプションは、 ユーザーアカウントの追加および変更を行なうときに利用する。 ユーザーのホームディレクトリとなるネットワークパスを指定する。
例: -h "\\\\BERSERKER\\sorce"
このオプションは、 ユーザーアカウントの追加および変更を行なうときに利用する。 ホームディレクトリの割り当て先とする Windows のドライブ名を指定する。
例: -d "H:"
このオプションは、 ユーザーアカウントの追加および変更を行なうときに利用する。 ユーザーのログオンスクリプトのパスを指定する。
例: -s "\\\\BERSERKER\\netlogon\\sorce.bat"
このオプションは、 ユーザーアカウントの追加および変更を行なうときに利用する。 ユーザーのプロファイルディレクトリを指定する。
例: -p "\\\\BERSERKER\\netlogon"
ユーザーアカウントの追加および変更を行なうときに利用する。 ユーザーに新たに割り当てるプライマリグループの SID (セキュリティ識別子) または RID を指定する。
例: -G S-1-5-21-2447931902-1787058256-3961074038-1201
このオプションは、 ユーザーアカウントの追加および変更を行なうときに利用する。 ユーザーの新しい SID (セキュリティ識別子) または RID を指定する。
例: -U S-1-5-21-2447931902-1787058256-3961074038-5004
このオプションは、 ユーザーアカウントの追加および変更を行なうときに利用する。 ユーザーのアカウント制御プロパティを指定する。 指定可能なフラグは以下のとおり。
N: パスワードは必要ない
D: アカウントは無効
H: ホームディレクトリが必要
T: 他のアカウントを一時的に複製
U: 通常のユーザーアカウント
M: MNS ログオンユーザーアカウント
W: ワークステーション信頼アカウント
S: サーバ信頼アカウント
L: 自動ロック
X: パスワードの有効期間なし
I: ドメイン信頼アカウント
例: -c "[X ]"
このオプションは、 ユーザーをデータベースに追加するときに指定する。 別途、ユーザーの名前を -u オプションで指定する必要がある。 ユーザーを追加するとき、 pdbedit はユーザーに割り当てるパスワードの入力を求める。
例: pdbedit -a -u sorce
new password: retype new password
このオプションは、 データベースの既存のユーザーを変更するときに指定する。 別途、ユーザーの名前を -u オプションで指定する必要がある。 ほかのオプションを指定することで、 指定したユーザーのプロパティを変更することができる。 このオプションは過去との互換性を保つために残されているだけで、 現在は指定する必要はない。
このオプションは
-a
オプションと組み合わせて利用する。
このオプションを指定すると、
pdbedit はユーザーアカウントではなくマシン信頼アカウントを追加する。
(-u username にはマシン名を与える)
例: pdbedit -a -m -u w2k-wks
このオプションは、 データベースからアカウントを削除するときに指定する。 別途、ユーザーの名前を -u オプションで指定する必要がある。
例: pdbedit -x -u bob
ユーザーを取得するために利用するパスワードデータベース・バックエンドとして、 smb.conf で指定したものとは別のバックエンドを指定する。 ローカルのユーザーデータベースにデータを取り込む (インポートする) ときに利用する。
このオプションで、 パスワードデータベース・バックエンドの移行を容易に行うことができる。
例: pdbedit -i smbpasswd:/etc/smbpasswd.old
指定したパスワードデータベース・バックエンドに現在有効なすべてのユーザーを転送 (エクスポート) する。
このオプションで、 パスワードデータベース・バックエンドの移行とバックアップを容易に行うことができる。
例: pdbedit -e smbpasswd:/root/samba-users.backup
-g オプションを指定すると、
-i in-backend -e out-backend
オプションはユーザーデータベースではなく、
グループマッピングに対して実行される。
このオプションで、 パスワードデータベース・バックエンドの移行とバックアップを容易に行うことができる。
デフォルトではない別のパスワードデータベース・バックエンドを指定する。
例: pdbedit -b xml:/root/pdb-backup.xml -l
アカウントポリシーを表示する。
有効なポリシーは、 「minimum password age」、「reset count minutes」、 「disconnect time」、「user must logon to change password」、 「password history」、「lockout duration」、 「min password length」、「maximum password age」、 「bad lockout attempt」である。
例: pdbedit -P "bad lockout attempt"
account policy value for bad lockout attempt is 0
アカウントポリシーを指定した値に設定する。
このオプションは、-P
オプションと組み合わせて利用する。
例: pdbedit -P "bad lockout attempt" -C 3
account policy value for bad lockout attempt was 0 account policy value for bad lockout attempt is now 3
コマンドラインオプションの要約を表示する。
プログラムのバージョン番号を表示する。
サーバーが必要とする詳細な設定を含む設定ファイルを指定する。
このファイルには、
サーバーが提供するサービスに関する記述や、
どの printcap ファイルを利用するかといった情報が含まれている。
詳細は smb.conf を参照のこと。
デフォルトの設定ファイルの名前は、コンパイル時に決定される。
デバッグレベルを
debuglevel に設定する。
debuglevel
は、0 から 10 までの整数である。
このパラメータを指定しないときのデフォルト値は 0 である。
この値を大きくするほど、 サーバーの動作に関するより詳細な情報がログファイルに記録される。 レベル 0 では、致命的なエラーと重大な警告のみが記録される。 レベル 1 は日々の運用に適しており、 少量の稼働状況に関する情報を生成する。
1 より上のレベルは大量のログが生成されるので、 問題解決の時にのみ使用すべきである。 3 より上のレベルは開発者だけが利用するように設計されており、 莫大な量のログデータが生成される。 そのほとんどは非常に謎めいた内容となっている。
ログ/デバッグファイルのファイル名。
拡張子として ".client" が追加される。
ログファイルはクライアントによって削除されることはない。