CAØI ĐẶT VAØ CẤU HÌNH CHO SENDMAIL

Một phần của tài liệu đồ án tốt nghiệp tìm hiểu về các web server thông dụng (Trang 83 - 87)

Hệ thống Sendmail được cấu hình chủ yếu thơng qua một file nàm ở

/etc/senmail.cf (mặc dù một vài hệ thống đặt nĩ ở /usr/lib/sendmail.cf hoặc ở nơi

khác). Ngơn ngữ sử dụng trong file cấu hình senmail.cf thì hồn tồn khác so với các file cấu hình khác và rất phức tạp.

File Sendmail.cf điều khiển các chức năng mặc định của hệ thống gửi mail. Cĩ nhiều file khác cũng cĩ liên qua trong quá trình cấu hình, đĩ là:

Decnetxtable: cĩ nhiệm vụ đổi địa chỉ thơng thường sang địa chỉ DEC. Genericfrom: Cĩ nhiệm vụ đổi địa chỉ bên trong sang địa chỉ thơng thường. Mailtertable: Định nghĩa các xử lý đặc biệt cho các máy chủ từ xa và các

tên miền.

Pathtable: Định nghĩa các đường dẫn UUCP đến các máy từ xa và các tên

miền.

Uucprelays: Cho phép gián tiếp đến các máy chủ từ xa. Xaliases: Đổi địa chỉ thơng thường thành địa chỉ bên trong.

Sendmail + hệ thống IDA sử dụng một bộ tiền xử lý chẳng hạn như m4 hoặc dbm để tạo ra các file cấu hình sau khi người sử dụng chỉ định các giá trị cho các thơng số. Sau khi sử dụng bộ tiền xử lý, hệ thống sử dụng một bộ tạo file để tạo ra các file cấu hình cuối cùng.

1. File sendmail.cf

Khi sử dụng Sendmail + IDA, file sendmail.cf khơng được thiết lập các giá trị phù hợp với hệ thống và cơng việc của người sử dụng. Thay vì quá trình cấu hình xử lý các thay đổi sinh ra, một quá trình cấu hình bình thường được điều khiển bởi một file gọi là sendmail.m4, nĩ cung cấp các thơng tin cơ bản về tên hệ thống, đường dẫn sử dụng trên hệ thống của người sử dụng và mailer mặc định đang sử dụng. Mặc dù việc thay đổi file sendmail.m4 cĩ thể mất nhiều thời gian nhưng nĩ cần thiết đối với các thơng tin cơ bản cho việc cài đặt Linux sử dụng uucp và SMTOP cho việc chuyển vận mail.

Phần quan trọng nhất trong file sendmail.m4 là phần khai báo các thư mục. Phần này thường bắt đầu với một dịng khai báo LIBDIR:

dnl #define(LIBDIR, /usr/local/lib/mail)

Thư mục LIBDIR là nơi Sendmail + hệ thống IDA tìm kiếm các file định dạng và các bảng router, thơng thường dịng này được bỏ qua nhưng đường dẫn mặc định thì nằm ở vị trí thơng thường cho tất cả hệ thống Linux mail. Nếu đường dẫn hiển thị trong Sendmail là chính xác, khơng cần điều chỉ lại file này.

Đường dẫn này thường ghi mã trực tiếp vào trong bộ nhị phân Sendmail và khơng cần thiết để ghi đè lên bởi file sendmail.m4 (hoặc sendmail.cf). Nếu cần phải thay đổi đường dẫn này, phải gỡ bỏ giá trị dnl ở dịng bắt đầu, thêm vào đường dẫn đúng và sau đĩ lưu lại trong file sendmail.cf

Mailer cục bộ được sử dụng bởi Sendmail được khai báo tại một dịng cĩ giá trị LOCAL_MAILER_DEF

define(LOCAL_MAILER_DEF, mailers.linux)dnl

Dịng này là cần thiết bởi vì Sendmail khơng điều khiển các mail gửi đi. Một chương trình khác sẽ đảm nhận việc này thay cho Sendmail. Mặc dịnh, giá trị dùng cho mailer cục bộ được chứa trong một file gọi là mailers.linux. File này được chuyển đến mục nhập LOCAL_MAILER_DEF trong file sendmail.m4, điều này cĩ nghĩa là người sử dụng cần phải kiểm tra file mailer.linux trong thư mục con tương tự (thường là /usr/local/lib/mailer.linux) để chắc chắn chương trình chuyển (hoặc một chương trình bất kỳ đã sử dụng) đã được nhập các thuộc tính.

Nội dung một file mailer.linux sẽ bao gồm như sau: # mailers.linux

Mlocal, P=/usr/bin/deliver, F=SlsmFDMP, S=10,R=25/10, A=deliver $u Mprog, P=/bin/sh, F=lsDFMeuP, S=10, A=sh -c $u

