## Name

smbpasswd — ユーザーの SMB パスワードを変更する

## Synopsis

`smbpasswd` [-a] [-c <config file>] [-x] [-d] [-e] [-D debuglevel] [-n] [-r <remote machine>] [-R <name resolve order>] [-m] [-U username[%password]] [-h] [-s] [-w pass] [-W] [-i] [-L] [username]

## 説明

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

smbpasswd プログラムは、 root ユーザーによって実行される場合とそうでない場合とで、いくつかの機能が異なる。 一般ユーザーによって実行される場合、ユーザーは SMB パスワードを格納するあらゆるマシン上で、SMB セッションのために利用する自分のパスワードを変更することができる。

デフォルト (引数なしで実行した場合) では、 ローカルマシン上の実行したユーザーの SMB パスワードの変更を試みる。 これは `passwd(1)` プログラムと似た動作となる。 `smbpasswd` は、 setuid root されていない点と、 クライアント/サーバーモードで動作し、同一ホストで動作している smbd(8) と通信する点が `passwd(1)` と異なる。 このため、パスワードを変更するには、 smbd デーモンがローカルマシン上で動作していなければならない。 UNIX マシン上では、通常、 暗号化された SMB パスワードは smbpasswd(5) ファイルに保持される。

一般ユーザーが引数なしで実行すると、 smbpasswd は古い (現在の) SMB パスワードの入力を求めた後、 新しいパスワードが正しく入力されることを確実にするため、 新しいパスワードの入力を 2 回求める。 入力したパスワードは画面上には表示されない。 ユーザーにパスワードが割り当てられていない場合 (smbpasswd ファイルで「NO PASSWORD」という文字列が指定されている場合) は、 古いパスワードの入力を求められたときに <Enter> キーだけを押すこと。

smbpasswd は、一般ユーザーが Windows NT プライマリドメインコントローラーなどのリモートマシン上の SMB パスワードを変更する際に使用することもできる。 詳細は下記の `-r` オプションと `-U` オプションを参照のこと。

root が実行する場合、smbpasswd は smbpasswd ファイルへの ユーザーの追加・削除、既存ユーザーの属性を変更することが可能である。 このとき、 `smbpasswd` はローカルの smbpasswd ファイルに 直接アクセスする。よって、 smbd が実行されていなくても変更を行うことが可能である。

## オプション

-a

  このオプションは、 指定したユーザー username を新しいパスワードとともにローカルの smbpasswd ファイルに追加することを指示する。 すでに指定されたユーザーが存在する場合はオプションは無視され、 通常どおりパスワード変更コマンドとして動作する。 注意: デフォルトのパスワードデータベースバックエンドは、 システムのパスワードファイル (通常は `/etc/passwd`) に同名のユーザーが存在いることを要求するため、 システムにユーザーが存在しないとユーザーの追加は失敗する。

  このオプションは、 root が smbpasswd を実行するときだけ利用できる。

-c

  このオプションは、既定値のファイルと位置ものを使うことが重要な時、 `smb.conf`設定ファイルのパスとファイル名を指定することに使うことが出来る。

-x

  このオプションは、 指定したユーザー username をローカルの smbpasswd ファイルから削除することを指示する。

  このオプションは、 root が smbpasswd を実行するときだけ利用できる。

-d

  このオプションは、 ローカルの smbpasswd ファイル内の指定したユーザー username を`無効にすること`を指示する。 これは、 smbpasswd ファイルのアカウント制御領域に 「`D`」 フラグを書き込むことで行なわれる。 こうすることで、 このユーザー名を利用した SMB の認証はすべて失敗するようになる。

  smbpasswd ファイルが Samba 2.0 以前の古い形式の場合、 ユーザーのパスワードエントリに情報を書き込むための領域がないため、 このオプション指定は失敗する。 新旧のパスワードファイル形式についての詳細は、 smbpasswd(5) を参照のこと。

  このオプションは、 root が smbpasswd を実行するときだけ利用できる。

