pdbedit — SAM データベース (Samba ユーザーのデータベース) を管理
pdbedit
[-L|--list] [-v|--verbose] [-w|--smbpasswd-style] [-u|--user=USER] [-N|--account-desc=STRING] [-f|--fullname=STRING] [-h|--homedir=STRING] [-D|--drive=STRING] [-S|--script=STRING] [-p|--profile=STRING] [-I|--domain=STRING] [-U|--user SID=STRING] [-M|--machine SID=STRING] [-a|--create] [-r|--modify] [-m|--machine] [-x|--delete] [-b|--backend=STRING] [-i|--import=STRING] [-e|--export=STRING] [-g|--group] [-y|--policies] [--policies-reset] [-P|--account-policy=STRING] [-C|--value=LONG] [-c|--account-control=STRING] [--force-initialized-passwords] [-z|--bad-password-count-reset] [-Z|--logon-hours-reset] [--time-format=STRING] [-t|--password-from-stdin] [-K|--kickoff-time=STRING] [--set-nt-hash=STRING] [-?|--help] [--usage] [-d|--debuglevel=DEBUGLEVEL] [--debug-stdout] [--configfile=CONFIGFILE] [--option=name=value] [-l|--log-basename=LOGFILEBASE] [--leak-report] [--leak-report-full]
このツールは、samba(7) システムの一部である。
pdbedit プログラムは SAM データベース内に保持されるユーザーアカウントを管理するために利用され、 root だけが実行できる。
pdbedit ツールは、 passdb モジュールのインターフェイス経由で操作を行なうことで、 実際に利用するユーザーデータベースの種類 (現在のところ、smbpasswd ファイル、LDAP、NIS+、tdb ベースのデータベースがあり、それ以外のものもツールの変更なしに追加が可能) に依存しない作りになっている。
pdbedit の主な利用方法として、 ユーザーアカウントの追加、 ユーザーアカウントの削除、 ユーザーアカウントの変更、 ユーザーアカウントの一覧表示、 ユーザーアカウントの取り込みの 5 種類がある。
データベースのすべてのユーザーアカウントを一覧表示する。 ユーザー名と UID の組み合わせが「:」で区切られて一覧表示される。
例: pdbedit -L
sorce:500:Simo Sorce samba:45:Test User
冗長な一覧表示形式を有効にする。 データベース内のユーザーを一覧表示する際には、 アカウントの各項目を詳細に表示する。-w といっしょに使う場合は パスワードハッシュも表示する。
例: 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」形式にする。
データベース内のユーザーを一覧表示する際、
アカウントの各項目は
smbpasswd
ファイル互換の形式
(詳細は
smbpasswd(5) を参照のこと)
で表示される。(-v)の代わりに使う場合、詳細表示中に
パスワードハッシュも表示する。
例: pdbedit -L -w
sorce:500:508818B733CE64BEAAD3B435B51404EE: D2A2418EFC466A8A0F6B1DBB5C3DB80C: [UX ]:LCT-00000000: samba:45:0F2B255F7B67A7A9AAD3B435B51404EE: BC281CE3F53.6.9146629CD4751D3490: [UX ]:LCT-3BFA1E8D:
操作 (表示・追加・削除など) の対象とするユーザー名を指定する。 追加・削除・変更操作においては必須であり、 表示操作においては任意である。
ユーザーの追加および変更を行なう際に、 ユーザーのフルネームを指定する。
例: -f "Simo Sorce"
ユーザーの追加および変更を行なう際に、 ユーザーのホームディレクトリとなるネットワークパスを指定する。
例: -h "\\\\BERSERKER\\sorce"
ユーザーの追加および変更を行なう際に、 ホームディレクトリの割り当て先とする Windows のドライブ名を指定する。
例: -D "H:"
ユーザーの追加および変更を行なう際に、 ユーザーのログオンスクリプトのパスを指定する。
例: -S "\\\\BERSERKER\\netlogon\\sorce.bat"
ユーザの変更を行う際に、16進文字列で与えられた NT ハッシュ値を使って、ユーザのパスワードを設定する。 パスワードの同期を行う場合に便利である。
例: --set-nt-hash 8846F7EAEE8FB117AD06BDD830B7586C
ユーザーの追加および変更を行なう際に、 ユーザーのプロファイルパスを指定する。
例: -p "\\\\BERSERKER\\netlogon"
ユーザの追加および変更を行う際に、マシンの新しいプライマリ グループ SID (セキュリティ識別子) または RID を指定する。
例: -M S-1-5-21-2447931902-1787058256-3961074038-1201
ユーザーの追加および変更を行なう際に、 ユーザーの 新しい SID (セキュリティ識別子) または RID を指定する。
例: -U S-1-5-21-2447931902-1787058256-3961074038-5004
例: '--user SID' S-1-5-21-2447931902-1787058256-3961074038-5004
例: -U 5004
例: '--user SID' 5004
ユーザーの追加および変更を行なう際に、 ユーザーのアカウント制御プロパティを指定する。 指定可能なフラグを以下に示す:
N: パスワード不要
D: アカウント無効
H: ホームディレクトリ必須
T: 一時的に他のアカウントと重複
U: 通常のユーザーアカウント
M: MNS ログオン用のユーザーアカウント
W: コンピューター信頼アカウント(訳注: ドメインに参加する各マシンのためのアカウント)
S: サーバー信頼アカウント
L: 自動ロック
X: 無期限パスワード
I: ドメイン信頼アカウント(訳注: 信頼関係するドメインのためのアカウント)
例: -c "[X ]"
このオプションは特定のユーザーに対してkickoff時間を 変更するために使われる。kickoff時間を無制限にする引数は、 "決して指定してはならない"。
例: pdbedit -K never user
ユーザーをデータベースに追加する際に指定する。
ユーザー名を
-u
オプションで指定する必要がある。
ユーザーを追加する際、
pdbedit はユーザーのパスワードの入力を求める。
例: pdbedit -a -u sorce
new password: retype new password
unix password sync が設定されていた場合でも、 pdbedit はスクリプトを実行せず、Samba のユーザーデータベース内のデータのみを更新する点に注意。
ユーザーの追加と同時にパスワード同期を直ちに行ないたい場合は、
smbpasswd
の -a
オプションを使用すること。
パスワードを
(passwd(1)
プログラムのように)
/dev/tty から読み取る代わりに標準入力から読み取らせる。
パスワードは二度入力し、各々末尾に改行(newline)文字を付けること。
データベース中の既存ユーザーの情報を変更する際に指定する。 ユーザー名は -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
-y
オプションを指定すると、
-i in-backend -e out-backend
オプションはユーザーデータベースではなく、
アカウントポリシーに対して適用される。
このオプションにより、 アカウントポリシーをデフォルトの TDB から LDAP ディレクトリサーバーなどのパスワードデータベースに移行することが可能となる。
例: pdbedit -y -i tdbsam: -e ldapsam:ldap://my.ldap.host
このオプションは、すべてのユーザに、次のログオン時に パスワードの変更を強制する。
ユーザアカウントの追加およびは変更を行う時に、 ユーザの説明フィールドを指定する。
例: -N "test description"
ユーザの追加又は変更を行うときに、 ユーザに許可されているログオン時間を初期化する。 処理後、ユーザは任意の時間にログオンできる。
例: -Z
ユーザの追加又は変更を行うときに、 指定されたユーザの、記録されている不正ログインカウンタをリセットする。
例: -z
このオプションは、既定値としてドメインに格納されている 一般のパスワードポリシーをリセットするのに使う。
例: --policies-reset
ユーザの追加又は変更を行うときに、 ユーザのドメインフィールドを指定する。
例: -I "MYDOMAIN"
このオプションは現在使われていない。
コマンドラインオプションの要約を表示する。
簡単な使用法を表示する。
level
は0から10までの整数値である。
このパラメータが設定されていない場合の規定の値は、
クライアントアプリケーションに対しては、1 である。
この値を大きくするほど、サーバーの動作に関するより詳細な情報が ログファイルに記録される。レベル 0 では、致命的なエラーと重大な警告 のみが記録される。レベル 1 は日々の運用に適しており、少量の稼働状況 に関する情報を生成する。
1 より上のレベルは大量のログが生成されるので、問題解決の時にのみ 使用すべきである。 3 より上のレベルは開発者だけが利用するように設計されて おり、莫大な量のログデータが生成される。そのほとんどは非常に謎めいた内容 となっている。
このパラメーターの指定は、${prefix}/etc/smb.conf
ファイル中の、
log level パラメーターの
指定よりも優先する事に注意。
このパラメータはデバッグ出力を STDOUT にリダイレクトする。既定では、 すべてのクライアントはログを STDERR に出力する。
クライアントが必要とする詳細な設定を含むファイルを指定する。
このファイル中にある情報は、クライアントまたはサーバに対して
一般的であるか、あるいは、
client smb encrypt
のような、クライアント固有のオプションのみを提供することが
できる。詳細については ${prefix}/etc/smb.conf
を参照のこと。既定の
設定ファイルの名前はコンパイル時に決定される。
コマンドラインから smb.conf(5) オプション "<name>" に値 "<value>" を設定する。 これはコンパイル時の既定値と設定ファイルから読み込まれた オプションを上書きする。名前または値に空白が入っていた場合、 引用符で --option=name=value 全体を囲む。
ログ/デバッグファイルのベースディレクトリ名。拡張子
".progname"
が追加される (たとえば
log.smbclient, log.smbd など)。ログファイルは
クライアントによって削除されることはない。
終了時の talloc リークレポートを有効にする。
終了時の完全な talloc リークレポートを有効にする。
プログラムのバージョン番号を表示する。