0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【検証メモ】Samba ユーザーのパスワード変更時、UNIX ユーザーのパスワードも同期して変更する (unix password sync = Yes)

0
Posted at

■ 概要

Samba ユーザーのパスワード変更時、UNIX ユーザーのパスワードも同期して変更することができるらしいので検証してみた。

ただし smbpasswd コマンドを root ユーザーで実行したら期待通りに動作せず、ちょっとハマったのでメモしておく。

■ 前提

OS:AlmaLinux 9.8 x86_64
Samba パッケージバージョン:samba-4.23.5-10.el9_8.x86_64

■ 検証手順

[1]

検証用の UNIX ユーザー (= OS ユーザーアカウント) を用意する。

# useradd sync-test-user
# passwd sync-test-user
→ パスワードは「synctest-unix」とでもしておこう

/etc/shadowの sync-test-user ユーザーのパスワードハッシュは以下。

sync-test-user:$6$rounds=100000$zqHKyGTQjhUWTi9L$2Vx4CZDYRRDB7jIfTKv9NW/ap6un0tJyHR0Ix2ibF/IwJcf.aCVZgXpJ.3cZAKUb2bosx3wFjKb2YH2MfDnWq0:20722:0:99999:7:::

[2]

続いて、同名の samba ユーザーを用意する。
※ パスワードは [1] と異なるものに設定すること

# pdbedit -a sync-test-user
→ パスワードは「synctest-samba」とでもしておこう

[3]

パスワードを同期させる設定を入れる。
/etc/samba/smb.conf の [global] セクションに以下設定を追加する。

[global]
        pam password change = yes
        unix password sync = yes

smb プロセスを再起動させる。

# systemctl restart smb

[4]

準備は完了。
Samba ユーザーのパスワード変更を行い、UNIX ユーザーのパスワードも同期されて変更されるかを確認する。

ただしここで注意点。
Samba ユーザーのパスワード変更を行う smbpasswd コマンドは、root ユーザーではなく一般ユーザーで行う必要がある。
root ユーザーで smbpasswd sync-test-user で実行してパスワード変更した場合、smbd を経由せずに passdb (私の環境では tdbsam) を直接変更してしまって [3] の設定が効かないようで、同期がされなかった。

[smbpasswd — change a user's SMB password]
https://www.samba.org/samba/docs/current/man-html/smbpasswd.8.html
=====抜粋ここから=====
When run by root, smbpasswd allows new users to be added and deleted in the smbpasswd file, as well as allows changes to the attributes of the user in this file to be made. When run by root, smbpasswd accesses the local smbpasswd file directly, thus enabling changes to be made even if smbd is not running.

(機械翻訳)
root として実行した場合、smbpasswd を使用すると、smbpasswd ファイルに新しいユーザーを追加・削除できるほか、このファイル内のユーザーの属性を変更することもできます。root として実行すると、smbpasswd はローカルの smbpasswd ファイルに直接アクセスするため、smbd が実行されていなくても変更を行うことができます。
=====抜粋ここまで=====

そのため、以下のようにまずは一般ユーザー「sync-test-user」にログインしてから smbpasswd コマンドを行う手順とする。

$ su sync-test-user
→ パスワード「synctest-unix」でログインする

続いて、自身の Samba ユーザーのパスワードを smbpasswd コマンドで変更する。

$ smbpasswd
→ パスワードは「synctest-after-change」とする。

[5]

/etc/shadowの sync-test-user ユーザーのパスワードハッシュが [1] から変わったことを確認する。

# cat /etc/shadow | grep sync-test-user
sync-test-user:$6$rounds=100000$TNC9vko0D2Y.H93E$3aiUiz22a/qboeXQDOJ6GX4y90PaBM7JuQCRYw9CWf6YXVFRnz3SOVWoewlXBf3Odd2psyN7ZVwBlIXrMbEn./:20722:0:99999:7:::
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?