-e

  このオプションは、 ローカルの smbpasswd ファイル内の指定したユーザー username を`有効にすること`を指示する。 アカウントが無効になっていなければ、このオプションはなんの効果もない。 アカウントを有効にすることで、 このユーザーは再び SMB の認証が受けられるようになる。

  smbpasswd ファイルが古い形式の場合、 `smbpasswd` はアカウントの有効化に失敗する。 新旧のパスワードファイル形式についての詳細は、 smbpasswd(5) を参照のこと。

  このオプションは、 root が smbpasswd を実行するときだけ利用できる。

-D debuglevel

  デバッグレベルを `debuglevel` に設定する。 `debuglevel` は、0 から 10 までの整数である。 このパラメータを指定しないときのデフォルト値は 0 である。

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

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

-n

  このオプションは、 ローカルの smbpasswd ファイル内の指定したユーザー username のパスワードをなくすよう指示する (すなわち、パスワードなしとなる)。 これは、 smbpasswd ファイルのパスワード保持領域の先頭部分に 「NO PASSWORD」という文字列を書き込むことで行なわれる。

  注意: smbpasswd ファイル内でパスワードが「NO PASSWORD」に設定されると、 そのユーザーが Samba サーバーにログオンするためには、 `smb.conf` ファイルの [global] セクションに下記のパラメータを設定しなければならない:

  `null passwords = yes`

  このオプションは、 root が smbpasswd を実行するときだけ利用できる。

-r remote machine name

  このオプションは、 変更したいパスワードがどのマシン上にあるかを指定することができる。 このパラメータが指定されていないと、デフォルトはローカルホストになる。 `remote machine name` には、パスワード変更を試みるために接続する SMB/CIFS サーバーの NetBIOS 名を指定する。 この名前は、 Samba のすべてのプログラムで利用される標準的な名前解決方式によって、 IP アドレスへと変換される。 名前解決方式の設定については、 `-R name resolve order` パラメータを参照のこと。

  パスワードの変更対象となるユーザーの名前は、 smbpasswd 実行時の UNIX のログイン名となる。 異なるユーザー名のパスワードの変更方法については、 `-U username` パラメータを参照のこと。

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

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

-R name resolve order

  このオプションにより、smbpasswd のユーザーは、接続先のホストのNetBIOS 名の検索にどの名前解決サービスを使用するかを決めることができる。

  オプションには、"lmhosts"、"host"、"wins"、"bcast"のいずれかを指定する。それぞれの名前解決は以下のように行われる。

  - `lmhosts`: Samba lmhosts ファイルで IP アドレスが検索される。lmhosts の行に NetBIOS 名にアタッチされるネームタイプがない場合(詳細については lmhosts(5) を参照)、ネームタイプがどれであるかは検索結果に影響しなくなる。

  - `host`: システムの `/etc/hosts` 、NIS、DNS ルックアップを使用した、ホスト名 - IP アドレス間の標準の名前解決が行われる。名前解決の方法の詳細な部分は、IRIX、Solaris といった OS によって変わる。`/etc/nsswitch.conf` で制御できる場合もある。この方法は、検索される NetBIOS 名のタイプが 0x20 (サーバー) である時にのみ使用できる点に注意。さもなければ指定しても無視される。

  - `wins`: `wins server` パラメータに指定された IP アドレスを持つ名前が検索される。WINS サーバーが指定されていなければ、無視される。

  - `bcast`: `interfaces` パラメータに指定された既知のローカル･インターフェースそれぞれについてブロードキャストを行う。ターゲット・ホストがローカル接続サブネット上にある場合にしか使えないので、最も信頼性の低い名前解決法。

  デフォルトの優先順位は、`lmhosts、host、wins、bcast` となる。このパラメータがない場合、あるいはsmb.conf(5) ファイルにエントリがない場合、この順序で名前解決方法が試行される。

