[samba-jp:22267] Re: SWATで各自のパスワード変更?
TAKAHASHI Motonobu
monyo @ monyo.com
2014年 6月 16日 (月) 00:11:22 JST
たかはしもとのぶです。
From: ODAGIRI Koji <odagiri @ osstech.co.jp>
Date: Sun, 15 Jun 2014 21:23:54 +0900
> OSSTech 小田切です。
>
> 普通は
> unix password sync と
> pam password change の両方をYesにしてはいけません。
>
> Linuxでの推奨は
> unix password sync= no
> pam password change = yes
> として
> /etc/pam.d/samba
> にpassword行をちゃんと設定することです。
わたしも、竹内さんと同じく
unix password sync = yes
pam password change = yes
は両方共必要だという理解です。
念のため試して見ましたが、
unix password sync = no
pam password change = yes
の環境では、Sambaユーザのパスワードを変更してもUNIXユーザの
パスワードは変更されませんでした。
試したのは次のような環境です。
・Debian 7(Wheezy) + Wheezy 付属の Samba 3.6.6
・smb.conf は次のとおり
-----
[global]
unix password sync = yes|no
pam password change = yes
[tmp]
path = /tmp
-----
# useradd test1
# pdbedit -a test1
(この過程でtest1のSambaユーザとしてのパスワードも設定)
# su - test1
$ smbpasswd test1
(この過程でtest1のSambaユーザとしてのパスワードが変更)
$ exit
# smbclient //localhost/tmp -Utest1 ←Sambaユーザのパスワードが
意図したものになっているか確認
# ssh localhost -l test1 ←UNIXユーザのパスワードが意図したものに
なっているか確認
-----
なお、竹内さんの以下の記述ですが
>> PosixAccount用のパスワード(/etc/passwd で管理しているパスワード)も
>> 変更したいのであれば、以下を追加することで変更可能です。
>>
>> unix password sync= yes
>> passwd program = /usr/bin/passwd %u
>> pam password change = Yes
pam password change = yes の場合、UNIXユーザのパスワードの変更はPAM経由で
行われるため、passwd program パラメータの設定は無視されます。そのため、
設定する必要はありません。
後、元々の質問ですが、わたしも廃止予定の SWAT の使用は推奨しません。
竹内さんが書かれたように、Ctrl+Alt+Del で変更するか、それも敷居が高いと
いう場合は、WSH や PowerShell などでパスワードを変更するスクリプトを
作ればよいと思います。
例えば、何らかのユーザとしてSambaサーバに接続している環境であれば、
次のようなWSHスクリプトにより、ユーザのパスワードを変更することが
できます。
-----
Set objUser = GetObject("WinNT://SAMBAserver/test1")
objUser.ChangePassword "damedame", "damesugi"
-----
---
TAKAHASHI Motonobu <monyo @ monyo.com> / @damemonyo
facebook.com/takahashi.motonobu
samba-jp メーリングリストの案内