banner

[Rule] Rules  [Home] Main Forum  [Portal] Portal  
[Members] Member Listing  [Statistics] Statistics  [Search] Search  [Reading Room] Reading Room 
[Register] Register  
[Login] Loginhttp  | https  ]
 
Forum Index Thảo luận hệ điều hành *nix Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba  XML
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 17/12/2009 10:58:40 (+0700) | #1 | 201049
dawnblack2
Member

[Minus]    0    [Plus]
Joined: 28/03/2007 11:03:24
Messages: 32
Offline
[Profile] [PM]
Đây là bài viết hướng dẫn chi tiết cách xây dựng 1 AD trên linux (Ở đây là Centos)
Không biết có bài viết nào chưa, nếu có rồi thì xóa dùm em nha smilie
Đã làm qua và thành công 100% (nếu ai làm ko được là do ko đọc kỹ đó smilie)


Package dependencies
Make sure you've got those RHEL packages installed,

openldap-servers
nss_ldap
samba
httpd
mysql
mysql-server
php-ldap
php-mysql
php-pdo
php-cli
perl-DBI
perl-DBD-MySQL
perl-Convert-ASN1
perl-XML-NamespaceSupport
perl-XML-SAX
perl-Net-SSLeay
perl-IO-Socket-SSL
perl-LDAP
perl-Digest-SHA1
*Note. the "nss_ldap" package provides the PAM/LDAP library,
ll /lib/security/pam_ldap.so



Plus those few ones from EPEL (fedoraproject.org/wiki/EPEL),
perl-Crypt-SmbHash
perl-Digest-MD4
perl-Jcode
perl-Unicode-Map
perl-Unicode-Map8
perl-Unicode-MapUTF8
perl-Unicode-String

Network settings
Configure static look ups,
vi /etc/hosts
like,
127.0.0.1 localhost
IP HOSTNAME SHORT_HOSTNAME

OpenLDAP server
Add that schema,
cp /usr/share/doc/samba-3.0.25b/LDAP/samba.schema /etc/openldap/schema/

Configure the daemon,
mv -f /etc/openldap/slapd.conf /etc/openldap/slapd.conf.dist
cat > /etc/openldap/slapd.conf <<EOF9 && print " Done"
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


allow bind_v2
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args


database bdb
suffix "dc=example,dc=com"
rootdn "cn=admin,dc=example,dc=com"
rootpw LDAP_PASSWORD
# rootpw {crypt}ijFYNcSNctBYg
directory /var/lib/ldap


index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub
EOF9

*Note you could use a crypted password. Then add,
password-hash {CRYPT}

*Note you could add some Samba indexes,
index cn,sn,uid,displayName pres,sub,eq
index uidNumber,gidNumber eq
index sambaSID eq
index sambaPrimaryGroupSID eq
index sambaDomainName eq
index objectClass pres,eq
index default sub

*Note you could also add the TLS configuration later on.

Configure the database,
cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
chown ldap:ldap /var/lib/ldap/DB_CONFIG
chmod 600 /var/lib/ldap/DB_CONFIG

Start, check and stop the service,
service ldap start
ldapsearch -x -b '' -s base '(objectclass=*)' namingContexts # should return two lines
service ldap stop
slapcat # should return empty


Initialize the database,
cat > /etc/openldap/init.ldif <<EOF9 && print " Done"
dn: dc=example,dc=com
objectclass: dcObject
objectclass: organization
o: Ministere de la justice
dc: base


