# smbpasswd (8)

## Samba 2.0.7

## 23 Oct 1998 (JP-2000/05/02)

## NAME

smbpasswd - ユーザの SMB パスワードの変更

## SYNOPSIS

smbpasswd [-a] [-x] [-d] [-e] [-D debug level] [-n] [-r remote_machine] [-R name resolve order] [-m] [-j DOMAIN] [-U username] [-h] [-s] username

## DESCRIPTION

このプログラムは Samba プログラム全体の一部である。

smbpasswd には、root で実行するか否かによっていくつか 異なった機能がある。一般ユーザで実行した場合、 ユーザが SMB パスワードを保存しているマシンと SMB セッションを張る際に用いるパスワードを変更することが可能になる。

規定値では(引数無しで実行されると)、 ローカルマシン上の現在のユーザの SMB パスワードの変更を行おうとする。 これは passwd (1) プログラムと同様の動作である。 smbpasswd は、 passwd プログラムとは異なり setuid root されないが、クライアント・サーバモードで動作し、 ローカルに実行されている smbdと通信を行なう。 もっとも、 通信が行われるには、 smbd デーモンはローカルマシンで実行されていなければならない。 UNIX マシン上の場合、 暗号化された SMB パスワードは通常 smbpasswd (5) ファイルに保存されている。

一般ユーザがオプションなしで実行すると、 smbpasswd はユーザの現在の smb パスワードの入力を要求し、 次に新しいパスワードを2回(訳注:入力が正しいことを確認するため) 入力するよう要求する。 入力しているパスワードは画面に表示されない。 もし、 (smbpasswd ファイルに文字列 "NO PASSWORD" が設定されており)ユーザの SMB パスワードが空の場合、 現在のパスワードを要求されたときに <Enter> キーだけを押すこと。

smbpasswd を使うことで、 一般ユーザは Windows NT のプライマリドメインコントローラなど、 遠隔のマシンの SMB パスワードを変更することもできる。 後出する (-r) および -U オプションを参照のこと。

root が実行した場合、 smbpasswd は smbpasswd ファイルにユーザを追加したり、 削除したりすることや、 作成されたファイル中のユーザの属性を変更したりすることが可能である。 root が実行すると、 smbpasswd は、 ローカルな smbpasswd ファイルに直接アクセスする。 このため、 smbd が実行されていなくても、 変更を行うことが可能である。

## OPTIONS

-a
  このオプションは新しいパスワードを入力することで、 (古いパスワードとしては <Enter> だけを入力する) 指定されたユーザをsmbpasswd ファイルに追加する。このオプションは、既にユーザ名が smbpasswd ファイルに存在する場合は無視され 通常のパスワード変更コマンドとして扱われる。注意点として、 追加するユーザはあらかじめシステムのパスワードファイル (通常 /etc/passwd)に存在していなければならず、 存在していないユーザの追加は失敗する。

  このオプションは、 root で smbpasswd を実行するときのみ有効である。

-x
  このオプションは、指定されたユーザを ローカルな smbpasswd から削除する。

  このオプションは、 root で smbpasswd を実行するときのみ有効である。

-d
  このオプションは、 指定されたユーザの ローカルな smbpasswd のアカウントを 無効 にする。 これは、 'D' フラグを smbpasswd ファイルのアカウント制御フィールドに書き込むことで行われる。 ひとたびアカウントが無効になると、 このユーザ名を用いての SMB 経由の 認証の試みは、全て失敗する。

  smbpasswd ファイルが '古い' フォーマット(Samba-2.0 以前のフォーマット)の場合は、 ユーザのパスワードエントリにこの情報を書き込むフィールドがないため、 ユーザが smbpasswd ファイル中のパスワード フィールドに 'X' 文字を書き込むことでユーザを無効にする。 '古い' もしくは新しいパスワードファイルのフォーマットの詳細に付いては smbpasswd (5) を参照のこと。

  このオプションは、 root で smbpasswd を実行するときのみ有効である。

-e
  このオプションは、アカウントが無効にされていた場合、 指定されたユーザのローカルな smbpasswd ファイル 中のアカウントを 有効 にする。 アカウントが無効でなかった場合、 このオプションは意味を持たない。 ひとたびアカウントが有効になると、 そのユーザは、 再び SMB 経由で認証を行えるようになる。

  smbpasswd ファイルが '古い' フォーマットの場合は、 smbpasswd はこのユーザの新規パスワードの設定を要求する。 それ以外の場合、 そのアカウントはsmbpasswd ファイルのアカウント制御フィールドから'D' フラグを取り除くことで 有効にされる。 '古い' もしくは新しいパスワードファイルのフォーマットの詳細に付いては (smbpasswd (5))(smbpasswd.5.html) を参照のこと。

  このオプションは、 root で smbpasswd を実行するときのみ有効である。