-m

  このオプションは、 パスワードの変更対象のアカントがマシンアカウントであることを smbpasswd に指示する。 現在のところ、このオプションは、Samba が NT プライマリドメインコントローラーとして動作しているときに利用される。

  このオプションは、 root が smbpasswd を実行するときだけ利用できる。

-U username

  このオプションは、 `-r` オプションと共に利用する。 リモートマシン上のパスワードを変更する場合に、 パスワード変更対象とする(リモート)マシン上のユーザー名を指定することができる。 これにより、 ユーザーがリモートマシン上で異なるユーザー名を持っている場合でも、 ユーザーはパスワードを変更することができる。

-h

  このオプションは、 `smbpasswd` のヘルプを表示する。

-s

  このオプションを指定すると、 smbpasswd は寡黙 (すなわちプロンプトを出さない) になり、 新旧のパスワードを (`passwd(1)` プログラムのように) `/dev/tty` からは読み込まず、 標準入力から読み込むようになる。 このオプションは smbpasswd を扱うスクリプトを書くときに有用となる。

-w password

  このオプションは、Samba がLDAPサポートを指定してコンパイルされているときのみ利用できる。 `-w` オプションは、 ldap admin dn に使用するパスワードを設定するために利用する。 注意: パスワードは LDAP 管理者の DN をキーにして `secrets.tdb` ファイルに格納される。 このため、 パラメータの値を変更した場合は、 パスワードの更新も必要になる。

-W

  `注意:`このオプションは標準入力からパスワードを受け取ることを除いて、"-w"と同じである。

  このパラメータはSambaがLDAPサポート付きでコンパイルされている場合に のみ有効である。`-W`スイッチはldap admin dnと ともに使われるパスワードを指定するのに使われる。 注意: パスワードは LDAP 管理者の DN をキーにして `secrets.tdb` ファイルに格納される。 このため、 パラメータの値を変更した場合は、 パスワードの更新も必要になる。

-i

  このオプションは、 パスワードの変更対象のアカントがドメイン間信頼アカウントであることを smbpasswd に指示する。 現在のところ、このオプションは、Samba が NT プライマリドメインコントローラーとして動作しているときに利用される。 このアカウントには、 信頼する側のドメインに関する情報が含まれる。

  このオプションは、 root が smbpasswd を実行するときだけ利用できる。

-L

  ローカルモードで起動する。

username

  すべての root 専用 オプション用に、操作対象とするユーザーの名前を指定する。 ローカルの smbpasswd ファイルを直接修正する権限を持つ root だけがこのパラメータを指定することができる。

## 注意

一般ユーザーが実行する場合、 `smbpasswd` はローカルの smbd とクライアント/サーバーモードで通信するため、 機能するには smbd デーモンが動作していなければならない。 よくある問題として、 ローカルマシンで動作している `smbd` にアクセス可能なホストを制限するため smb.conf(5) ファイルに `allow hosts` または `deny hosts` パラメータを設定したときに、 「localhost」にアクセス許可を与えるのを忘れてしまうことがある。

なお、smbpasswd コマンドは、 Samba が暗号化パスワードを使うように設定してあるときのみ利用できる。

## バージョン

このマニュアルページは、Samba バージョン 3用に記述されている。

## 関連項目

smbpasswd(5), Samba(7).

## 著者

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

オリジナルの Samba のマニュアルページは Karl Auer によって書かれた。マニュアルページのソースは YODL 形式(別の、優秀なオープンソースソフトウェアで、ftp://ftp.icce.rug.nl/pub/unix/にある)で変換され、Jeremy Allison によって Samba 2.0 リリースのために更新された。 Samba 2.2 のための DocBook 形式への変換は Gerald Carter が行った。 Samba 3.0 のための DocBook XML 4.2 形式の変換は Alexander Bokovoy によって行われた。

## 日本語訳

このマニュアルページは Samba 3.2.4-3.2.15 対応のものである。

このドキュメントの Samba 3.0.0 対応の翻訳は、さとうふみやす によって行なわれた。

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