12/08/2018, 09:43

[Linux]Create AD in linux system and join domain in different operating systems

Như chúng ta đã biết, active directory là dịch vụ quản lý thư mục được Microsoft phát triển cho mạng windows bao gồm hầu hết các dịch vụ như: quản lý người dung, quản lý dns, quản lý tên miền, policy… mà chủ yếu dùng cho hệ điều hành windows là chủ yếu, và máy chủ sử dụng windows server để ...

Như chúng ta đã biết, active directory là dịch vụ quản lý thư mục được Microsoft phát triển cho mạng windows bao gồm hầu hết các dịch vụ như: quản lý người dung, quản lý dns, quản lý tên miền, policy… mà chủ yếu dùng cho hệ điều hành windows là chủ yếu, và máy chủ sử dụng windows server để quản lý. Active directory là dịch vụ mà người quản trị nào cũng muốn sử dụng để quản lý tập trung hệ thống mạng của công ty. Nhưng vấn đề về chi phí bản quyền Microsoft thì không phải công ty vừa và nhỏ nào cũng có khả năng đáp ứng. Vì vậy, hiện nay nhiều công ty đã, đang chuyển hướng sang các dịch vụ mã nguồn mở tương ứng. Và hôm nay mình sẽ giới thiệu tới các bạn dịch vụ Samba 4.
Samba được biết tới như Domain Controller dễ dàng cài đặt và sử dụng trên nền linux. Kể từ phiên bản 4.0 Samba còn tương thích với Microsoft Active Directory.

Để cài đặt Samba4, trước hết bạn phải đăng ký tài khoản trên trang chủ https://portal.enterprisesamba.com/

Sau khi đăng ký và login, bạn sẽ thấy USERNAME:ACCESSKEY . Đây sẽ là key để bạn thiết lập trong file repo trong bước tiếp theo.

Thiết lập file repo: Nếu bạn dùng Centos 7: file repo sẽ có dạng

[root@smb ~]# vi /etc/yum.repos.d/sernet-samba-4.1.repo

#change to your username and accesskey
[sernet-samba-4.1]
name=SerNet Samba 4.1 Packages (centos-7)
type=rpm-md baseurl=https://USERNAME:ACCESSKEY@download.sernet.de/packages/samba/4.1/centos/7/
gpgcheck=1
gpgkey=https://USERNAME:ACCESSKEY@download.sernet.de/packages/samba/4.1/centos/7/repodata/repomd.xml.key
enabled=1

Nếu sử dụng Centos 6:

[root@smb ~]# vi /etc/yum.repos.d/sernet-samba-4.1.repo

# change to your username and accesskey
[sernet-samba-4.1]
name=SerNet Samba 4.1 Packages (centos-6)
type=rpm-md
baseurl=https:// USERNAME:ACCESSKEY @download.sernet.de/packages/samba/4.1/centos/6/
gpgcheck=1 gpgkey=https://USERNAME:ACCESSKEY@download.sernet.de/packages/samba/4.1/centos/6/repodata/repomd.xml.key
enabled=1

Cài Samba qua yum:
[root@smb ~]# yum -y install sernet-samba sernet-samba-ad

Sau khi cài đặt xong, ta sẽ cấu hình Samba AD DC

[root@smb ~]# samba-tool domain provision --use-rfc2307 --interactive

Trong đó:

--use-rfc2307: cho phép enable NIS extensions, cho phép ta dễ dàng sử dụng Windows tool Active Directory để quản lý user, computer

--interactive: sử dụng trường mặc định (trong ngoặc vuông) nếu không điền gì

Realm: Kerberos Realm. Nó sẽ tự động sử dụng như Active Directory DNS domain name

Domain: NT4/NetBIOS Domain Name (tối đa 15 ký tự)

Server role: ‘dc’ cho Domain Controller

DNS backend: Sử dụng DNS nội bộ hoặc BIND9 làm DNS dự phòng (default là DNS nội bộ)

DNS forwader IP address: Nếu chọn DNS backend là DNS nội bộ thì mới có lựa chọn này. (trỏ tới server DNS nội bộ)

Administrator password: đảm bảo mật khẩu mạnh:

  • Ít nhất 8 ký tự
  • Có chứa 3 trong 4 thành phần: chữ hoa, chữ thường, số hoặc ký tự đặc biệt

Chỉnh samba4 start với mode ad:

[root@smb ~]# vi /etc/default/sernet-samba

Thay đổi line 7: SAMBA_START_MODE="ad"

