Unixコマンド/smbpasswd

smbpasswd

機能

sambaのパスワードを変更するにはsmbpasswdコマンドを使用します。

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

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

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

構文

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

オプション

-a      新たに指定したユーザ usernameを新しいパスワードとともにローカルの smbpasswd ファイルに追加することを指示する。
        /etc/passwdに同名のユーザーが存在いることを要求するため、 システムにユーザーが存在しないとユーザーの追加は失敗する。
        このオプションは、 root が smbpasswd を実行するときだけ利用できる。

-x      指定したユーザ username をローカルの smbpasswd ファイルから削除する。
        このオプションは、 root が smbpasswd を実行するときだけ利用できる。

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

-e      ローカルの smbpasswd ファイル内の指定したユーザー username を有効にする。
        このオプションは、 root が smbpasswd を実行するときだけ利用できる。

-h      ヘルプを表示

コマンド例

■新規にユーザを追加する。(ユーザ名:test)

# smbpasswd -a test
New SMB password: XXXXXXXX
Retype new SMB password: XXXXXXXX
Password changed for user test.