名前

pdbedit — SAM データベース (Samba ユーザーのデータベース) を管理する

書式

pdbedit [-a] [-b passdb-backend] [-c account-control] [-C value] [-d debuglevel] [-D drive] [-e passdb-backend] [-f fullname] [--force-initialized-passwords] [-g] [-h homedir] [-i passdb-backend] [-I domain] [-K] [-L] [-m] [-M SID|RID] [-N description] [-P account-policy] [-p profile] [--policies-reset] [-r] [-s configfile] [-S script] [--set-nt-hash] [-t] [--time-format] [-u username] [-U SID|RID] [-v] [-w] [-x] [-y] [-z] [-Z]

説明

このツールは、samba(7) システムの一部である。

pdbedit プログラムは SAM データベース内に保持されるユーザーアカウントを管理するために利用され、 root だけが実行できる。

pdbedit ツールは、 passdb モジュールのインターフェイス経由で操作を行なうことで、 実際に利用するユーザーデータベースの種類 (現在のところ、smbpasswd ファイル、LDAP、NIS+、tdb ベースのデータベースがあり、それ以外のものもツールの変更なしに追加が可能) に依存しない作りになっている。

pdbedit の主な利用方法として、 ユーザーアカウントの追加、 ユーザーアカウントの削除、 ユーザーアカウントの変更、 ユーザーアカウントの一覧表示、 ユーザーアカウントの取り込みの 5 種類がある。

オプション

-L|--list

データベースのすべてのユーザーアカウントを一覧表示する。 ユーザー名と UID の組み合わせが「:」で区切られて一覧表示される。

例: pdbedit -L

sorce:500:Simo Sorce
samba:45:Test User
-v|--verbose

冗長な一覧表示形式を有効にする。 データベース内のユーザーを一覧表示する際には、 アカウントの各項目を詳細に表示する。-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
-w|--smbpasswd-style

一覧表示を「smbpasswd」形式にする。 データベース内のユーザーを一覧表示する際、 アカウントの各項目は smbpasswd ファイル互換の形式 (詳細は smbpasswd(5) を参照のこと) で表示される。(-v)の代わりに使う場合、詳細表示中に パスワードハッシュも表示する。

例: pdbedit -L -w

sorce:500:508818B733CE64BEAAD3B435B51404EE:
          D2A2418EFC466A8A0F6B1DBB5C3DB80C:
          [UX         ]:LCT-00000000:
samba:45:0F2B255F7B67A7A9AAD3B435B51404EE:
          BC281CE3F53.6.9146629CD4751D3490:
          [UX         ]:LCT-3BFA1E8D:
-u|--user username

操作 (表示・追加・削除など) の対象とするユーザー名を指定する。 追加・削除・変更操作においては必須であり、 表示操作においては任意である。

-f|--fullname fullname

ユーザーの追加および変更を行なう際に、 ユーザーのフルネームを指定する。

例: -f "Simo Sorce"

-h|--homedir homedir

ユーザーの追加および変更を行なう際に、 ユーザーのホームディレクトリとなるネットワークパスを指定する。

例: -h "\\\\BERSERKER\\sorce"

-D|--drive drive

ユーザーの追加および変更を行なう際に、 ホームディレクトリの割り当て先とする Windows のドライブ名を指定する。

例: -D "H:"

-S|--script script

ユーザーの追加および変更を行なう際に、 ユーザーのログオンスクリプトのパスを指定する。

例: -S "\\\\BERSERKER\\netlogon\\sorce.bat"

--set-nt-hash

ユーザの変更を行う際に、16進文字列で与えられた NT ハッシュ値を使って、ユーザのパスワードを設定する。 パスワードの同期を行う場合に便利である。

例: --set-nt-hash 8846F7EAEE8FB117AD06BDD830B7586C

-p|--profile profile

ユーザーの追加および変更を行なう際に、 ユーザーのプロファイルパスを指定する。

例: -p "\\\\BERSERKER\\netlogon"

-M|'--machine SID' SID|rid