OK. Giờ ta khởi động samba4 và start dịch vụ khi khởi động server

[root@smb ~]# /etc/init.d/sernet-samba-ad start

Starting SAMBA AD services : [ OK ]

[root@smb ~]# chkconfig sernet-samba-ad on

[root@smb ~]# chkconfig sernet-samba-smbd off

[root@smb ~]# chkconfig sernet-samba-nmbd off

[root@smb ~]# chkconfig sernet-samba-winbindd off

Raise domain level thành 2008R2

[root@smb ~]# samba-tool domain level raise --domain-level 2008_R2 --forest-level 2008_R2

Domain function level changed!

Forest function level changed!

All changes applied successfully!

Check domain level:

[root@smb ~]# samba-tool domain level show

Domain and forest function level for domain 'DC=demo,DC=net'

Forest function level: (Windows) 2008 R2

Domain function level: (Windows) 2008 R2

Lowest function level of a DC: (Windows) 2008 R2

Đối với Windows

Ta có thể join domain linux trên hệ điều hành windows không khác so với windows server với các thao tác đơn giản 1.jpg

Phải chuột vào Computer -> Properties -> Change settings. Trong khung cửa sổ Computer name chọn Change -> chuyển Domain tương ứng -> Điền user + password của administrator vừa thiết lập ở trên -> Done! 3.png

Đối với Ubuntu

Ta sẽ sử dụng likewise-open – cung cấp phương pháp xác thực cho phép hệ thống *nix join vào AD một cách đơn giản. Trước hết phải sửa file resolve.conf trỏ lại về DNS để có thể tìm thấy domain tương ứng:

[root@smb ~]# vi /etc/resolv.conf

nameserver 192.168.0.2
search demo.net

download likewise:

root@ubuntu:~# wget http://launchpadlibrarian.net/153427240/likewise-open_6.1.0.406-0ubuntu10_amd64.deb

Install likewise:

root@ubuntu:~# dpkg -i likewise-open* libglade2-0_2.6.4*

Selecting previously unselected package likewise-open.

(Reading database ... 56915 files and directories currently installed.)

Preparing to unpack likewise-open_6.1.0.406-0ubuntu10_amd64.deb ...

Unpacking likewise-open (6.1.0.406-0ubuntu10) ...

Selecting previously unselected package libglade2-0:amd64.

Preparing to unpack libglade2-0_2.6.4-2_amd64.deb ...

Unpacking libglade2-0:amd64 (1:2.6.4-2) ...

Setting up likewise-open (6.1.0.406-0ubuntu10) ...

Importing registry...

Để tạo quyền root cho user domain:

root@ubuntu:~# echo -e '%demodomain^users ALL=(ALL) ALL' >> /etc/sudoers

Join domain:

root@ubuntu:~# domainjoin-cli join demo.net Administrator

Joining to AD Domain: demo.net

With Computer DNS Name: ubuntu.demo.net

Administrator@DEMO.NET's password:

SUCCESS

You should reboot this system before attempting GUI logins as a domain user.

Done. Giờ ta có thể login bằng account domain: demo<user>

Đối với mac os, ta sẽ dùng sẵn tiện ích đã tích hợp trên mac

Mở user & computer: Screen Shot 2015-05-28 at 10.59.58 AM.png

Enable change login option Screen Shot 2015-05-28 at 5.04.16 PM.png

Click join. To join domain Screen Shot 2015-05-28 at 11.00.32 AM.png

Type domain, Computer client name and AD admin, password Screen Shot 2015-05-28 at 5.05.02 PM.png

Và khi đã join thành công Screen Shot 2015-05-28 at 11.06.17 AM - 1.jpg

Khác với windows và Ubuntu, khi đăng nhập lần đầu bắt buộc phải có mạng kết nối tới domain, các lần sau nếu không có mạng vẫn có thể đăng nhập vào account domain này thì với MacOS, các bạn luôn cần có mạng mới có thể đăng nhập vào account domain ( kể cả wifi hay mạng LAN).
Và 1 điểm khác nhau nữa khi đăng nhập bằng account domain trên MacOS đó là không cần tên domain phía trước như Windows hay Ubuntu.
VD: account domain là: tran.van.cuong thì khi đăng nhập trên windows và ubuntu là: *demo ran.van.cuong*

Còn trên MacOS chỉ cần điền account tran.van.cuong và MacOS sẽ tự find user có trong local và trên domain.

Bài tiếp theo chúng ta sẽ tìm hiểu việc quản lý user, group, computer và policy trên Samba4.

0