PDA

View Full Version : Cài đặt và cấu hình PDC Ubuntu - Join Client XP vào domain Ubuntu



lelongt1k4
26-04-2010, 04:25 PM
Yêu cầu hệ thống

Chúng ta sử dụng 02 máy tính với thông tin như sau:
• Máy tính Ubuntu server:
o Địa chỉ IP: 192.168.1.123
o Gateway: 192.168.1.1
o Tên máy: lelong

• Máy tính Windows XP client:
o Địa chỉ IP: 192.168.1.111
o DNS server: 192.168.1.123
o Gateway: 192.168.1.1



3. Cấu hình hệ thống

3.1. Cấu hình ubuntu-server

Trên máy ubuntu-server, chúng ta thực hiện:
• Cài đặt và cấu hình một số phần mềm cần thiết

o DNS server: Domain name: tk4.pro (đã cấu hình ở phần trước)
o Cài đặt OpenSSH (Gói này cho phép bạn login vào máy Server từ các máy khác dùng giao thức SSH)
o Cài phần mềm PuTTY (phần mềm login vào Ubuntu server từ máy Windows)
Các bước thực hiện lần lượt như sau:
Update APT

apt-get update
Chúng ta sẽ tạo ra hai thư mục. Tuy nhiên, chú ý ở đây, thư mục / ldaphome phải được tạo ra, không được bỏ qua. Thư mục / ldap_data thư mục là tùy chọn tùy thuộc vào cách bạn muốn cài đặt và cấu hình OpenLDAP.

mkdir /ldaphome
mkdir /ldap_data
Tiếp theo cài đặt các gói

apt-get install mdadm
apt-get install slapd ldap-utils migrationtools
Sau khi cài đặt hệ thống sẽ yêu cầu mật khẩu để quản trị (mật khẩu là tùy chọn, ở đây tôi chọn 123)
Admin password: 123
Confirm password: 123


Bây giờ chúng ta cần cấu hình lại OpenLDAP

dpkg-reconfigure slapd
Tắt Openldap

/etc/init.d/slapd stop
Sao chép tất cả các DB vào thư mục mới

