Samba 資料一覧
SambaパスワードとUNIXパスワードを同期する
2009/1/29更新
対応バージョン: 3.3.0
Sambaパスワードが変更された際にUNIXパスワードを同期させるにはsmb.confに以下の設定を行う。
unix password sync
UNIXパスワード同期機能を有効化する。
デフォルトはno。
unix password sync = yes
passwd program
UNIXパスワード変更コマンドを指定する。
%uマクロにはユーザ名が入る。
Fedora 10の場合)
passwd program = /usr/bin/passwd %u
passwd chat
passwdコマンドとのやり取りをチャットスクリプトとして記述する。文字列が少しでも間違っているとパスワード変更が失敗するので注意すること。
*(ワイルドカード)を用いるとより汎用的な定義ができる。
.(ピリオド)は無視されるのでチャットスクリプトには記述しなくてよい。
%nマクロにはパスワードが入る。
Fedora 10の場合)
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
実際には以下のようなやり取りが発生する。
Changing password for user <アカウント>. New UNIX password: <パスワード> Retype new UNIX password: <パスワード> passwd: all authentication tokens updated successfully.
passwd chat debug
上記やり取りのデバッグを有効にする。
passwd chat debug = yes
debug level
デバッグレベルを100以上にすることでパスワードがlog.smbdに記録される。
debug level = 100
注意点
Sambaパスワードを変更するにはsmbpasswdコマンドを使用するが、rootで実行するとローカルのパスワードファイル(/usr/local/samba/private/smbpasswd)が直接変更されるので上記の機能が有効にならない。
従って同コマンドは一般ユーザで実行し、Sambaサーバとのやり取りが発生する形で使用する。
% /usr/local/samba/bin/smbpasswd -U foo