ユーザとグループについて
Sambaでの、UNIXのユーザ・グループとWindowsのユーザ・グループを管理する機能の概要について。
Sambaのユーザ概念
SambaではSambaユーザという独自のユーザを作成し、そのパスワードも設定します。 さらに、SambaサーバがUNIX系(Linuxも含む)の場合はUNIX(Linux)のログインユーザ名とパスワードが必要になります。
つまり、Sambaユーザには必ず対応するUNIX(Linux)ユーザが存在し、ログイン認証後にUNIX(Linux)ユーザとの対応付けが行われます。
また、コンピュータ名も必要となりますので、SambaユーザとUNIX(Linux)ユーザに登録します。 自動登録などの仕組みは別途必要です。
UNIX(Linux)ユーザの作成
useraddコマンドなどで、Windowsユーザ名と同じ名前をUNIX(Linux)ユーザにパスワード付きで登録
useraddコマンドなどで、Windowsのコンピュータ名(名前の最後に$を付ける)と同じ名前をUNIX(Linux)ユーザにパスワード付き登録
Sambaユーザの作成
ユーザ名とマシン名(最後に$を付ける)ともにpdbeditコマンドもしくはsmbpasswdコマンドを使います。
追加 pbdedit -a <Sambaユーザ名> 削除 pbdedit -x <Sambaユーザ名> 表示 pbdedit -Lw
Sambaグループの作成、修正、削除、参照
Sambaユーザと同じようにUNIX(Linux)グループに対応するSambaグループを作成します。SambaグループはWindowsサーバに存在するローカルグループとして機能します。一般的に、マイクロソフトのWindowsドメインではない環境(ワークグループでのネットワーク運用)では、Sambaグループと言います。
Sambaグループの作成(既存UNIXグループに対応するローカルグループを作成する場合)
net groupmap add unixgroup=UNIXグループ名 type=local ntgroup=Sambaグループ名 [ comment="<コメント文字>"]
Sambagグループの修正
net groupmap modify unixgroup=UNIXグループ名 type=local ntgroup=Sambaグループ名 [ comment="<コメント文字>"]
Sambaグループの削除
net groupmap delete ntgroup=<Sambaグループ名>
Sambaグループの参照
net groupmap list
Sambaグループの作成(ローカルグループに対応するUNIXグループの定義をWinbind内で保持する場合)
net sam createlocalgroup <ローカルグループ名=UNIXグループ名>
Sambaユーザ、グループの参照(ローカルグループに対応するUNIXグループの定義をWinbind内で保持する場合)
net sam list groups
net sam list users
グループ名の指定
smb.conf にて valid users = @group1 +groiup2 という表現 @、+ でグループ名を指定
Sambaでドメインを構築する場合
グローバルグループとローカルグループ
グローバルグループの初期設定(NTドメインの標準グローバルグループを作成)
groupadd domadmin groupadd domuser gtoupadd domguest
net groupmap add rid=512 ntgroup="Domain Admin" unixgroup=domadmin type=domain
net groupmap add rid=513 ntgroup="Domain Users" unixgroup=domuser type=domain
net groupmap add rid=514 ntgroup="Domain Guests" unixgroup=domguest type=domain
ユーザの権利 (重要な SeAddUsersPrivilege と SeMachineAccountPrivilege を設定)
net sam rights grant <Sambaユーザ / グループ > <ユーザの権利> -U <管理ユーザ>
net sam rights grant administrator SeMachineAccountPrivilege
net sam rights grant administrator SeTakeOwnershipPrivilege
net sam rights grant administrator SeBackupPrivilege
net sam rights grant administrator SeRestorePrivilege
net sam rights grant administrator SeRemoteShutdownPrivilege
net sam rights grant administrator SePrintOperatorPrivilege
net sam rights grant administrator SeAddUsersPrivilege
net sam rights grant administrator SeDiskOperatorPrivilege
Winbindについて
WinbindはWindowsドメインに参加しているSambaサーバ上で、Windowsドメインのユーザ情報に基づいてUNIX(Linux)ユーザの情報を自動的に生成し、NSS(Name Servcie Switch)機能を経由してUNIX(Linux)ユーザの情報を提供するプログラムです。
Winbindを実行させるにはNSS(Name Server Switch)機構が必要となり、サーバのプラットフォームごとに設定方法が異なります。
CentOS5、CentOS6の場合 次のコマンド実行で自動設定されます。 authconfig --enablewinbind --update
Winbindの起動 service winbind restart
Winbindの動作確認 wbinfo -t wbinfo -u wbinfo -g
PAMによるSamba以外のプログラムとの認証統合
pam_winbind のインストールと設定は、CentOSの場合 authconfig --enablewinbindauth --update
無効にする場合は authconfig --disablewinbindauth
動作検証は、WindowsドメインのユーザでSSHでSambaサーバへログインします。 ssh -l Windowsユーザ Sambaサーバ