dn: cn=admin,dc=example,dc=com
objectclass: organizationalRole
cn: admin
EOF9
slapadd -l /etc/openldap/init.ldif && print " Done"
chown -R ldap:ldap /var/lib/ldap
chmod 600 /var/lib/ldap/*
slapcat # should return the two ldap entries

Start & check the service,
service ldap start
chkconfig ldap on
ldapsearch -x -b "dc=example,dc=com"

Phpldapadmin frontend (optional)
Prepare PHP,
mv -f /etc/php.ini /etc/php.ini.dist
sed 's/memory_limit = 16M/memory_limit = 32M/' /etc/php.ini.dist > /etc/php.ini

Fetch phpldapadmin (phpldapadmin.sourceforge.net) and untar it,
tar xzf phpldapadmin-1.1.0.5.tar.gz
mv phpldapadmin-1.1.0.5 /var/www/html/ldap
Note if this is a fresh OS install,
mv -f /etc/httpd/conf.d/welcome.conf /etc/httpd/conf.d/welcome.conf.dist


Configure the frontend,
vi /var/www/html/ldap/config/config.php
namely,
$config->custom->jpeg['tmpdir'] = "/tmp";

Start the http daemon,
service httpd start
chkconfig httpd on

Check the url and login,
IP/ldap


Samba Domain Controller
Configure the daemons,
mv /etc/samba/smb.conf /etc/samba/smb.conf.dist
cat /usr/share/doc/samba-3.0.25b/LDAP/smbldap-tools-0.9.2/smb.conf \
| sed '
/^$/d;
/^#/d;
/^[[:space:]]*#/d;
s|/opt/IDEALX/|/usr/local/|g;
s/cn=Manager/cn=admin/g;
s/dc=idealx,dc=org/dc=example,dc=com/g;
s/idealx.com/example.com/g;
s/IDEALX-NT/EXAMPLE/g;
s/PDC-SRV/SHORT_HOSTNAME/g;
s/Samba Server %v/Domain Controller/g
/min passwd length/d;
/printer admin/d;
' > /etc/samba/smb.conf && print " Done"


Edit the configuration,

vi /etc/samba/smb.conf
and add this at the end for user shares,
[homes]
comment = Home Directories
browseable = no
writable = yes
; valid users = %S
; valid users = MYDOMAIN\%S

Smbldap-tools connector
Prepare the scripts,
cp /usr/share/doc/samba-3.0.25b/LDAP/smbldap-tools-0.9.2/smbldap-* /usr/local/sbin/
cp /usr/share/doc/samba-3.0.25b/LDAP/smbldap-tools-0.9.2/smbldap_tools.pm /usr/local/sbin/
chmod +x /usr/local/sbin/smbldap*

Configure the connector,
cat /usr/share/doc/samba-3.0.25b/LDAP/smbldap-tools-0.9.2/smbldap.conf \
| sed '
/^$/d;
/^#/d;
/^[[:space:]]*#/d;
s|/opt/IDEALX/|/usr/local/|g;
s/cn=Manager/cn=admin/g;
s/dc=idealx,dc=org/dc=example,dc=com/g;
s/idealx.com/example.com/g;
s/IDEALX-NT/EXAMPLE/g;
s/PDC-SRV/SHORT_HOSTNAME/g;
s/ldapTLS="1"/ldapTLS="0"/;
/cafile/d;
/clientcert/d;
/clientkey/d;
' >> /etc/smbldap-tools/smbldap.conf && print " Done"

Get the Domaine Controller's SID,
net getlocalsid
and edit the configuration to change the SID,
vi /etc/smbldap-tools/smbldap.conf
like,
SID=_SID_

Configure the access information,
cat > /etc/smbldap-tools/smbldap_bind.conf <<EOF9 && print " Done"
masterDN="cn=admin,dc=example,dc=com"
masterPw="LDAP_PASSWD"
EOF9

Fix file permissions,
chmod 644 /etc/smbldap-tools/smbldap.conf
chmod 600 /etc/smbldap-tools/smbldap_bind.conf

Ready to go
Configure the UNIX users' LDAP magging,
authconfig-tui
Note. enable local authorize
Note. this configures those files for the least,
/etc/nsswitch.conf
/etc/pam.d/system-auth-ac
/etc/ldap.conf
/etc/openldap/ldap.conf


Check Samba's configuration,
testparm


Setup the master password,
smbpasswd -w LDAP_MASTER_PASSWORD


Populate the LDAP tree,
/usr/local/sbin/smbldap-populate


Add some user,
smbldap-useradd -a -G 'Domain Users' -m -s /bin/ksh -d /home/user2 -F "" -P user2
Note. other possible groups : "Administrators" and "Domain Admins"

Check,
getent passwd
getent group


Start the Domain Controller,
service smb start
chkconfig on
net groupmap list


Watch the logs,
tail -f /var/log/* &
tail -f /var/log/samba/* &


Join the "EXAMPLE" domain from a Windows box with those creditentials:
Login : root
Password : LDAP master password
>
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 17/12/2009 13:17:32 (+0700) | #2 | 201074
[Avatar]
tmd
Member

[Minus]    0    [Plus]
Joined: 28/06/2006 03:39:48
Messages: 2951
Offline
[Profile] [PM]
Nó còn một đoạn nữa nè bạn


Samba/LDAP configuration on RHEL5....

Samba/LDAP configuration on RHEL5 : pbraun.nethence.com/doc/net/samba-ldap.html
Samba configuration : pbraun.nethence.com/doc/net/samba.html
OpenLDAP configuration : pbraun.nethence.com/doc/databases/openldap.html
....
Usage
Create a group,
smbldap-groupadd -a GROUPNAME
getent group | grep GROUPNAME

Create a user,
smbldap-useradd -a -g GROUPNAME -G 'Domain Users' -m -s /bin/ksh -d /home/USERNAME -F '' -P USERNAME
getent passwd | grep USERNAME
Note. primary group 'GROUPNAME' and secondary group 'Domain Users'
Note. other possible groups : "Administrators" and "Domain Admins"

Check in the LDAP repository for USERNAME's primary group,
dn: uid=USERNAME,ou=Users,dc=example,dc=net
...
gidNumber: GID_NUMBER
and secondary groups (primary group is also referenced as secondary group in the LDAP repo),
dn: cn=GROUPNAME,ou=Groups,dc=example,dc=net
...
memberUid: USERNAME
also,
dn: cn=Domain Users,ou=Groups,dc=example,dc=net
...
memberUid: USERNAME


References
smbldap-tools documentation : /usr/share/doc/samba-3.0.25b/LDAP/smbldap-tools-0.9.2/INSTALL
Samba (v.3) PDC LDAP howto : www.unav.es/cti/ldap-smb/smb-ldap-3-howto.html
Redhat knowledge base : kbase.redhat.com/faq/
Additionnal links
Official guide : us3.samba.org/samba/docs/man/Samba-Guide/happy.html
Simple PDC : www.oregontechsupport.com/samba/samba-pdc.php
Ldap scripts alternative : ldapscripts.sourceforge.net/
+ contribs.martymac.com/sambaConfig/smb.conf
+ contribs.martymac.com/sambaConfig/base.ldif
Another alternative : sourceforge.net/projects/smb-scripts/
Fedora Directory : fdstools.wiki.sourceforge.net/
(FR) Guide on debian : www.coagul.org/spip.php?article625
(FR) Yet another debian guide : damstux.free.fr/wiki/index.php?title=PDC_Samba_et_LDAP 
3 giai đoạn của con... người, ban đầu dek biết gì thì phải thăm dò, sau đó biết rồi thì phải thân thiết, sau cùng khi quá thân thiết rồi thì phải tình thương mến thương. Nhưng mà không thương được thì ...
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 17/12/2009 13:45:05 (+0700) | #3 | 201081
dawnblack2
Member

[Minus]    0    [Plus]
Joined: 28/03/2007 11:03:24
Messages: 32
Offline
[Profile] [PM]
smilie Chủ yếu post lên cho mọi người tìm hiểu và xây dựng cho riêng mình một AD chạy trên Centos thôi. Mình cũng có nói trước là không biết có ai đã post trước không, nếu có thì mod xóa dùm em
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 17/12/2009 14:08:02 (+0700) | #4 | 201084
[Avatar]
demingcycle
Member

[Minus]    0    [Plus]
Joined: 13/01/2009 23:07:41
Messages: 36
Offline
[Profile] [PM]

dawnblack2 wrote:
smilie Chủ yếu post lên cho mọi người tìm hiểu và xây dựng cho riêng mình một AD chạy trên Centos thôi. Mình cũng có nói trước là không biết có ai đã post trước không, nếu có thì mod xóa dùm em  


Nếu bạn đã test và gửi lên đây cho anh em thì quá tốt. Cám ơn đã chia sẻ.
Liệu khi Con Người đến, lòng tin trên cuộc đời này có còn nữa không?
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 19/12/2009 19:32:32 (+0700) | #5 | 201331
dawnblack2
Member

[Minus]    0    [Plus]
Joined: 28/03/2007 11:03:24
Messages: 32
Offline
[Profile] [PM]
Còn ai muốn xây dựng hệ thống Domain trên Centos 1 cách hoàn chỉnh nhất với các cách thức bảo mật thì pm nick :maxximun87@yahoo.com
Mình gửi tài liệu tham khảo cho
Đã test và thành công smilie
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 27/12/2009 09:16:04 (+0700) | #6 | 201948
pindy
Member

[Minus]    0    [Plus]
Joined: 05/05/2008 02:57:18
Messages: 7
Offline
[Profile] [PM]
Bài viết hay quá. Anh có thể gửi tài liệu cho em được không? em đang tìm hiểu về cái này.

Y!m : khatvong1811@yahoo.com

Thanks !!!
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 27/12/2009 17:32:03 (+0700) | #7 | 201963
[Avatar]
demingcycle
Member

[Minus]    0    [Plus]
Joined: 13/01/2009 23:07:41
Messages: 36
Offline
[Profile] [PM]

dawnblack2 wrote:
Còn ai muốn xây dựng hệ thống Domain trên Centos 1 cách hoàn chỉnh nhất với các cách thức bảo mật thì pm nick :maxximun87@yahoo.com
Mình gửi tài liệu tham khảo cho
Đã test và thành công smilie 


Sao không post lên đây cho mọi người cùng tham khảo khi cần? Và mọi người cũng sẽ giúp bạn tối ưu việc cấu hình khi có thể?
Liệu khi Con Người đến, lòng tin trên cuộc đời này có còn nữa không?
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 27/12/2009 18:17:17 (+0700) | #8 | 201969
[Avatar]
Ky0
Moderator

Joined: 16/08/2009 23:09:08
Messages: 532
Offline
[Profile] [PM]

Hướng dẫn xây dựng AD trên Centos bằngLDAP/Samba
 


http://en.wikipedia.org/wiki/Active_Directory khác hoàn toàn http://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol.

Tại sao có dòng màu đỏ đó nhỉ? smilie

Thân!
UITNetwork.com
Let's Connect
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 28/12/2009 10:20:20 (+0700) | #9 | 202012
dawnblack2
Member

[Minus]    0    [Plus]
Joined: 28/03/2007 11:03:24
Messages: 32
Offline
[Profile] [PM]
Ông anh KyO này bắt lỗi dữ wá smilie
To demingcycle: nếu post được mình đã post lên rồi chứ giữ làm gì smilie với lại cái này mình làm cách đây 4 tháng rồi và hiện tại không còn đụng tới nó nữa vì đang dính tới vụ xây dựng hệ thống moodle ở chổ làm.
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 05/10/2010 15:45:05 (+0700) | #10 | 222173
goldarrow
Member

[Minus]    0    [Plus]
Joined: 18/08/2009 02:48:40
Messages: 19
Offline
[Profile] [PM]
Cho mình hỏi là mình đã cấu hình AD trên Centos và join 1 máy windows XP vào domain thành công. Login vào máy win xp bình thường nhưng không thể đổi password được.
Có ai bị vấn đề này chưa và sửa chổ nào trong ldap hay samba ?

[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 05/10/2010 22:03:14 (+0700) | #11 | 222192
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Bạn thử thêm vào file cấu hình của Samba mấy dòng này xem:

unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully* 
Let's build on a great foundation!
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 06/10/2010 08:25:40 (+0700) | #12 | 222212
goldarrow
Member

[Minus]    0    [Plus]
Joined: 18/08/2009 02:48:40
Messages: 19
Offline
[Profile] [PM]
Mình cũng thử add máy dòng đó vào congig của smb.conf rồi và restart lại cả smb và ldap luôn vẫn không tác dụng

Trong log smbd.log có dòng

[2010/10/06 15:42:48, 0] lib/util_sock.c:read_socket_with_timeout(497)
read_socket_with_timeout: timeout read. read error = Input/output error.
[2010/10/06 15:42:48, 0] lib/util_sock.c:read_socket_with_timeout(497)
read_socket_with_timeout: timeout read. read error = Input/output error.
[2010/10/06 15:42:48, 0] lib/util_sock.c:read_socket_with_timeout(497)
read_socket_with_timeout: timeout read. read error = Input/output error.
[2010/10/06 15:42:48, 0] lib/util_sock.c:read_socket_with_timeout(497)
read_socket_with_timeout: timeout read. read error = Input/output error.

nhưng tìm hoài chưa thấy cách fix lỗi này

[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 06/10/2010 08:36:46 (+0700) | #13 | 222213
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Bạn thảy lên toàn bộ các files cấu hình liên quan xem.
Let's build on a great foundation!
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 06/10/2010 08:51:25 (+0700) | #14 | 222214
goldarrow
Member

[Minus]    0    [Plus]
Joined: 18/08/2009 02:48:40
Messages: 19
Offline
[Profile] [PM]
Toàn bộ cấu hình bên dưới đây, mong các sư huynh giúp

Cấu hình smb.conf

[global]
workgroup = LDAPGROUP
netbios name = LDAPSERVER
security=user
domain master = yes
domain logons = yes
ldap suffix = dc=myldap,dc=org
ldap admin dn = cn=root,dc=myldap,dc=org
passdb backend = ldapsam:ldap://ldapserver.myldap.org/
ldap user suffix = ou=Users
ldap group suffix = ou=Groups
ldap machine suffix = ou=Machines
ldap passwd sync = Yes
unix password sync = yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *passwd:*all*authentication*tokens*updated*successfully*
add user script = /usr/sbin/smbldap-useradd -m "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -t 0 -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g .%g' .%u'

[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
admin users = Administrator
valid users = %U
read only = no
guest ok = yes
writable = no
share modes = no

[profiles]
path=/home/samba/profiles
read only=no
writeable=yes
guest ok=yes
create mask = 0600
create directory = 0700

[homes]
browseable=no
writeable=yes
guest ok=no

Cầu hình smbldap.conf

sambaDomain="myldap"
masterLDAP="ldapserver.myldap.org"
masterPort="389"





[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 06/10/2010 09:37:31 (+0700) | #15 | 222217
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
slapd.conf có không bạn?
Let's build on a great foundation!
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 06/10/2010 09:47:08 (+0700) | #16 | 222218
goldarrow
Member

[Minus]    0    [Plus]
Joined: 18/08/2009 02:48:40
Messages: 19
Offline
[Profile] [PM]
Cấu hình 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

pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args

database bdb
suffix "dc=myldap,dc=org"
rootdn "cn=root,dc=myldap,dc=org"

rootpw {crypt}ijFYNcSNctBYg


directory /var/lib/ldap/myldap.org
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 06/10/2010 10:13:15 (+0700) | #17 | 222220
[Avatar]
quanta
Moderator

Joined: 28/07/2006 14:44:21
Messages: 7265
Location: $ locate `whoami`
Offline
[Profile] [PM]
Mình nghĩ bạn cần cấu hình ACL trong OpenLDAP nữa: http://www.samba.org/samba/docs/man/Samba-Guide/ntmigration.html#id2602152
Let's build on a great foundation!
[Up] [Print Copy]
  [Article]   Hướng dẫn xây dựng AD trên Centos bằng LDAP/Samba 06/10/2010 11:04:23 (+0700) | #18 | 222223
[Avatar]
tranhuuphuoc
Moderator

Joined: 05/09/2004 06:08:09
Messages: 865
Location: Lầu Xanh
Offline
[Profile] [PM] [WWW]
Thử thêm đoạn sau trong sldap.conf
access to attrs=userPassword,sambaLMPassword,sambaNTPassword,shadowLastChange
by dn.children=”ou=nix,dc=tranhuuphuoc,dc=hva” write
by self write
by anonymous auth
by * none
access to *
by dn.children=”ou=nix,dc=tranhuuphuoc,dc=hva” write
by * read 


Thay đổi ou, dc,... cho phù hợp

Good luck
[Up] [Print Copy]
[digg] [delicious] [google] [yahoo] [technorati] [reddit] [stumbleupon]
Go to: 
 Users currently in here 
1 Anonymous

Powered by JForum - Extended by HVAOnline
 hvaonline.net  |  hvaforum.net  |  hvazone.net  |  hvanews.net  |  vnhacker.org
1999 - 2013 © v2012|0504|218|