CentOS 5
Sponsored Link

Samba PDC#1 - サーバーの設定2015/01/19

Samba + OpenLDAP で Samba PDC (プライマリドメインコントローラ)を構築します。 LAN内にLDAPサーバー構築済み、且つ、 この Samba PDC にするサーバーはLDAPクライアントである必要があります。
[1] まずはOpenLDAPの設定を変更しておきます。
[root@dir ~]#
yum -y install samba
[root@dir ~]#
cp /usr/share/doc/samba-*/LDAP/samba.schema /etc/openldap/schema/

[root@dir ~]#
vi /etc/openldap/slapd.conf
include         /etc/openldap/schema/core.schema
include         /etc/openldap/schema/cosine.schema
include         /etc/openldap/schema/inetorgperson.schema
include         /etc/openldap/schema/nis.schema
# 追記

include         /etc/openldap/schema/samba.schema

# 追記

access to attrs=userPassword,

    by self write
    by dn="cn=Manager,dc=server,dc=world" write
    by anonymous auth
    by * none

[root@dir ~]#
/etc/rc.d/init.d/ldap restart

Stopping slapd: [ OK ]
Checking configuration files for slapd: /etc/openldap/slapd.conf: line 119: rootdn is always granted unlimited privileges.
/etc/openldap/slapd.conf: line 124: rootdn is always granted unlimited privileges.
config file testing succeeded
[ OK ]
Starting slapd: [ OK ]
[2] smbldap-tools をインストールし、Sambaを設定変更してLDAP認証にします。
[root@lan ~]#
yum --enablerepo=epel -y install smbldap-tools
# EPELからインストール
[root@lan ~]#
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

[root@lan ~]#
cp /usr/share/doc/smbldap-tools-*/smb.conf /etc/samba/smb.conf

[root@lan ~]#
vi /etc/samba/smb.conf
# 3行目:workgroup名を任意のものに変更

workgroup =
# 12行目:コメント化

min passwd length = 3
# 22行目:変更

ldap passwd sync =
# 33,34行目:変更

Dos charset =

Unix charset =
# 47行目:LDAPサーバーのURI指定

passdb backend = ldapsam:
# 48行目:LDAP管理者DN変更 (LDAPサーバーで指定したもの)

ldap admin dn = cn=Manager,
# 50行目:LDAP suffix 変更 (LDAPサーバーで指定したもの)

ldap suffix =

ldap group suffix = ou=

ldap user suffix = ou=
# 60行目:コメント解除

delete group script = /usr/sbin/smbldap-groupdel "%g"
# 64行目あたりに追記:管理者ユーザー指定

set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
admin users = admin
[root@lan ~]#
mkdir /home/netlogon

[root@lan ~]#
/etc/rc.d/init.d/smb restart

Shutting down SMB services:
[ OK ]

Shutting down NMB services:
[ OK ]

Starting SMB services:
[ OK ]

Starting NMB services:
[ OK ]
[root@lan ~]#
# LDAP管理者パスワードをSambaに登録

Setting stored password for "cn=Manager,dc=server,dc=world" in secrets.tdb
New SMB password:
Retype new SMB password:
[root@lan ~]#
perl /usr/share/doc/smbldap-tools-*/configure.pl

       smbldap-tools script configuration
Before starting, check
 . if your samba controller is up and running.
 . if the domain SID is defined (you can get it with the 'net getlocalsid')

 . you can leave the configuration using the Ctrl-c key combination
 . empty value can be set with the "." character
Looking for configuration files...

Samba Configuration File Path [/etc/samba/smb.conf] >
# 空Enter
The default directory in which the smbldap configuration files are stored is shown.
If you need to change this, enter the full directory path, then press enter to continue.
Smbldap-tools Configuration Directory Path [/etc/smbldap-tools/] >  
# 空Enter

Let's start configuring the smbldap-tools scripts ...
. workgroup name: name of the domain Samba acts as a PDC for
workgroup name [ServerWorld] >
# 空Enter

. netbios name: netbios name of the samba controler
netbios name [PDC-SRV] >
# 空Enter

. logon drive: local path to which the home directory will be connected (for NT Workstations). Ex: 'H:'
logon drive [H:] >
# 空Enter