ユーザの追加および変更を行う際に、マシンの新しいプライマリ グループ SID (セキュリティ識別子) または RID を指定する。

例: -M S-1-5-21-2447931902-1787058256-3961074038-1201

-U SID||'--user SID'|rid

ユーザーの追加および変更を行なう際に、 ユーザーの 新しい 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

-c|--account-control account-control

ユーザーの追加および変更を行なう際に、 ユーザーのアカウント制御プロパティを指定する。 指定可能なフラグを以下に示す:

  • N: パスワード不要

  • D: アカウント無効

  • H: ホームディレクトリ必須

  • T: 一時的に他のアカウントと重複

  • U: 通常のユーザーアカウント

  • M: MNS ログオン用のユーザーアカウント

  • W: コンピューター信頼アカウント(訳注: ドメインに参加する各マシンのためのアカウント)

  • S: サーバー信頼アカウント

  • L: 自動ロック

  • X: 無期限パスワード

  • I: ドメイン信頼アカウント(訳注: 信頼関係するドメインのためのアカウント)

例: -c "[X ]"

-K|--kickoff-time

このオプションは特定のユーザーに対してkickoff時間を 変更するために使われる。kickoff時間を無制限にする引数は、 "決して指定してはならない"。

例: pdbedit -K never user

-a|--create

ユーザーをデータベースに追加する際に指定する。 ユーザー名を -u オプションで指定する必要がある。 ユーザーを追加する際、 pdbedit はユーザーのパスワードの入力を求める。

例: pdbedit -a -u sorce

new password:
retype new password

注記

unix password sync が設定されていた場合でも、 pdbedit はスクリプトを実行せず、Samba のユーザーデータベース内のデータのみを更新する点に注意。

ユーザーの追加と同時にパスワード同期を直ちに行ないたい場合は、 smbpasswd-a オプションを使用すること。

-t|--password-from-stdin

パスワードを (passwd(1) プログラムのように) /dev/tty から読み取る代わりに標準入力から読み取らせる。 パスワードは二度入力し、各々末尾に改行(newline)文字を付けること。

-r|--modify

データベース中の既存ユーザーの情報を変更する際に指定する。 ユーザー名は -u オプションで指定する必要がある。 これ以外のオプションは、 指定したユーザーのプロパティを変更するために用いられる。 このオプションは過去との互換性を保つために残されているだけで、 現在は指定する必要はない。

-m|--machine

このオプションは -a オプションと組み合わせて利用する。 これにより、 pdbedit はユーザーアカウントではなくコンピューター信頼アカウントを追加する。 (-u username にはコンピューター名を指定する)

例: pdbedit -a -m -u w2k-wks

-x|--delete

データベースからユーザーを削除する際に指定する。 ユーザー名は -u オプションで指定する必要がある。

例: pdbedit -x -u bob

-i|--import passdb-backend

ユーザー情報の取得元となるパスワードデータベースとして、 smb.conf で指定したものとは別のものを指定する。 これは、ローカルのユーザーデータベースにデータを取り込む (インポートする) 際に利用する。

このオプションにより、 パスワードデータベースの移行を容易に行うことができる。

例: pdbedit -i smbpasswd:/etc/smbpasswd.old

-e|--export passdb-backend

指定したパスワードデータベースに存在するすべてのユーザーを転送 (エクスポート) する。

このオプションにより、 パスワードデータベースの移行とバックアップを容易に行うことが可能となる。

例: pdbedit -e smbpasswd:/root/samba-users.backup

-g|--group

-g オプションを指定すると、 -i in-backend -e out-backend オプションはユーザーデータベースではなく、 グループマッピングに対して適用される。

このオプションにより、 パスワードデータベースの移行とバックアップを容易に行うことが可能となる。

-b|--backend passdb-backend

既定値以外のパスワードデータベースを指定する。

例: pdbedit -b xml:/root/pdb-backup.xml -l

-P|--account-policy account-policy

アカウントポリシーを表示する。

有効なポリシーは、 「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
-C|--value account-policy-value