cp -R /var/lib/ldap/* /ldap_data/
Thiết lập quyền cho thư mục

chown -R openldap:openldap /ldap_data/
Bây giờ bật Openldap lên

/etc/init.d/slapd start
Install SamBa

apt-get install samba smbldap-tools smbclient samba-doc
Chạy các lệnh sau để cài đặt các file vào vị trí đúng:

cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema/

gzip -d /etc/ldap/schema/samba.schema.gz
Bây giờ chúng ta cần phải chỉnh sửa file cấu hình OpenLDAP
vim /etc/ldap/slapd.conf

Tìm những dòng bắt đầu bằng "include" - bạn sẽ nhận thấy rằng đây là cách OpenLDAP biết về tập tin cấu hình khác. Bây giờ thêm hai dòng sau dưới đây sau đó:

include /etc/ldap/schema/samba.schema
include /etc/ldap/schema/misc.schema
Chúng ta cần phải thay đổi một dòng khác. Tìm dòng có nội dung " access to attribute=userPassword,shadowLastChange " và thay đổi nó như sau:
access to
attrs=userPassword,shadowLastChange,sambaNTPasswor d,sambaLMPassword
Chúng ta cần restart lại slapd

/etc/init.d/slapd restart
Cấu hình Samba

cd /etc/samba/
Backup file smb.conf

cp smb.conf smb.conf.original
Mở và edit file smb.conf

vim smb.conf
Sửa chính xác những dòng trên như sau :

workgroup = TK4
security = user
passdb backend = ldapsam:ldap://localhost/
obey pam restrictions = no

Bây giờ sao chép những dòng này xuống dưới dòng " obey pam restrictions = no":


# Begin: Custom LDAP Entries
#
ldap admin dn = cn=admin,dc=tk4,dc=pro
ldap suffix = dc=tk4, dc=pro
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=Users
; Do ldap passwd sync
ldap passwd sync = Yes
passwd program = /usr/sbin/smbldap-passwd %u
passwd chat = *New*password* %n\n *Retype*new*password* %n\n *all*authentication*tokens*updated*
add user script = /usr/sbin/smbldap-useradd -m "%u"
ldap delete dn = Yes
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%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"
domain logons = yes
#
# End: Custom LDAP Entries

Bỏ dòng

invalid users = root
Thêm dòng

logon path =
Restart Samba

/etc/init.d/samba restart
Mật khẩu truy cập Samba

smbpasswd -w 123
Cấu hình SMBLDAP-TOOLS

cd /usr/share/doc/smbldap-tools/examples/
cp smbldap_bind.conf /etc/smbldap-tools/
cp smbldap.conf.gz /etc/smbldap-tools/
gzip -d /etc/smbldap-tools/smbldap.conf.gz
Mở thư mục smbldap-tools

cd /etc/smbldap-tools/
Bây giờ bạn cần để có được mã SecurityID (SID) cho tên miền của SAMBA của bạn. Nhớ sao chép mã này vì chúng ta cần ở bước sau
net getlocalsid
VD đây là 1 mã SID : S-1-5-21-949328747-3404738746-3052206637

Edit file smbldap.conf

vim smbldap.conf
Chỉnh sửa các thông số như sau :


SID="S-1-5-21-949328747-3404738746-3052206637" ## This line must have the same SID as when you ran "net getlocalsid"
sambaDomain="TK4"
ldapTLS="0"
suffix="dc=tk4,dc=pro"
sambaUnixIdPooldn="sambaDomainName=TK4,${suffix}" ## Be careful with this section!!
userHome="/ldaphome/%U" ## This is found in the UNIX section.
userSmbHome=
userProfile=
userHomeDrive=
userScript=
mailDomain="tk4.pro"
Edit file smbldap_bind

vim smbldap_bind.conf
Chỉnh sửa với thông số như sau:

slaveDN="cn=admin,dc=tk4,dc=pro"
slavePw="123"
masterDN="cn=admin,dc=tk4,dc=pro"
masterPw="123"
Thiết lập quyền cho các thư mục

chmod 0644 /etc/smbldap-tools/smbldap.conf
chmod 0600 /etc/smbldap-tools/smbldap_bind.conf
Đây là một bước đơn giản nhưng nó là rất quan trọng. Khi thực hiện bước này nếu bạn gặp lỗi sau đó nó có khả năng bởi vì bạn không cấu hình đúng ở các bước trước

smbldap-populate -u 30000 -g 30000
Pass cho user “root”
123
Kiểm tra các entry mới trong LDAP

ldapsearch -x -b dc=tk4,dc=pro | less
Tạo 1 LDAP user cho hệ thống

smbldap-useradd -a -m -M tk4 -c "Tk4 - Pro" tk4
Thiết lập password cho User vừa tạo


smbldap-passwd tk4
Cấu hình LDAP Authentication trên Server

apt-get install auth-client-config libpam-ldap libnss-ldap
Trả lời các yêu cầu sau khi cài đặt như sau

Should debconf manage LDAP configuration?: Yes
LDAP server Uniform Resource Identifier: ldap://127.0.0.1
Distinguished name of the search base: dc=tk4,dc=pro
LDAP version to use: 3
Make local root Database admin: Yes
Does the LDAP database require login? No
LDAP account for root: cn=admin,dc=tk4,dc=pro
LDAP root account password: 123
Backup of the file /etc/ldap.conf

cp /etc/ldap.conf /etc/ldap.conf.original
Edit file ldap.conf

vim /etc/ldap.conf
Chỉnh sửa vói thông số như sau

host 127.0.0.1
base dc=tk4,dc=pro
uri ldap://127.0.0.1/
rootbinddn cn=admin,dc=tk4,dc=pro
bind_policy soft
Bây giờ chúng ta cần phải sao chép tập tin / etc / ldap.conf vào tập tin / etc / ldap / ldap.conf. Trước tiên chúng ta sẽ sao lưu các tập tin (/ etc / ldap / ldap.conf) và sau đó chúng ta sẽ sao chép các tập tin mới.

cp /etc/ldap/ldap.conf /etc/ldap/ldap.conf.original
cp /etc/ldap.conf /etc/ldap/ldap.conf
Chỉnh sửa tệp tin sau

vim /etc/auth-client-config/profile.d/open_ldap
Với các thông số như sau:

[open_ldap]
nss_passwd=passwd: compat ldap
nss_group=group: compat ldap
nss_shadow=shadow: compat ldap
pam_auth=auth required pam_env.so
auth sufficient pam_unix.so likeauth nullok
auth sufficient pam_ldap.so use_first_pass
auth required pam_deny.so
pam_account=account sufficient pam_unix.so
account sufficient pam_ldap.so
account required pam_deny.so
pam_password=password sufficient pam_unix.so nullok md5 shadow use_authtok
password sufficient pam_ldap.so use_first_pass
password required pam_deny.so
pam_session=session required pam_limits.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
session required pam_unix.so
session optional pam_ldap.so
Backup file /etc/nsswitch.conf

cp /etc/nsswitch.conf /etc/nsswitch.conf.original

Kích hoạt tính năng cấu hình OpenLDAP mới bằng cách chạy lệnh sau đây. Nếu bạn đã làm tất cả các bước trước một cách chính xác thì nó sẽ chạy mà không có vấn đề.

auth-client-config -a -p open_ldap
Khởi động lại máy

reboot
Cài đặt Apache2

apt-get install apache2
Edit file apache2/httpd.conf

vim /etc/apache2/httpd.conf
Thêm vào dòng sau

ServerName lelong.tk4.pro
Restart Apache:


/etc/init.d/apache2 restart

Copy thư mục PHPLDAPAdmin vào / var / www . Bằng cách này chúng ta có thể truy cập PHPLDAPAdmin dễ dàng hơn.


cp -R /usr/share/phpldapadmin/ /var/www/phpldapadmin

Cài đặt portmap


apt-get install portmap nfs-common
apt-get install nfs-kernel-server nfs-common portmap

Cấu hình lại nfs


dpkg-reconfigure portmap

Restart lại NFS


/etc/init.d/portmap restart

Sửa file sau


vim /etc/exports

Chèn dòng sau vào cuối file


/ldaphome *(rw,async)


Restart lại dịch vụ NFS

/etc/init.d/nfs-kernel-server restart



Khời động lại các dịch vụ liên quan


/etc/init.d/portmap restart
/etc/init.d/nfs-common restart

Thêm lệnh sau



mount lelong.tk4.pro:/ldaphome /ldaphome

Chỉnh sửa file


vim /etc/fstab


Thêm vào những dòng sau:




# Custom NFS mount for home directories.
lelong.tk4.pro:/ldaphome /ldaphome nfs rsize=8192,wsize=8192,timeo=14,intr

Khởi động lại máy


reboot

Backup file


cp /etc/nsswitch.conf /etc/nsswitch.conf.original

Mở file


cd /etc/pam.d/

Kích hoạt tính năng cấu hình OpenLDAP mới bằng cách chạy lệnh sau đây


auth-client-config -a -p open_ldap

Cấu hình SAMBA để Share /ldaphome
Sửa file sau /etc/samba/smb.conf


# LDAPHOME share definition
[ldaphome]
path = /ldaphome
writeable = yes
browseable = yes
security mask = 0777
force security mode = 0
directory security mask = 0777
force directory security mode = 0

Cấu hình SAMBA – cho phép 'Netlogon' Share

Tạo các thư mục sau:


mkdir /home/samba
mkdir /home/samba/netlogon

Sửa file sau :


vim /etc/samba/smb.conf

Theo thông số sau


[netlogon]
comment = Network Logon Service
path = /home/samba/netlogon
guest ok = yes
writable = no
share modes = no

Tạo một kịch bản Windows Logon đơn giản


vim /home/samba/netlogon/allusers.bat





Thêm vào thông số sau


@echo off
REM # SYNC THE TIME WITH THE SERVER
net time \\lelong.tk4.pro /set /y
REM # DELETE ALL MAPPED DRIVES
net use h: /delete
REM # MAP ALL NECESSARY DRIVES
net use h: "\\lelong.tk4.pro\ldaphome\%username%"

Chúng ta cần phải cài đặt thêm một chương trình để chuyển đổi tập tin này vào một tập tin mà Windows có thể sử dụng.


apt-get install flip

Sử dụng chương trình để convert file


flip -m /home/samba/netlogon/allusers.bat

Bây giờ chúng ta cần chỉnh sửa file


vim /etc/samba/smb.conf

Thay đổi dòng: ; logon script = logon.cmd
thành : logon script = allusers.bat
Bây giờ Client Xp có thể login vào thông qua script này
Ok. Bây giờ chúng ta chuyển sang Client Windows Xp để test …!
Chuc cac ban thanh cong !

Rất mong ý kiến của các bác để bài hướng dẫn hoàn thiện hơn

canvu
11-05-2010, 10:23 PM
bạn cấu hình PDC trên ubuntu server version nào vậy ? theo mình được biết và đã từng làm và làm trên ubuntu 7.10 khác hoàn toàn với ubuntu 8 -10.04 về cách cấu hình PDC dùng LDAP và SAMBA kết hợp

Ngoài ra bạn nên nghiên cứu xem là sau khi join máy client rồi thì server quản lý được vấn đề gì (policy ??)

lelongt1k4
17-05-2010, 11:13 AM
Mình làm trên Ubuntu server 8.04. Có thể các version khác có 1 số sự khác biệt về câu lệnh và thư mục. Bác canvu đã làm trên những version cao hơn thì có thể cho biết sự khác biệt khi cấu hình được không ?

lelongt1k4
17-05-2010, 05:15 PM
Nói thêm chút về phần quản trị sau khi join client Xp vào domain Linux thì chúng ta có thể dùng phpldapadmin để quản trị phần user, group một số chức năng khác nữa...

cài đặt theo câu lệnh


apt-get install phpldapadmin

sau đó sang trình duyệt gõ


http://domainname/phpldapadmin