Linux -> サーバ構築 -> Samba

pdbeditによるパスワード管理

パスワード有効期限の設定


Windows側からパスワード変更(Ctrl+Alt+Delete を入力)すると、
変更したユーザのldap データベースが変更される。
変更される登録情報は、
変更される属性 属性の詳細
sambaPwdLastset パスワードを更新した日付
sambaPwdMustChange パスワード有効期限
UserPassword Unix側のパスワード
sambaNTPassword Windows側のパスワード
sambaLMPassword Windows側のパスワード
パスワードを変更すると、パスワード有効期限が更新されてなければならないが、 初期値の状態では、パスワード有効期限は sambaPwdMustChange = 2147483647 (2038/1/19) が設定されてしまう。 パスワードの有効日数を設定することにより、sambaPwdMustChange の値が設定されることになる。 設定の方法は以下の通りである。 LDAPのsamba用schemaには、パスワード有効日数に対応する属性がないので pdbedit (in samba-common) コマンドで設定する。 以下のコマンドによりパスワード有効日数を 45 日に設定する。 秒数で指定するので 3,888,000=24*60*60*45 となる。
# pdbedit -P "maximum password age" -C 3888000 account policy value for maximum password age is now 3888000 #
設定内容を確認する。
# pdbedit -P "maximum password age" account policy value for maximum password age is 3888000 #
これで、パスワード変更後に sambaPwdMustChange が更新される。 計算式: sambaPwdMustChange = sambaPwdLastset + 'maximum password age' の 数値にになっているかを確認する。 数値は 1970/1/1 からの通算秒数なので秒数の数値を日付に変換するには、 EXCEL のセルに ="1970/1/1"+1139373946/86400 を入力して 書式設定で "yyyy/mm/dd hh:mm:ss"とするとこの場合 2006/02/08 04:45:46 と表示される。 さらに、日付はGMTなので日本時間に合わせるには9時間加算する必要がある。
pdbedit コマンドで出力される内容の詳細度は smb.conf の log level = で設定する。 log level = 0 にすると最低限の内容しか表示されないが、 1000 等にすると、 かなり詳細な内容が出力されるのでデバック等を行う際はこの数値を変更するとよい。

パスワード履歴管理の設定

パスワードの履歴を記録する回数を指定する。 初期値は '0' になっているので、変更前後のパスワードが同じ場合でもOKとなる。
# pdbedit -P "password history" account policy value for password history is 0

変更する場合は、以下のコマンドを実行する。
# pdbedit -P "password history" -C 1 account policy value for password history was 0 account policy value for password history is now 1 # ※ この場合は、変更前(同じ)のパスワードは設定できない。

ロックアウトの設定

初期値では何回パスワードを間違って入力してもロックアウトしない。
# pdbedit -P "bad lockout attempt" account policy value for bad lockout attempt is 0
5回間違うとロックアウトしたい場合以下のように設定する。
# pdbedit -P "bad lockout attempt" -C 5 account policy value for bad lockout attempt was 0 account policy value for bad lockout attempt is now 5
パスワードを間違うと Bad password count : 1 にカウントアップされる。( pdbedit -v ユーザ名で確認 ) この数値をクリアする場合、
# pdbedit -z ユーザ名
で、0 にリセットされる。 カウントアップされた回数の有効期限は分数で指定する。初期値は、30分。
# pdbedit -P "reset count minutes" account policy value for reset count minutes is 30 #
自動的にロックアウトを解除する時間(分)を指定する場合
# pdbedit -P "lockout duration" account policy value for lockout duration is 30 #
コマンドでロックアウトを解除する場合。
# pdbedit -c "[]" ユーザ名 Account Flags: から L が削除される [UL] -> [U]
逆にコマンドでロックアウトする場合。
# pdbedit -c "[L]" ユーザ名 Account Flags: に L が追加される [U] -> [UL]
※ フラグ一覧 D: 無効 L: ロックアウト U: 通常ユーザ(pdbeditで変更不可) N: パスワードなし

パスワード変更にはログオンが必要か否かの設定

#pdbedit -P "user must logon to change password" account policy value for user must logon to change password is 0 # 設定値 0:無効 1: 2: 3:
   
先頭へ
      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google