Sambaドメイン

提供:Samba-JP
ナビゲーションに移動検索に移動

ドメインの管理

Windowsマシンのドメイン参加

各種 Windows プラットフォームのマシンが Samba ドメインに参加できることを確認する。

Windows 7 Professional についても、レジストリを変更することで、Samba ドメインに参加できることを確認する。

関連パラメータなど

  • workgroup = SAMBADOM 行
  • domain logons = yes 行
  • LDAP関連パラメータほか

確認手順

1. レジストリの編集(Windows 7 / Windows Server 2008 R2以降のみ)
ドメインに参加させるWindowsマシンがWindows 7もしくはWindows Server 2008 R2以降の場合は、Windows 7からSambaドメインにログオンできない に従い、レジストリを変更する。
ドメインに参加させるWindowsマシンがWindows Server 2008の場合は、未確認
2. NetBIOS名の名前解決の確認
SambaサーバとWindowsマシンが同一IPサブネットに存在していない場合は、WINSやLMHOSTSファイルを設定してNetBIOS名の名前解決を適切に行う。
3. Samba ドメインへの参加
NTドメインへの参加と同様にして、Sambaドメインに参加する。ドメイン参加の際のユーザ名とパスワードとして、administratorとsambaを用いる。
4. ドメインのユーザとしてログオン
再起動後、以下のユーザでSAMBADOMドメインにログオン可能なことを確認する
Administrator
パスワード samba
ldap01
パスワードldap01
注意: ldap01ユーザは一般ユーザのため、サーバOSの場合は、事前に該当ユーザにローカルログオン権限を付与しておく必要がある。

参照

NTドメインの管理ツールのインストールと実行

Windows マシンから NTドメインの管理ツールである「ドメイン ユーザー マネージャ」および「サーバー マネージャ」でアクセスできることを確認する。

関連パラメータなど

  • 特になし

確認手順

1. NTドメインの管理ツールの入手
Windows NT Workstation 4.0 用の Windows NT サーバー ツール より、あらかじめ管理ツールのアーカイブファイル srvtools.exe を入手の上、適宜展開する
MS-DOS 形式の自己展開ファイルとなっているが、ファイルの拡張子を zip に変更することで、普通の zip 形式の圧縮ファイルとして扱うことも可能
2. 管理ユーザとしてログオン
ドメインに参加している Windows マシンに Administrator などの管理ユーザとしてログオンする。
ドメイン外のマシンから、\\sambapdc\IPC$ 共有に SAMBADOM\Administrator としてアクセスすることで、要件を満たすことなども可能。
管理ツールは Windows XP もしくは Windows Server 2003 R2 以前のプラットフォームでしか起動しないので、当該プラットフォームの Windows マシンにログオンする必要がある。
3. ドメイン ユーザー マネージャの起動
展開した管理ツール内にある usrmgr.exe を起動する。
一般ユーザとしてログオンした上で、「別のユーザーとして実行」メニューから SAMBADOM\Administrator 権限で usrmgr.exe を起動するなどの方法を取ることも可能
4. サーバー マネージャの起動
展開した管理ツール内にある srvmgr.exe を起動する。
一般ユーザとしてログオンした上で、「別のユーザーとして実行」メニューから SAMBADOM\Administrator 権限で srvmgr.exe を起動するなどの方法を取ることも可能

補足

  • フォントが見づらい場合は、各ツールの「Options」-「Fonts」メニューから「MS ゴシック」などの非プロポーショナルフォントに変更する。
  • Windows NT Workstation 4.0 用の Windows NT サーバー ツールへのリンクファイルが shared 共有直下にあるので、これを用いてアクセスすることもできる。要リンク設置

参照

アカウントポリシー

確認手順

  • 基本的に NT ドメインと同様の手順で確認可能
  • pdbedit コマンドにより、Samba サーバ上で設定を行うことも可能

参照

信頼関係

確認手順

  • Samba ドメイン検証環境では検証できない
  • 基本的に NT ドメインと同様の手順で確認可能
  • 各種コマンドにより、Samba サーバ上で設定を行うことも可能

参照

Samba ユーザの管理

ユーザの追加

ユーザの追加方法を確認する。

関連パラメータなど

  • LDAP関連パラメータ

確認手順1(GUI)

