Chuyển từ Linux Mail Server sang Exchange Server 2007 (Phần 1)
Anderson Patricio
Trong bài này chúng tôi sẽ tạo một chính sách địa chỉ email để áp dụng cho người dùng mới và sẽ tạo người dùng dựa trên file passwd của Linux.
Tạo chính sách địa chỉ Email
Chúng ta có một số Linux distribution và MTA (Message Transfer Agents), trong bài này chúng tôi sẽ chuyển từ Postfix sang Exchange Server 2007. Mỗi MTA đều có các file cấu hình khác nhau nhưng hầu hết trong số chúng đều sử dụng file passwd và alias để thu thập thông tin về môi trường mạng hiện hành. Một trong những thông tin mà chúng ta cần biết là cách lược đồ tên hiện hành đang được sử dụng như thế nào. Nếu chúng có định dạng FirstName.LastName@domain.com hoặc FirstLetterFirstName+LastName@domain.com, thì công việc của bạn sẽ đơn giản hơn đôi chút vì chúng ta sẽ sử dụng lược đồ đặt tên này trong Exchange Server 2007 trước khi tạo các mailbox mới. Nếu không có một chuẩn nào đó sau khi tạo các user thì chúng ta cần phải hợp lệ hóa mỗi người dùng để bảo đảm rằng địa chỉ email phù hợp với các môi trường.
Trước khi tạo chính sách địa chỉ email, chúng ta cần phải cấu hình Exchange Server 2007 để chấp nhận các miền bên ngoài đã cấu hình trong Linux box. Để cấu hình Accepted Domains trong Exchange 2007, bạn thực hiện theo các bước dưới đây:
- Mở Exchange Management Console.
- Mở Organization Configuration.
- Kích Hub Transport, sau đó kích tab Accepted Domains.
- Trong Toolbox Actions, kích New Accepted Domain
- Add thêm một tên cho miền mới và điền vào trong trường Accept Domain tên mở rộng (Ví dụ: apatricio.ca) và kích New, như trong hình 1.
Hình 1: Add các miền đã được chấp nhận, tất cả các miền đã được cấu hình
trong Linux box phải được add vào Exchange Server
- Kích Finish
Lúc này, bạn hãy tạo chính sách địa chỉ email để in vào địa chỉ SMTP đúng trên người dùng sau này:
- Mở Exchange Management Console.
- Mở Organization Configuration, và kích vào Hub Transport.
- Kích Default Policy and Edit trong Toolbox Actions
- Introduction. Just click Next
- Conditions. Kích Next
- E-Mail Address. Kích vào Add và chúng ta có thể thiết lập định dạng địa chỉ SMTP mới sẽ được sử dụng bởi các user mới. Chọn định dạng đang được sử dụng bởi Linux box và chọn danh sách miền đã chấp nhận bằng cách chọn miền mà bạn vừa mới tạo. Kích OK. Xem trong hình 2.
Hình 2: Add định dạng địa chỉ SMTP mới để được sử dụng trong các mailbox.
- E-mail Address. Chúng ta có thể add thêm nhiều định dạng SMTP nhưng chỉ cần sử dụng chỉ một Reply Address (hình 03). Kích Next
Lưu ý:
Chúng ta có thể tạo nhiều lược đồ tên để phù hợp tốt hơn với môi trường hiện hành, hoàn toàn có lợi nếu có nhiều chuẩn trong môi trường của mình.
Hình 3: Định nghĩa các chính sách địa chỉ email sẽ được áp dụng cho mailbox.
- Schedule. Chấp nhận các giá trị mặc định và kích Next.
- Edit E-mail Address Policy. Kích Edit.
- Completion. Kích Finish.
Lúc này tất cả các user sẽ nhận được một địa chỉ SMTP phù hợp với chính sách địa chỉ email mới. Chúng ta phải bảo đảm rằng địa chỉ SMTP của các user Linux hiện hành sẽ giống nhau trong các mailbox mới.
Tạo các user Active Directory
Chúng ta sẽ sử dụng Powershell để tạo tất cả các user Active Directory và mailbox, sử dụng một file có tất cả tên người dùng đang được sử dụng trong Linux.
- Copy file passwd được đặt trên đường dẫn /etc/passwd từ Linux sang bất cứ môi trường nào đã có Excel cài đặt.
- Đặt lại tên passwd thành passwd.csv và mở nó bằng Wordpad
- Kích Edit, Replace và trong trường Find what ghi “:”trong trường Replace with ghi “;”, sau đó kích Replace All.
- Lưu file và đóng lại.
- Lúc này mở file passwd.csv mà bạn vừa mới chỉnh sửa trong Microsoft Excel.
- Hãy dọn dẹp file để có thể sử dụng được bởi Powershell. Linux có một nhóm các tài khoản hệ thống và chúng ta không muốn các user này trong Active Directory của mình? Chính vì vậy tất cả các user thông thường đều có một uid (User ID) là 500 hoặc cao hơn. Lúc này chúng ta có thể remove các user có uid (cột thứ ba) thấp hơn 500. Cũng cần sao các thay đổi này trong file passwd.csv bằng Excel.
- Sau khi sử dụng thông tin uid để xóa bỏ những người dùng không cần thiết, chúng ta có thể bỏ tất cả các cột sẽ không cần dùng tới trong Active Directory như password (cột 2), uid (cột 3), guid (cột 4), các cột dir và shell.
- Kích chột phải vào dòng số 1, kích Insert để tạo một dòng trống mới lên trên.
- Trên đầu mỗi cột là tiêu đề mô tả cột đó. Chúng ta sẽ sử dụng nó để tạo người dùng, mailbox và các thông tin khác cho các tài khoản người dùng mới. Trong ví dụ này, chúng ta sẽ tạo các cột có tiêu đề như sau: UserName, DisplayName, FirstName, LastName, Office, OfficePhone và HomePhone để so khớp thông tin chúng ta có trong file passwd của Linux.
File CSV sau khi dọn dẹp sẽ trông giống như trong hình 4 bên dưới
Hình 4: File CSV sau khi dọn dẹp lại
Lúc này chúng ta có thể điền vào trong file CSV những thông tin người dùng và tạo các cột bổ sung để import được vào Active Directory (hình 5).
Hình 5: File CSV cuối cùng với tất cả các thông tin người dùng hiện hành được lấy lại từ Linux box.
Chúng ta đã xây dựng file CSV, đây chính là lúc tạo các user thông qua Powershell.
- Copy file passwd.csv vào C:\ trong Exchange Server
- Mở Exchange Management Shell.
- Import CSV thành một biến bằng cmdlet bên dưới:
$FilePasswd = Import-Csv C:\passwd.csv - Để hợp lệ hóa nội dung của biến $FilePasswd (hình 6), bạn hãy đánh:
$FilePasswd
Hình 6: Nội dung của biến $Passwdfile
- Hãy tạo một OU (OrganizationUnit) để tạo các user mới. Trong bài này chúng ta sẽ sử dụng một OU có tên Postfix Users.
- Chúng ta phải định nghĩa mật khẩu ban đầu cho các tài khoản mới để sẽ được tạo thông qua Powershell, sau đó đánh vào cmdlet sau:
$Password = Read-Host “Password “ –AsSecureString
Chúng ta sẽ bị yêu cầu mật khẩu. Nên sử dụng một mật khẩu dễ để sử dụng cho tất cả các tài khoản mới. Người dùng sẽ sử dụng mật khẩu này cho lần đăng nhập đầu tiên vào Active Directory. Chúng ta phải khai báo tất cả các user về quá trình chuyển đổi và mật khẩu ban đầu này.
- Lúc này đã kết thúc tất cả các yêu cầu cần thiết cho việc tạo các user (hình 7), chúng ta có thể tạo các mailbox bằng file CSV đã được import thông qua biến $FilePasswd và các cột đã định nghĩa trong Excel với mục đích hợp lệ hóa với các tham số đã sử dụng. Bảng dưới đây có thể được sử dụng để tạo cmdlet trong quá trình tạo user:
Tham số Cmdlet | Biến sẽ được sử dụng |
$FilePasswd | File CSV đã được ipmort (bước 3) |
$UPN | Mỗi dòng đọc biến $FilePasswd sẽ add thêm vào Username đuôi @apatricio.local. Chúng ta phải thay đổi tên miền FQDN hiện đang được sử dụng trong quá trình triển khai AD. |
-Alias và -Name | $_.UserName là cột Username của file CSV |
-UserPrincipalName | Nó sẽ là giá trị của biến $UPN đang thay đổi cho mỗi người dùng |
-DisplayName | $_.DisplayName là cột DisplayName trong file CSV. |
-FirstName và -LastName | $_.FirstName và $_.Lastname tương ứng là cột FirstName và LastName trong file CSV. |
-Database | Database mà các user mới sẽ tạo, để hơp lệ hóa cơ sở dữ liệu mailbox chúng ta có thể sử dụng chạy Get-MailboxDatabase. |
-OrganizationUnit | OU nơi các user mới sẽ được tạo. |
-Password | $Password đã được tạo trong bước 6 |
ResetPasswordOnNextLogon | $True. Tất cả các user sau khi đăng nhập lần đầu trong AD sẽ được yêu cầu thay đổi mật khẩu. |
Bảng 1
Trong bài báo này, cmdlet dưới đây sẽ được sử dụng:
$FilePasswd | ForEach { $UPN = $_.UserName + “apatricio.local”; New-Mailbox –Alias $_.UserName –Name $_userName –UserPrincipalName $UPN –DisplayName $_.DisplayName –FirstName $_.FirstName –LastName $_.LastName –Database “srv-2k7-ex01\mailbox database” –OrganizationUnit “PostFix Users” –Password $Password –ResetPasswordOnNextLogon $true }
Hình 7: Tạo các user mới thông qua PowerShell cmdlet
Lúc này chúng ta có thể mở Exchange Management Console để xem mailbox mới vừa được tạo (hình 8).
Hình 8: Các user mới được tạo
Trong tiến trình trên, chúng ta đã tạo tất cả các user từ file passwd của Linux. Nếu bạn đang sử dụng file alias thì cần phải nâng cấp các địa chỉ email đó trong môi trường hiện hành. Còn nếu chỉ có một số lượng nhỏ các địa chỉ email trong file alias thì công việc của bạn có thể được thực hiện một cách thủ công, tuy nhiên trong một số trường hợp có thể sử dụng kịch bản để add địa chỉ SMTP thứ cấp.
Kết luận
Trong bài này chúng tôi đã định nghĩa chính sách email của bạn để hợp lệ hóa với chính sách hiện hành đang được sử dụng trong Linux Box. Chúng ta cũng đã tạo tất cả các user trong Active Directory và Exchange Server bằng chính nguồn là file passwd của Linux.
Chuyển từ Linux Mail Server sang Exchange Server 2007 (Phần 3)