-D debuglevel
  デバッグレベルは、 0 から 10 までの数字である。 このパラメータが設定されていない場合の既定値は 0 である。

  この値を大きくする程、 smbpasswd の動作に関するより詳細な情報が ログファイルに記録される。 レベル 0 では、 致命的なエラーと非常に重大な警告のみが記録される。

  1 以上のレベルでは大量のログが生成されるので、 問題解決の時にのみ使用すべきである。 3 より大きいレベルは、 開発者だけが利用するように設計されており、 莫大な量のデータを出力するが、 それらはほとんど暗号化されている。

-n

  このオプションは、 指定されたユーザのローカルな smbpasswd 中のパスワードを空に設定する。 これは、 smbpasswd ファイルに保存されている 一つ目のパスワードフィールドの 先頭部分に "NO PASSWORD" という文字列を書き込むことで行われる。

  smbpasswd ファイル中のパスワードを "NO PASSWORD" に設定して ユーザが Samba サーバにログオンできるようにする場合、 管理者は smb.conf ファイル中の [global] セクションに以下のパラメータを設定する必要があることに注意。

  null passwords = true

  このオプションは、 root で smbpasswd を実行するときのみ有効である。

-r remote machine name
  このオプションは、 パスワードを変更する対象のマシンを指定する。 このパラメータを指定しない場合、 smbpasswd は既定値としてローカルマシンを使用する。 "remote machine name" はパスワード変更のために接続する SMB/CIFS サーバの NetBIOS 名である。 この名前は、 Samba プログラム全体の、 すべてのプログラムが使っている 標準的な名前解決の機構を用いてIP アドレスから解決される。 この名前解決機構を変更する方法に付いての詳細は -R name resolve order パラメータを参照のこと。

  パスワードを変更するユーザは、 現在 UNIX にログインしているユーザ名のユーザになる。 異なるユーザのパスワードを変更する方法に付いての詳細は -U username パラメータを参照のこと。

  Windows NT ドメインのパスワードを変更する場合、 そのドメインの プライマリドメインコントローラを remote machine に指定する必要 があることに注意(バックアップドメインコントローラは 読み込み専用のユーザアカウントデータベースの複製を持っているだけで、 パスワードを変更することができない)。

  Windows 95/98 は実際のパスワードデータベースを持っていないため、 Windows 95/98 マシンを remote machine に指定しても、 パスワードの変更を行うことはできないことに 注意。

-R name resolve order
  このオプションを指定すると、 smbclient (訳注: smbpasswd ですよね)のユーザは、 接続するホストの NetBIOS 名を解決する際に、 どの名前解決手段を使用するかを指定できる。

  オプションは "lmhosts"、 "host"、 "wins" と "bcast"である。 これらは、 以下のように名前の解決を行なう。

  - lmhosts : Samba の lmhosts ファイルから IP アドレスを解決する。

  - host : システムの /etc/hosts ファイルや NIS、 DNS を用いる 標準的なホスト名から IP アドレスへの名前解決を使用する。 この名前解決の方式はオペレーティングシステムに依存している。 例えば IRIX や Solaris では、 /etc/nsswitch.conf ファイルで 制御されている。)

  - wins : smb.conf file ファイル 中の wins server パラメータで指定された IP アドレスに対して名前の問い合わせを行なう。 WINS サーバが指定されていなかった場合、 この方式は無視される。

  - bcast : smb.conf ファイル中の interfaces パラメータに記述されたローカルインタフェースの各々に対し、 ブロードキャストを行なう。 これは対象のホストが同じサブネット内に存在している必要がある為、 あまり確実ではない名前解決の方式である。

  このパラメータが設定されていなかった場合、 the smb.conf ファイル中で設定された name resolve order パラメータが使われる。

  既定値は lmhosts、 hosts、 wins、 bcast の順であり、 このパラメータが指定されず、 smb.conf ファイル中でも、 "name resolve order" パラメータが記述されていなかった場合、 この順に名前解決の試行が行われる。

-m
  このオプションを設定すると、 bm(smbpasswd) は マシン アカウントの変更を行なう。 現在、 これは Samba を NT のプライマリドメインコントローラとして 使用するときに使われる。 PDC サポートは Samba 2.0 でサポートされている機能ではないが、 今後のリリースでサポートされる予定である。 Samba の PDC としての使用について更に知りたい場合は、 メーリングリスト samba-ntdom@samba.org に参加してほしい。

  このオプションは、 root で smbpasswd を実行するときのみ有効である。