現在のユーザ一覧の確認
usrmgr.exe を起動し、これから追加しようとしているユーザ名のユーザが存在していないことを確認する。
ユーザ追加
  • 1. usrmgr.exe のメニューで「User」-「New User」とたどり、表示された画面で Username 欄に任意のユーザ名を指定する。
必要に応じて、適宜 Password欄や他の欄も設定する。なお、Username 欄以外をまったく変更しなかった場合、ユーザのパスワードは空となり、初回ログオン時にパスワード変更を要求される。
  • 2. 「Add」を押す。
  • 3. 「Close」を押す。
追加されたユーザの確認
改めて usrmgr.exe の画面を確認し、追加したユーザ名のユーザがユーザ一覧に表示されていることを確認する。

確認手順2(CUI)

現在のユーザ一覧の確認
pdbedit -L コマンドを実行し、これから追加しようとしているユーザ名のユーザが存在していないことを確認する。
ユーザ追加
pdbedit -a username を実行する。
ldapsam:editposix 環境では、事前に UNIX ユーザを LDAP 上に作成しておく必要はない。
追加されたユーザの確認
改めて pdbedit -L コマンドを実行し、追加したユーザ名のユーザが表示されていることを確認する。

参照

ユーザの削除

ユーザの削除方法を確認する。

関連パラメータなど

  • LDAP関連パラメータ
  • ldap delete dn パラメータ

確認手順1(GUI)

現在のユーザ一覧の確認
usrmgr.exe を起動し、これから削除しようとしているユーザ名のユーザが存在していることを確認する。
ユーザ削除
  • 1. usrmgr.exe のユーザ一覧画面で削除したいユーザをフォーカスし、「DEL」キーを押下する
  • 2. 警告画面で「OK」を押す。最終確認画面でも「はい」を押す。
ldap delete dn パラメータにより、LDAP 上に格納されている、Samba ユーザに対応する UNIX ユーザの DN も削除される。
ユーザ削除の確認
改めて usrmgr.exe の画面を確認し、削除したユーザ名のユーザがユーザ一覧に表示されていないことを確認する。

確認手順2(CUI)

現在のユーザ一覧の確認
pdbedit -L コマンドを実行し、これから削除しようとしているユーザ名のユーザが存在していることを確認する。
ユーザ削除
pdbedit -x username もしくは smbpasswd -x username を実行する。
ldap delete dn パラメータにより、LDAP 上に格納されている、Samba ユーザに対応する UNIX ユーザの DN も削除される。
ユーザ削除の確認
改めて pdbedit -L コマンドを実行し、削除したユーザ名のユーザがユーザ一覧に表示されていないことを確認する。

補足

  • CUI で作成したユーザを GUI で削除したり、その逆を行ったりしても構わない。

参照

パスワードの変更と複雑なパスワードの強制

一般ユーザがパスワードを変更する際に、複雑なパスワードを強制する機構について確認する。

関連パラメータなど

  • LDAP関連パラメータ
  • check password script パラメータ

確認手順

パスワードの変更
以下のいずれかの方法でパスワードを変更する
  • 1. 「ようこそ画面」を用いない設定の Windows マシンにログオン後、Ctrl + Alt + Del を押下すると表示される画面から、「パスワードの変更」をクリックし、パスワードの変更を行う
現在ログオンしているユーザ以外のユーザも含め、任意のユーザのパスワードを変更できる。
このほか、ADSI による変更など、Windows で可能な様々な方法を用いたパスワード変更が可能。
  • 2. Samba サーバに一般ユーザとしてログオンし、smbpasswd コマンドを用いて、自身のパスワードを変更する
オプションを指定することで、Windows マシンを含む任意のサーバの任意のユーザのパスワード変更が可能。
パスワード変更の確認
パスワードが変更されたユーザでログオン中の場合は一旦ログオフし、再度該当のユーザとしてログオンする。
変更前のパスワードではログオンできず、変更後のパスワードでログオンできることを確認する。
複雑なパスワードの強制を有効化する
  • 1. [global] セクション内の、以下の設定のコメントをはずす
# forcibly apply complex password
; check password script =  /usr/local/sbin/crackcheck -c -s
  • 2. Samba サーバを再起動する、もしくは smbcontrol smbd reload-config コマンドなどで、変更を反映させる