. logon home: home directory location (for Win95/98 or NT Workstation).
(use %U as username) Ex:'\\PDC-SRV\%U'
logon home (press the "." character if you don't want homeDirectory) [\\PDC-SRV\%U] >
# ピリオド入力

. logon path: directory where roaming profiles are stored. Ex:'\\PDC-SRV\profiles\%U'
logon path (press the "." character if you don't want roaming profile) [\\PDC-SRV\profiles\%U] >
# ピリオド入力

. home directory prefix (use %U as username) [/home/%U] >
# 空Enter

. default users' homeDirectory mode [700] >
# 空Enter

. default user netlogon script (use %U as username) [logon.bat] >  
# 空Enter

default password validation time (time in days) [45] >
# 空Enter

. ldap suffix [dc=server,dc=world] >
# 空Enter

. ldap group suffix [ou=Group] >
# 空Enter

. ldap user suffix [ou=People] >
# 空Enter

. ldap machine suffix [ou=Computers] >
# 空Enter

. Idmap suffix [ou=Idmap] >
# 空Enter

. sambaUnixIdPooldn: object where you want to store the next uidNumber
and gidNumber available for new users and groups
sambaUnixIdPooldn object (relative to ${suffix}) [sambaDomainName=ServerWorld] >  
# 空Enter

. ldap master server: IP adress or DNS name of the master (writable) ldap server
ldap master server [] >
# LDAPサーバーのIPを確認してEnter

. ldap master port [389] >
# 空Enter

. ldap master bind dn [cn=Manager,dc=server,dc=world] >  
# 空Enter

. ldap master bind password [] >
# LDAP管理者パスワード

. ldap slave server: IP adress or DNS name of the slave ldap server: can also be the master one
ldap slave server [] >
# LDAPスレーブがあれば指定(なければ空Enter)

. ldap slave port [389] >
# 空Enter

. ldap slave bind dn [cn=Manager,dc=server,dc=world] >
# 空Enter

. ldap slave bind password [] >
# スレーブがあれば入力(なければテキトーに)

. ldap tls support (1/0) [0] >
# 空Enter

. SID for domain SERVERWORLD: SID of the domain (can be obtained with 'net getlocalsid PDC-SRV')
SID for domain SERVERWORLD [S-1-5-21-3178205627-4140913089-3601047624] >  
# 空Enter

. unix password encryption: encryption used for unix passwords
unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA) [SSHA] >
# MD5指定

. default user gidNumber [513] >
# 空Enter

. default computer gidNumber [515] >
# 空Enter

. default login shell [/bin/bash] >
# 空Enter

. default skeleton directory [/etc/skel] >
# 空Enter

. default domain name to append to mail adress [] >
# 空Enter

backup old configuration files:
writing new configuration file:
  /etc/smbldap-tools/smbldap.conf done.
  /etc/smbldap-tools/smbldap_bind.conf done.

[root@lan ~]#

Populating LDAP directory for domain ServerWorld (S-1-5-21-3178205627-4140913089-3601047624)
(using builtin directory structure)

entry dc=server,dc=world already exist.
entry ou=People,dc=server,dc=world already exist.
entry ou=Group,dc=server,dc=world already exist.
adding new entry: ou=Computers,dc=server,dc=world
adding new entry: ou=Idmap,dc=server,dc=world
adding new entry: uid=root,ou=People,dc=server,dc=world
adding new entry: uid=nobody,ou=People,dc=server,dc=world
adding new entry: cn=Domain Admins,ou=Group,dc=server,dc=world
adding new entry: cn=Domain Users,ou=Group,dc=server,dc=world
adding new entry: cn=Domain Guests,ou=Group,dc=server,dc=world
adding new entry: cn=Domain Computers,ou=Group,dc=server,dc=world
adding new entry: cn=Administrators,ou=Group,dc=server,dc=world
adding new entry: cn=Account Operators,ou=Group,dc=server,dc=world
adding new entry: cn=Print Operators,ou=Group,dc=server,dc=world
adding new entry: cn=Backup Operators,ou=Group,dc=server,dc=world
adding new entry: cn=Replicators,ou=Group,dc=server,dc=world
entry sambaDomainName=ServerWorld,dc=server,dc=world already exist. Updating it...

Please provide a password for the domain root:
Changing UNIX and samba passwords for root
New password:
# rootパスワード再設定

Retype new password:
# 管理者ユーザーとして設定したadminを登録

[root@lan ~]#
smbldap-groupadd -a admin

[root@lan ~]#
smbldap-useradd -am -g admin admin

[root@lan ~]#
smbldap-passwd admin

Changing UNIX and samba passwords for admin
New password:
Retype new password:
[root@lan ~]#
su - admin
# 登録したユーザーになれるか確認

[admin@lan ~]$
# できた