概要
sambaを使用してWindowsのドメインコントローラを構築します。 CentOSに同梱されているsambaのパッケージはバージョン3のため Windows NT時代のNTドメインの構築となります (sambaバージョン4ではActive Directoryをサポートしているとのこと)。
大まかな環境としては移動プロファイルをサポートし、 どのPCからログインしても同じデスクトップ環境を提供できるようにします。
インストール
Sambaサーバに必要なパッケージを2つインストールします。
DVDドライブにCentOS 5のDVD-ROMをセットし、以下のコマンドを実行します。
# mount /dev/cdrom /media/cdrom
# cd /media/cdrom/CentOS/
# rpm -ihv samba-common-3.0.23c-2.i386.rpm
Preparing... ########################################### [100%]
1:samba-common ########################################### [100%]
# rpm -ihv samba-3.0.23c-2.i386.rpm
Preparing... ########################################### [100%]
1:samba ########################################### [100%]
# cd /
# umount /media/cdrom
# cd /media/cdrom/CentOS/
# rpm -ihv samba-common-3.0.23c-2.i386.rpm
Preparing... ########################################### [100%]
1:samba-common ########################################### [100%]
# rpm -ihv samba-3.0.23c-2.i386.rpm
Preparing... ########################################### [100%]
1:samba ########################################### [100%]
# cd /
# umount /media/cdrom
sambaの設定
初期状態で設定ファイルが存在しますが、
コメントや不要な設定項目が多く見通しが悪いので、
新規に設定ファイルを作成します。
元々存在していた設定ファイルは事前にバックアップしておきます。
# cd /etc/samba/
# mv smb.conf smb.conf.bk
# touch smb.conf
# vi smb.conf
# mv smb.conf smb.conf.bk
# touch smb.conf
# vi smb.conf
ファイル名: /etc/samba/smb.conf
[global]
workgroup = DOMAIN
server string = Samba Domain Controler
security = user
hosts allow = 192.168.0.
max log size = 50
passdb backend = tdbsam
local master = yes
os level = 65
domain master = yes
preferred master = yes
domain logons = yes
logon script = logon.bat
logon path = \\%L\profiles\%U
wins support = yes
add user script = /usr/sbin/useradd %u
add group script = /usr/sbin/groupadd %g
add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
delete user script = /usr/sbin/userdel %u
delete user from group script = /usr/sbin/deluser %u %g
delete group script = /usr/sbin/groupdel %g
netbios name = PDC
unix charset = UTF-8
dos charset = CP932
display charset = UTF-8
admin users = administrator
encrypt passwords = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
[netlogon]
comment = Network Logon Service
path = /usr/local/samba/lib/netlogon
guest ok = yes
writable = no
share modes = no
[profiles]
path = /usr/local/samba/profiles
browseable = no
guest ok = yes
writable = yes
profile acls = yes
create mask = 0600
directory mask = 0700
workgroup = DOMAIN
server string = Samba Domain Controler
security = user
hosts allow = 192.168.0.
max log size = 50
passdb backend = tdbsam
local master = yes
os level = 65
domain master = yes
preferred master = yes
domain logons = yes
logon script = logon.bat
logon path = \\%L\profiles\%U
wins support = yes
add user script = /usr/sbin/useradd %u
add group script = /usr/sbin/groupadd %g
add machine script = /usr/sbin/adduser -n -g machines -c Machine -d /dev/null -s /bin/false %u
delete user script = /usr/sbin/userdel %u
delete user from group script = /usr/sbin/deluser %u %g
delete group script = /usr/sbin/groupdel %g
netbios name = PDC
unix charset = UTF-8
dos charset = CP932
display charset = UTF-8
admin users = administrator
encrypt passwords = yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
[netlogon]
comment = Network Logon Service
path = /usr/local/samba/lib/netlogon
guest ok = yes
writable = no
share modes = no
[profiles]
path = /usr/local/samba/profiles
browseable = no
guest ok = yes
writable = yes
profile acls = yes
create mask = 0600
directory mask = 0700
公開ディレクトリの作成
設定ファイル内でも指定している公開用ディレクトリを作成します。 profilesディレクトリは一般ユーザ(個人ユーザ)の権限でも 書き込みを行いますので、パーミッションを変更します。
# cd /usr/local/
# mkdir -p ./samba/lib/netlogon
# mkdir -p ./samba/profiles
# chmod 777 ./profiles
# mkdir -p ./samba/lib/netlogon
# mkdir -p ./samba/profiles
# chmod 777 ./profiles
ユーザ・グループの作成
OS上のグループを作成します。 管理者用と一般ユーザ用の2つを作成します。
# groupadd admins
# groupadd users
# groupadd users
マシンアカウントを作成します。
# useradd -g users -s /bin/false pcd001$
# passwd pcd001$
# pdbedit -a -m pcd001$
# passwd pcd001$
# pdbedit -a -m pcd001$
管理者ユーザアカウントを作成します。
# useradd -g admins -s /bin/false administrator
# passwd administrator
# pdbedit -a -u administrator
# passwd administrator
# pdbedit -a -u administrator
一般ユーザアカウントを2名分作成します。
# useradd -g users -s /bin/false user1
# passwd user1
# pdbedit -a -u user1
# useradd -g users -s /bin/false user2
# passwd user2
# pdbedit -a -u user2
# passwd user1
# pdbedit -a -u user1
# useradd -g users -s /bin/false user2
# passwd user2
# pdbedit -a -u user2
WindowsのグローバルグループとOS上のグループを関連付けます。
# net groupmap modify NTgroup="Domain Admins" UNIXgroup="admins"
# net groupmap add NTgroup="Domain Users" UNIXgroup="users"
# net groupmap add NTgroup="Domain Users" UNIXgroup="users"
Sambaの起動ランレベル変更
OSの起動に併せてデーモンを自動起動する設定に変更します。
# chkconfig smb on
sambaの起動
以上で設定が終了しましたのでrcスクリプトを使用してsambaを起動します。
# /etc/rc.d/init.d/smb start
Starting SMB Services: [ OK ]
Starting NMB Services: [ OK ]
Starting SMB Services: [ OK ]
Starting NMB Services: [ OK ]