Một agent phát thư đi cũng được chỉ định trong file sendmail.mc, file này được dùng để xây dựng file sendmail.cf. Nếu agent phát khơng chuyển thư đi, phải kiểm tra file sendmail.mc để chắc rằng agent chuyển mail đã được thiết lập các thuộc tính. Sendmail.mc là một file quan trọng và nĩ phải được đọc khi

sendmail.m4 được xử lý. Thường cĩ một dịng khai báo trong file sendmail.m4 để

chắc rằng việc này phải xảy ra. Dịng này thường nằm ở phần đầu file

sendmail.m4

include(Sendmail.mc)dnl

Người sử dụng cần phải chỉ định một vài mục nhập trong biến PSEUDOMAINS. Biến này được dùng để điều khiển hệ thống mà nĩ khơng thể mở rộng vào trong các tên miền một cách chính xác, thơng thường là hệ thống UUCP. Các mục nhập trong trường PSEUDOMAINS chỉ ra rằng Sendmail + IDA khơng sử dụng DNS cho những mạng đĩ. Biến PSEUDOMAINS được khai báo như sau:

define(PSEUDODOMAINS, BITNET UUCP)dnl

Cĩ thể sử dụng biến PSEUDONYMS để làm ẩn tên máy của người sử dụng. Ví dụ, một mail nhận trên mạng khác sẽ chỉ thấy địa chỉ tpci.com mà khơng quan tâm đến việc dù là được gửi từ merlin.tpci.com hay chatton.tpci.com. Khi sử dụng biến PSEUDONYMS, Sendmail chấp nhận mail từ tất cả các máy được khai báo trong trường PSEUDONYMS. Trường PSEUDONYMS được hiển thị như sau:

Mục vào nhày cho phép một máy tính bất kỳ của mạng tpci.com gửi mail thơng qua Sendmail.

Để định nghĩa tên máy, sử dụng biến DEFAULT_HOST. Biến này thường được gán giá trị tên mail server của người sử dụng. Người sử dụng cĩ thể khai báo như sau để thiết lập tên mail server mặc định:

define(DEFAULT_HOST, merlin.tpci.com)dnl

Nếu khơng gán một tên đúng cho biến DEFAULT_HOST sẽ khơng cĩ mail được trả về chính xác đến hệ thống đang sử dụng.

Nếu hệ thống khơng phải là một cổng nối mail lên Internet (hoặc các mạng khác được truy cập từ mạng LAN) người sử dụng cĩ thể thiết lập cho hệ thống Linux cho phép gửi mail lên một máy khác để xử lý bằng cách thiết lập các biến RELAY_HOST và RELAY_MAILER trong file sendmail.m4. Các biến này sẽ đặt tên của mail server mà tất cả các mail sẽ được chuyển đến. Ví dụ: Để thiết lập cho hệ thống cục bộ dẫn hướng tất cả các mail bên ngồi đến một máy tên là wizard, phải khai báo 2 dịng như sau:

define(RELAY_HOST, wizard)dnl define(RELAY_MAILER, UUCP=A)dnl

Dịng thứ hai chỉ định mailer sử dụng để gửi message đến máy RELAY_HOST.

2. Điều chỉnh UUCP:

Nếu phải đang làm việc với một hệ thống mail trên nền tảng UUCP, người sử dụng phải điều chỉnh một vài mục nhập trong file sendmail.m4. Sự điều chỉnh này là cần thiết bởi vì một hệ thống mail UUCP thường đánh địa chỉ khác so với các hệ thống trên nền tảng DNS. Các khai báo của UUCP trong file sendmail.m4 như sau:

define(UUCPNAME, tpci)dnl

define(UUCPNODES, |uuname|sort|uniq)dnl define(BANGIMPLIESUUCP)dnl

define(BANGONLYUUCP)dnl

Dịng đầu tiên khai báo UUCPNAME dùng để chỉ định tên của hệ thống cục bộ trong giới hạn UUCP. Tên này cĩ thể khác hơn tên sử dụng trong DNS, mặc dù thơng thường thì các tên đĩ trơng cũng khơng khác nhau mấy.

Biến UUCPNODES khai báo lệnh sử dụng để cung cấp một danh sách tên các host mà hệ thống kết nối tới thơng qua UUCP.

Biến BANGIMPLIESUUCP để cho Sendmail biết là bất kỳ một địa chỉ nào chứa dấu ! đều là địa chỉ kiểu UUCP. Biến BANGONLYUUCP thì làm điều ngược lại. Cả 2 biến này thường được khai báo bởi vì một vài hệ thống DNS sử dụng phương pháp đánh địa chỉ kiểu dấu chấm than.

3. Cấu hình các bảng định vị

Cĩ nhiều dịng trong file sendmail.m4 dùng để khai báo các bảng cấu hình. Các bảng cấu hình này nằm dưới thư mục khai báo bởi biến LIBDIR. Phần này

gồm các dịng sau:

define(ALIASES, LIBDIR/aliases)dnl

define(DOMAINTABLE, LIBDIR/domaintable)dnl

Cĩ khoảng 7 file cấu được chỉ định trong tồn bộ. Người sử dụng cĩ thể thay đổi bất kỳ giá trị nào nếu muốn nhưng phải chắc chắn rằng việc di chuyển nĩ thị vị trí được chỉ định. Để bảo đảm, tốt nhất nên gỡ bỏ các file khỏi các ví trí mặc định của nĩ.

4. Cấu hình mailertable

Bảng mailertable khai báo các điều khiển đặc biệt cho cac host hoặc các tên miền. Trong hầu hết các trường hợp, mailertable chỉ định các tên miền chắc chắn hoặc các host được truy cập và các giao thức nào sử dụng cho các tên miền và các host đĩ. Người sử dụng khơng phải điều chỉnh file này nếu hệ thống đang sử dụng UUCP nhưng phải kiểm tra nội dung của nĩ nếu là đang sử dụng SMTP hoặc DNS.

File mailertable được dọc từ dịng đầu tiên xuống và Sendmail xử lý mail dựa trên mỗi dịng trong file này. Trong mỗi trường hợp, nơi mà hầu hết các quy tắc chỉ định nằm ở đầu file, theo sau bởi các quy tắc thơng thường khác. Các quy tắc chỉ ra phương thức của kết nối đầu tiên và sau đĩ liệt kê các hệ thống từ xa hoặc tên miền:

mailer delimiter relayname remote

Trong khai báo trên, mailer là giao thức chuyển vận được sử dụng, delimiter là ký tự đặc biệt, relayname là tên của hệ thống chuyển mail đến và remote là host từ xa hoặc tên miền.

Mailer cĩ thể là các giá trị:

TCP-A: TCP với địa chỉ kiểu Internet. TCP-U: TCP với địa chỉ kiểu UUCP. UUCP-A: UUCP với địa chỉ kiểu Internet.

Delimiter cĩ một ý nghĩa đặc biệt và phải là một trong cac ký tự sau: ! Gỡ bỏ tên host từ phần địa chỉ trước khi gửi đi.

, Khơng điều chỉnh địa chỉ cho tất cả.

: Gỡ bỏ tên host chỉ khi các host trung gian được chỉ định.

Cĩ thể xây dựng các quy tắc mailertable một các dễ dàng khi chuyển mail đến một mail server từ xa. Ví dụ, để bắt buộc Sendmail sử dụng UUCP thơng qua một mail server từ xa gọi là wizard kết nối đế một hệ thống từ xa roy.sailing.org, thêm một quy tắc như sau vào file mailertable:

5. File cấu hình uucprelays

File uucprelays dùng để bỏ qua đường dẫn UUCP đến một site từ xa khi một đường dân tốt hơn đã tồn tại. Ví dụ, nếu người sử dụng thường sử dụng đường dẫn wizard!bignet!merlin!tpci và cĩ thể tạo ra một liên kết chỉ đường đến tpci, nên sử dụng file uucprelays để đổi lại đường dẫn địa chỉ mail.

6. File cấu hình uucpxtalbe

File uucpxtalbe được sử dụng khi một địa chỉ kiểu UUCP được sử dụng trong việc vận chuyển mail. File này cung cấp các chỉ dẫn cho cơng việc chuyển một địa chỉ kiểu DNS sang UUCP. Nếu người sử dụng đang sử dụng một mail server khác hơn mail server hiện tại hoặc muốn sử dụng UUCP để kết nối đến một máy cụ thể vì độ tin cây, file này thực sự cần thiết.

File này chứa các mục vào liệt kê tên kiểu UUCP theo sau bởi tên miền: Chatton chatton.com

Mục vào này chỉ ra rằng Sendmail mà một mail chatton.com bất kỳ nào đĩ đều phảøi được cập nhập qua UUCP đến chatton ( đánh địa chỉ kiểu UUCP). Mục vào này bắt buộc các địa chỉ mail đến yvone@chatton.com phải được viết lại giống như chatton!yvone, một địa chỉ mà UUCP cĩ thể sử dụng.

7. Xây dựng file sendmail.cf từ file sendmail.m4

Bây giờ, đã cấu hình xong file sendmail.m4 và các file cĩ liên qua của nĩ, cĩ thể sử dụng bộ xử lý m4 để tạo ra file sendmail.cf. Một khi file sendmail.m4 đã sẵn sàng để làm việc, bắt nguồn từ dịng lệnh:

Make sendmail.cf

Một khi file đã được tạo, chép nĩ sang thư mục /etc và khởi động Sendmail với dịng lệnh:

/usr/lib/sendmail –bd –q1h

hoặc khởi động lại máy tính.

Một phần của tài liệu đồ án tốt nghiệp tìm hiểu về các web server thông dụng (Trang 83 - 87)