アカウントポリシーを指定した値に設定する。 このオプションは、-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|--policies

-y オプションを指定すると、 -i in-backend -e out-backend オプションはユーザーデータベースではなく、 アカウントポリシーに対して適用される。

このオプションにより、 アカウントポリシーをデフォルトの TDB から LDAP ディレクトリサーバーなどのパスワードデータベースに移行することが可能となる。

例: pdbedit -y -i tdbsam: -e ldapsam:ldap://my.ldap.host

--force-initialized-passwords

このオプションは、すべてのユーザに、次のログオン時に パスワードの変更を強制する。

-N|--account-desc description

ユーザアカウントの追加およびは変更を行う時に、 ユーザの説明フィールドを指定する。

例: -N "test description"

-Z|--logon-hours-reset

ユーザの追加又は変更を行うときに、 ユーザに許可されているログオン時間を初期化する。 処理後、ユーザは任意の時間にログオンできる。

例: -Z

-z|--bad-password-count-reset

ユーザの追加又は変更を行うときに、 指定されたユーザの、記録されている不正ログインカウンタをリセットする。

例: -z

--policies-reset

このオプションは、既定値としてドメインに格納されている 一般のパスワードポリシーをリセットするのに使う。

例: --policies-reset

-I|--domain

ユーザの追加又は変更を行うときに、 ユーザのドメインフィールドを指定する。

例: -I "MYDOMAIN"

--time-format

このオプションは現在使われていない。

-?|--help

コマンドラインオプションの要約を表示する。

--usage

簡単な使用法を表示する。

-d|--debuglevel=level

level は0から10までの整数値である。 既定値の値は、パラメーターが設定されていなければ0である。

この値を大きくするほど、サーバーの動作に関するより詳細な情報が ログファイルに記録される。レベル 0 では、致命的なエラーと重大な警告 のみが記録される。レベル 1 は日々の運用に適しており、少量の稼働状況 に関する情報を生成する。

1 より上のレベルは大量のログが生成されるので、問題解決の時にのみ 使用すべきである。 3 より上のレベルは開発者だけが利用するように設計されて おり、莫大な量のログデータが生成される。そのほとんどは非常に謎めいた内容 となっている

このパラメーターの指定は、smb.conf ファイル中の、 log level パラメーターの 指定よりも優先する事に注意。

-V|--version

プログラムのバージョン番号を表示する。

-s|--configfile=<configuration file>

サーバーが必要とする詳細な設定を含む設定ファイルを 指定する。このファイルには、サーバーが提供するサービスに関する記述や、 どの printcap ファイルを利用するかといった情報が含まれている。詳細は smb.conf を参照のこと。設定ファイルの名前の既定値は、コンパイル時 に決定される。

-l|--log-basename=logdirectory

ログ/デバッグファイルのファイル名。拡張子として ".progname" が追加される(例えば log.smbclient, log.smbd,など)。ログファイルはクライアントによって削除されることはない。

--option=<name>=<value>

コマンドラインから smb.conf(5) オプション "<name>" に値 "<value>" を設定。 これはコンパイル時の既定値と設定ファイルから読み込まれたオプションを上書きする。

注意

このコマンドは root だけが利用できる。

バージョン

このマニュアルページは、Samba バージョン >4.14.5 用である。

関連項目

smbpasswd(5), samba(7)

著者

オリジナルの Samba ソフトウェアと関連するユーティリティは、 Andrew Tridgell によって作られた。 Samba は現在、Linux カーネルが開発されているような方法でのオープンソースプロジェクトである Samba Team によって開発されている。

pdbedit のマニュアルページは Simo Sorce と Jelmer Vernooij によって作られた。

日本語訳

このマニュアルページは Samba 4.4.0 - 4.14.5 に対応する。

このドキュメントの Samba 3.0.24 対応の翻訳は たかはしもとのぶ (monyo@samba.gr.jp) によって行なわれた。

このドキュメントの Samba 3.2.4 - 4.14.5 対応の翻訳は 太田俊哉 (ribbon@samba.gr.jp) によって行なわれた。