複雑なパスワードの強制の確認
再度パスワードを変更する。たとえば Windows マシンからアルファベット英小文字のみのパスワードを指定しようとしても、パスワードは要求された複雑さを満たさないというエラーとなり、変更できない。

補足

  • 最小パスワード長や、パスワードヒストリ等については、アカウントポリシーにより制御される。
  • 管理ユーザによるパスワード変更は、本制限の対象外となる(NTドメインと同様)。

参照

Windows ユーザと Samba ユーザとのマッピング

任意のユーザ名と Samba ユーザとのマッピングができることを確認する。

関連パラメータなど

  • username map = /etc/samba/smbusers
  • /etc/samba/smbusers ファイル

確認手順

  • Windows マシンから、以下のユーザ名でログオンする(パスワードはldap01)
    • LDAP01 user
    • 00000001
    • LDAPユーザー 01
  • いずれの場合も ldap01 としてログオンしていることを確認する
たとえば、コマンドプロンプトから net use コマンドを実行すると、ホームディレクトリが \\sambapdc\ldap01 になっていることがわかる。

補足

  • /etc/samba/smbusers ファイルを編集することで、上記以外のマッピングも行える。

参照

ユーザー属性一般

ユーザー権利

参照

移動プロファイル

参照

グローバルグループ

参照

ローカルグループ

UNIX ユーザの管理ほか

ホームディレクトリの設定および自動作成

ドメインの個々のユーザに対して、ホームディレクトリの設定(マウント先の共有、マウントするドライブ)が設定できることを確認する。

併せて新規ユーザーのログオン時にホームディレクトリが自動的に作成されることを確認する。

関連パラメータなど

  • logon home =
  • (logon drive)
  • root preexec = /usr/local/sbin/createhomedir %D %S
本来であれば、上記設定を行わずとも、PAM の設定によりホームディレクトリが自動作成されるはずだが、今回の環境で検証した限り、自動作成がうまくいかなかったため、暫定的に root preexec パラメータを用いて自動作成を行っている。
  • [homes] 共有
  • (template homedir)

確認手順

  • たとえば以下のようにして、 testuser という名前で、新規ユーザを作成する
# pdbedit -a testuser

GUIから作成しても構わない。

  • たとえば以下のようにして、ホームディレクトリを /home/SAMBADOM/testuser に設定し、H: ドライブにマウントするように設定する
# pdbedit -h \\\\sambapdc\\testuser -D h: testuser

GUIから設定しても構わない。なお、Samba サーバ上では、[homes] 共有により、testuser でログオンすると /home/SAMBADOM/testuser が \\sambapdc\testuser という名前で共有される。

  • たとえば以下のようにして、 testuser ディレクトリが存在しないことを確認する
root@sambapdc:/home/SAMBADOM# ls -l
total 8
drwx------ 2 ldap01 domusers 4096 Jul  8 21:21 ldap01
drwx------ 2 ldap02 domusers 4096 Jul  8 21:24 ldap02
  • Windows マシンから testuser でログオンする
  • 再び ls -l /home/SAMBADOM を実行し、以下のように testuser ディレクトリが作成されていることを確認する
root@sambapdc:/home/SAMBADOM# ls -l
total 12
drwx------ 2 ldap01   domusers 4096 Jul  8 21:21 ldap01
drwx------ 2 ldap02   domusers 4096 Jul  8 21:24 ldap02
drwx------ 2 testuser domusers 4096 Aug  6 19:31 testuser
  • Windows マシン上でコマンドプロンプトを起動し、先ほどホームディレクトリのマウント先として指定したドライブがカレントドライブとなっていることを確認する。
  • net use コマンドを実行し、カレントドライブがホームディレクトリとして指定した共有になっていることを確認する。
  • たとえば以下のようにして、何かファイルを書き込み、その内容が Samba サーバ上からも参照できることを確認する。
H:\> echo test1 > test1.txt
# cat ~testuser/test1.txt
test1

応用

  • logon home パラメータと logon drive パラメータにより、新規作成するユーザに設定するホームディレクトリの共有パスおよびマウント先のドライブ名を指定することができる。Samba PDC では、logon home ドライブを明示的に空文字に指定しているため、デフォルトでは、ホームディレクトリのマウントは行われない。