-j DOMAIN
  このオプションは、 Samba サーバを、 ドメインのメンバとして Windows NT ドメインに追加する時に使用する。 ドメインのメンバになると、 Windows NT Server と同様の方法で ドメインコントローラに対してユーザアカウントの認証を要求できる。 smb.conf (5) マニュアルページの security=domain オプションを参照のこと。

  ドメインに参加させるにあたって、 Windows NT ドメインの Administrator は、 予めドメインのメンバーとして追加する Samba サーバの primary NetBIOS name のエントリを "サーバマネージャ"で追加しておく必要がある。

  エントリの追加後に、 ドメインに参加させるため このパラメータを使って smbpasswd を実行する。 smbpasswd はドメインのプライマリドメインコントローラを探して (smb.conf ファイル中の password server の値が使われる)セキュアなドメイン内の通信を確立するのに使われる マシンアカウントのパスワードを変更する。 このパスワードは、 smbpasswd がファイルに保存する。 このファイルは root のみが参照でき、 名前は `<Domain>.<Machine>.mac` となる。 `<Domain>` は参加したドメインの名前になり、 `<Machine>` はマシンのプライマリの NetBIOS 名になる。

  この操作が完了すると、 smb.conf ファイル中に security=domain オプションを設定できる状態になる。 設定後の Samba サーバに対するログインは、 Windows NT の PDC にて認証されるようになる。

  認証が PDC によって行われるようになっても、 Samba サーバにアクセスする全てのユーザは 未だにそのマシン上に有効な UNIX のアカウントを持っている必要があることに注意。

  このオプションは、 root で smbpasswd を実行するときのみ有効である。

-U username
  このオプションは -r オプションと共にのみ使われる。 リモートマシンのパスワードを変更するとき、 ユーザはパスワードを変更しようとしているマシン上での ユーザ名を指定することができる。 これにより、 別システムで別のユーザ名を用いているユーザが パスワードを変更することが可能になる。

-h
  このオプションは smbpasswd のヘルプを出力する。 root として実行しているか、 一般ユーザとして実行しているかによって、 適切なヘルプが出力される。

-s
  このオプションは smbpasswd を silent モード(プロンプト を出さないなど)に設定し、また、現在および新しいパスワードを (passwd (1) プログラムのように) `/dev/tty` からではなく、 標準入力から読み込むように設定する。 このオプションは、 smbpasswd を使ったスクリプトを作成する際に有用である。

username
  このオプションは、 root のみ選択可能なオプションを 実行する際、ユーザ名を指定するのに使われる。 root のみがこのパラメータを設定でき、 root のみがローカルな smbpasswd ファイル中の属性を直接修正する権限を持っている。

  ## NOTES

  smbpasswd が root 以外のユーザで実行される場合、 ローカルな smbd と通信を行う際に クライアント-サーバモードで通信を行うため、 smbpasswd が動作するためには、 smbd デーモンが実行されて いる必要がある。また、 よくあるトラブルとして、 ローカルマシンで走行している smbd にアクセスするホストを smb.conf ファイル中の "allow hosts" と "deny hosts" エントリを設定して 制限する際に、 "localhost" から smbd へのアクセスを許可するのを忘れてしまうということがある。

  加えて、 smbpasswd コマンドは、Sambaが 暗号化パスワードが設定されているときのみ有用である。 暗号化パスワードを用いる方法に付いての詳細は、 docs ディレクトリ配下の ENCRYPTION.txt ファイルを参照のこと。

  ## バージョン

  この man page は Samba システムのバージョン 2.0 に適用される。

  ## AUTHOR

  オリジナルの Samba ソフトウェアと関連ユーティリティは、 Andrew Tridgell samba@samba.org によって作成された。 現在 Samba は、Samba Team によって、Linux カーネルの開発と同様に、 オープンソース・プロジェクトとして開発されている。

  オリジナルの Samba マニュアルは、Karl Auer によって執筆された。 マニュアルのソースは Jeremy Allison samba@samba.org によって YODL 形式に変換され、Samba 2.0 リリース用に更新された。 (YODL はオープンソース・ソフトウェアの優れた作品である - ftp://ftp.icce.rug.nl/pub/unix/) から入手可能)

  貢献者の一覧、バグ報告やコメントなどの提出方法の詳細については、 samba (7) を参照してほしい。

  このマニュアルの日本語訳(1999/04/08 更新)の作者:

  - 高橋基信 (monyo@samba.gr.jp) 更新
  - 佐藤文優 (fumiya@samba.gr.jp) 作成、 更新
  - 太田俊哉 (oota@pes.com1.fc.nec.co.jp) 更新