Thông thường card mạng được nhận dạng tự động trong quá trình cài đặt linux và người cài đặt được yêu cầu nhập vào thông tin cần thiết chuẩn bị cho một máy tính tham gia mạng điạ chỉ IP,
Trang 1Các tiện ích lưu trữ
TAR
Tar là viết tắt của Tape ARchive Ban đầu Tar đươc dùng để backup lên băng từ Tar không nén tệp mà chỉ nối nhiều tệp hay thư mục, thành ra một tệp duy nhất gọi là
"tarball" Sau khi “vo tròn” thành một cục bằng lệnh Tar, tệp này sẽ được nén tiêp bằng gzip hay bzip2
Ví dụ sử dụng:
• tar -xvf example.tar : đểtách các tệp đã nối lại bằng Tar.
• tar -cf backup.tar /home/ftp/pub : tạo tệp backup.tar từ toàn bộ nội dung của
thư mục /home/ftp/pub
• tar -tvf example.tar : hiển thị nội dung tệp example.tar lên màn hình
GZIP
gzip là dạng ZIP cho UNIX Thông thường, trươc hết dùng Tar, sau đó nén tệp bằng
gzip Sau hai bước này các tệp thường sẽ có phần đuôi là tar.gz Tệp lưu trữ dùng gzip
cũng tương thích với WinZip và PkZip Vậy có thể cởi nén trong Window
Ví dụ sử dụng:
- Nén : gõ lệnh gzip tệpname.tar theo mặc định gzip sẽ xoá tệp gốc sau khi nén.
- Cởi nén: gõ lệnh: gzip -d tệpname.tar.gzTheo mặc định, gzip cũng xoá tệp gốc sau
khi cởi nén
Cũng có thể cởi nén bằng lệnh: gunzip tệpname.tar.gzTác dụng giống như gzip –d. BZIP2
bzip2 và bunzip2 là các tiện ích để nén và cởi nén tệp bzip2 và bunzip2 mới hơn gzip
và gunzip bzip2 có hệ số nén cao hơn gzip Tệp nén bằng bzip2 có thể nhỏ hơn 10-20%
so với nén bằng gzip Cách sử dụng tương tự như gzip và gunzip Thông thường, tệp nén bằng bzip2 có phần đuôi tệp là bz2
Trang 2Thông thường card mạng được nhận dạng tự động trong quá trình cài đặt linux và người cài đặt được yêu cầu nhập vào thông tin cần thiết chuẩn bị cho một máy tính tham gia mạng (điạ chỉ IP, subnetmask, hostname, domain name, DNS name) Sau khi Linux được cài đặt xong, vẫn có thể thiết lập lại các thông tin nói trên với tiện ích netconf ở chế độ text hay Network configuration trong Xwindows
Địa chỉ IP
Địa chỉ IP được sử dụng hiện nay là địa chỉ 32 bit, được chia thành 4 octet (mỗi octet có
8 bit tương đương với 1 byte), các octet được cách nhau bởi một dấu chấm Địa chỉ IP được biểu diễn : x.y.z.t, bao gồm có 3 thành phần chính:
Class bit: bit nhận dạng lớp
NetID: địa chỉ của mạng
HostID: địa chỉ của máy
Địa chỉ IP được chia thành 5 lớp: A, B, C,D, E Hiện nay tổ chức Internet đã dùng hết lớp A, B và gần hết lớp C Lớp D, E được giành cho mục đích khác Trong phần này chúng ta xem xét các đặc điểm của các lớp A, B, C
Trang 3Địa chỉ
lớp Vùng địa chỉ lý thuyết
Số mạng tối đa sử dụng
Số máy tối đa trên từng mạng
B Từ 128.0.0.0đến191.255.0.0 16352 65534
C Tử 192.0.0.0 đến
Địa chỉ
lớp Vùng địa chỉ sử dụng
Bit nhận dạng
Số bit dùng để phân cho mạng
B Từ 128.0.0.0đến 191.255.0.0 16352 65534
C Tử 192.0.0.0 đến223.255.255.0 2097150 254
Subnet mask cũng được biểu diễn dưới dạng tương tự điạ chỉ IP, nó chỉ định điạ chỉ phạm vi của mạng mà máy tính sẽ tham gia và giúp xác định địa chỉ mạng Ví dụ
Trang 4IP address Subnet mask
Ý nghĩa
Địa chỉ
mạng
Địa chỉ các máy trong mạng
Broadcast
172.16.0.16 255.255.0.0 172.16.0.0 172.16.0.1,172.16.0.2, 172.16.0.255, 172.16.255.254 172.16.255.255
Đia chỉ broadcast là điạ chỉ IP được sử dụng cho mục đích phát tin cho đích là mỗi máy
trong mạng Vì vậy Linux hỗ trợ xác định tự động điạ chỉ broadcast khi đã biết điạ chỉ
IP và subnetmask.
Điạ chỉ gateway là địa chỉ của một máy tính (hay một thiết bị) trong mạng có kết nối ra
bên ngoài và trở thành cổng giao lưu với thế giới bên ngoài của mạng Vì vậy điạ chỉ
gateway không phải là nội dung bắt buộc phải khai báo
Domain name và Hostname
Domain name là tên dạng xâu ký tự của một máy tính Domain name có dạng
Xn,Xn-1, ,X1.Xilà xâu ký tự không chứa ký tự ‘.’
Ví dụ: vnu.edu.vn, redhat.com
Hostname là tên riêng dạng xâu ký tự của máy tính trong một mạng Tên đầy đủ của một
máy tính là tên bao gồm cả hostname và domain name dạng: hostname.domainname
Ví dụ: một máy tính có tên là vien_cntt, trong mạng có tên là vnu.edu.vn Tên đầy đủ
của máy tính của bạn sẽ là vien_cntt.vnu.edu.vn.
DNS server
DNS server là máy chủ chạy dịch vụ chuyển đổi hostname.domainname sang địa chỉ IP
Trên mỗi mạng máy tính cần phải có ít nhất một máy tính hoạt đọng với vai trò DNS
server Trên những máy tính còn lại, phải khai báo địa chỉ IP của máy DNS server
Trường hợp không dùng DNS server, việc sử dụng các dịch vụ trên nền giao thức TCP/
IP phải thực hiện trực tiếp qua điạ chỉ IP
Trang 5Các tiện ích mạng
Telnet
Telnet là mọt tiện ích cho phép đăng nhập vào một máy tính ở xa và làm việc giống như với máy tại chỗ Ví dụ, có thể dùng telnet để chạy một chương trình trong một siêu máy tính ở cách xa hàng ngàn dặm Telnet sử dụng giao thức TCP/IP, cổng 23
Sử dụng: giả sử máy của bạn đang chạy Window và bạn đã được cấp một tài khoản trong máy chủ Linux
1 Nhấn chuột vào "Start" chọn "RUN"
2 Gõ vào: “telnet <tên hay địa chỉ IP>” của máy chủ mà bạn có tài khoản Ví dụ
"telnet linuxcourse.iti.edu.vn” và nhấn OK
3 Nếu kết nối đến máy chủ thông suốt, một cửa sổ sẽ hiện lên mời bạn cung cấp tên tài khoản và mật khẩu
4 Nhập vào tên tài khoản username và password để dăng nhập.
5 Đăng nhập thành công thì bạn sẽ đứng tại thư mục nhà (home directory) của mình
6 Bắt đầu phiên làm việc của bạn Ví dụ, dùng câu lệnh "ls-al" để hiển thị tất cả các tệp trong thư mục
7 Kết thúc phiên làm việc, gõ "exit".
FTP
FTP là viết tắt của Tệp Transfer Protocol, một tiện ích tải tệp ở xa Với ftp có thể lấy tệp ở máy từ xa về máy tính của mình (download) và ngược lại, gửi một tệp từ máy của mình lên máy ở xa (upload) nếu bạn có quyền write vào thư mục ở máy đó FTP sử dụng giao thức TCP/IP, cổng 21
Sử dụng FTP
Cách tải xuống (download):
• Telnet vào máy ở xa
• Gõ lệnh ftp <tên máy ở xa>.
• Máy sẽ yêu cầu tên đăng nhập và password Một trong những chế độ cho phép mọi người tải tệp về tự do là dùng tên đăng nhập "anonymous" và password là địa chỉ email của bạn
• Chuyển đến thư mục có các tệp ta muốn tải về
• Gõ lệnh: get <tên tệp muốn tải về>.
Trang 6• Để kết thúc gõ quit.
Cách tải lên (upload): Tương tự như trên, nhưng dùng câu lệnh put thay cho câu lệnh get.
Ping
Câu lệnh ping để yêu cầu một trả lời phản hồi của một máy ở xa trên mạng Nó dùng để kiểm tra tình trạng kết nối mạng đến máy ở xa còn hay không Ping sử dụng giao thức ICMP Đây là giao thức IP nên không có số cổng
Sử dụng:
1- Gõ vào: “ping <tên hay địa chỉ IP của máy ở xa >”.
2- Nếu kết nối được thì sẽ liên tục nhận được phản hồi từ máy ở xa gồm số lượng byte
dứ liệu, thời gian truyền tin, nếu không kết nối được thì sẽ trả về “time out”
3- gõ “Ctrl + c” để kết thúc.
Kết quả nhận được sẽ là thống kê số gói đã truyền, số gói thất lạc và thời gian đi một vòng (min/avg/max/mdev) Ví dụ:
15 packets transmitted, 15 packets received, 0% packet loss
round-trip min/avg/max/mdev = 0.025/0.028/0.052/0.007 ms
Traceroute
Traceroute là một tiện ích đê vạch lại con đường từ máy của bạn đến một máy ở xa trên
Internet (mỗi gateway là một mốc - hop) Nó cũng tính và hiển thị thời gian cần thiết để
đi qua mối hop Traceroute cũng dùng giao thức ICMP.
Trang 7Đặt vấn đề
Trong công nghệ thông tin hiện nay, một vấn đề gây tranh cãi là chọn lựa môi trường nào trong 2 hệ điều hành Unix (mà Linux là một trong những môi trường nổi bật) và Windows Tuy nhiên trong thực tế, do nhu cầu xây dựng các ứng dụng hỗn hợp, người
ta vẫn phải chấp nhận dùng cùng lúc cả 2 hệ điều hành này Vì vậy việc tích hợp 2 loại
hệ thống để có một môi trường đồng nhất là một thực tế cần phải giải quyết
Tích hợp Windows và Linux không phải là một bài toán mới Từ nhiều năm qua, những nhà xây dựng hệ thống đã tìm nhiều cách để người sử dụng có thể kết nối một cách trong suốt dữ liệu qua các hệ thống không đồng nhất Một thí dụ điển hình là NFS (Network File System) NFS đã được phát triển ban dầu với mục đích tích hợp các hệ điều hành Unix lại với nhau để người sử dụng có thể truy cập dữ liệu trên các hệ thống tệp của các
hệ thống Unix khác giống như hệ thống cục bộ NFS cho phép các máy chạy Unix có thể chia sẻ tài nguyên qua mạng (cụ thể là tệp và máy in) Qua NFS, người ta cũng đã
cố gắng mô phỏng Unix trên Windows Với NFS, người sử dụng ép các hệ thống chạy Windows hoạt động giống như một hệ thống Unix, do đó các truy xuất dữ liệu từ các hệ thống Unix lên Windows có thể được thực hiện khá dễ dàng
Tuy vậy, NFS không phải là công nghệ dành riêng để tích hợp Unix và Windows Việc
mô phỏng Unix trên Windows không mang lại nhiều thành công như mong đợi do Windows có rất nhiều tính năng đặc thù nên các hệ mô phỏng không thể “bắt chước” một cách hoàn hảo Do đó người ta phải tìm ra một cách khác: mô phỏng Windows trên Unix
Mô phỏng Windows trên Unix là một công việc hoàn toàn ngược với công nghệ NFS: Thay vì buộc Windows hoạt động như một hệ thống Unix, người ta cố gắng xây dựng một hệ thống tệp theo kiểu Windows trên Unix Và cho tới nay, hướng đi này đã chứng
tỏ đạt được những thành công nhất định: đó là công nghệ Samba
Trong tài liệu này, ta sẽ điểm qua một số vấn đề có liên quan đến Samba và cách cài đặt, cấu hình một hệ thống Samba trên Linux nhằm chia sẻ các tệp và thư mục
Giới thiệu về Samba
Samba là một ứng dụng chạy trên Unix cố gắng mô phỏng một hệ thống Windows Samba cho phép một hệ thống Unix gia nhập vào hệ thống “Network Neighborhood” và người dùng Windows có thể truy nhập tài nguyên trên Unix (Tệp và Printer) mà không
hề biết đó là các dịch vụ do Unix cung cấp
Trang 8Điều này thực hiện được nhờ sự mô phỏng giao thức Windows "Common Internet File System", hay CIFS và giao thức truyền tin Server Message Block (SMB) SMB dựa trên giao diện NetBIOS để truyển thông tin giữa các máy tính trong một mạng LAN Theo giao diện do NetBIOS quy định, các máy tính được đánh tên theo một sơ đồ, trong đó các máy tính trong mạng LAN có tên duy nhất (còn gọi là tên NetBIOS) và việc truyền
dữ liệu giữa các máy tính thực hiện thông qua tên này Giao thức NetBEUI được dùng khá phổ biến hiện nay được xây dựng với mục đích chính là chuyển các gói tin NetBIOS trong mạng LAN sử dụng các chuẩn TokenRing và Ethernet
Samba bao gồm 2 chương trình chính và một số công cụ hỗ trợ kèm theo Hai chương
trình chính là smbd và nmbd kết hợp với nhau để thực thi 4 dịch vụ CIFS cơ bản sau:
• Dịch vụ tệp và máy in (smbd)
• Xác thực phân quyền truy cập tài nguyên (smbd)
• Phân giải tên - Name resolution (nmbd)
• Thông báo về các dịch vụ ra bên ngoài - Service announcement (nmbd)
Sau đây là một số công cụ đi kèm Samba:
smbclient
Đây là một SMB client, với chức năng tương tự như một công cụ FTP Được dùng để kết nối từ hệ thống Unix tới một SMB share của một hệ thống Windows để truyền tệp, gửi tệp hoặc gửi tệp tới máy in đã được chia sẻ
nmblookup
Client của dịch vụ phân giải tên NetBIOS Nmblookup có thể sử dụng để tìm các tên NetBIOS trên mạng, tìm địa chỉ IP tương ứng và các thông tin khác của một máy chạy Windows
swat
Swat hay SambaWebAdministrationTool cho phép cấu hình Samba từ xa qua giao diện
Web
Tìm và cài đặt Samba
Phiên bản mới nhất của Samba là 2.2, cung cấp khá nhiều tính năng cao cấp như: hỗ trợ Windows 2000, cho phép cài đặt như một máy điều khiển vùng chính Windows NT Primary Domain Controller
Hầu hết các phiên bản Linux đều có kèm theo Samba trên đĩa CD Tuy nhiên, để có thể
có bản cài đặt mới nhất của Samba, kết nối tới địa chỉ http://www.samba.org
Trang 9Việc cài đặt Samba có thể được thực hiện theo một trong 2 cách: cài đặt trực tiếp từ mã nguồn hoặc qua các gói phần mềm RPM
Nếu dịch Samba từ mã nguồn, Samba sẽ được cài đặt vào thư mục /usr/local/samba Các tệp cấu hình sẽ được đặt trong thư mục /usr/local/samba/conf, còn chương trình sẽ được đặt vào /usr/local/samba/bin.
Nếu cài đặt từ các gói phần mềm RPM (sử dụng công cụ rpm), các tệp cấu hình sẽ được đặt vào thư mục /etc/samba, còn chương trình sẽ được đặt vào thư mục /usr/local/ samba/bin.
Tệp cấu hình quan trọng nhất của Samba là tệp smb.conf Hầu hết các công việc của người quản trị cần làm với Samba đều thực hiện thông qua tệp này
Làm việc với tệp smb.conf
Sử dụng một trình soạn thảo văn bản không định dạng ( ví dụ vi hay pico) để thực hiện
các sửa đổi trên smb.conf Tuy nhiên lưu ý rằng nếu cần, người quản trị nên lưu tệp gốc trước khi sửa đổi, phòng trường hợp hệ thống có sự cố thì vẫn có thể khôi phục được cấu hình cũ
Trong tệp smb.conf, các dòng được bắt đầu với các ký tự "#" hay ";" được coi là “chú thích” và sẽ không được xử lý bởi Samba khi thực thi
Tệp smb.conf được chia làm 2 phần chính: cầu hình toàn cục (Global Settings) và các cấu hình cho việc chia sẻ tài nguyên (Share)
Cấu hình toàn cục Global Settings
Cấu hình toàn cục được thể hiện bằng các dòng thông tin đặt sau dòng [global]
Một số thông tin cầu hình cần sửa đổi lại cho phù hợp:
• workgroup : Tên workgroup mà Samba gia nhập.
• server string: Mô tả về Server Thông tin này sẽ xuất hiện khi người dùng
duyệt mạng qua “Network Neighborhood”
• encrypt passwords : Mật khẩu có mã hoá hay không Lưu ý: Windows 98SE,
Windows NT SP3, Windows 2000 đều yêu cầu mật khẩu phải mã hoá trước khi gửi qua mạng
• tệp log: Tệp log lưu lại các thông tin về truy cập tài nguyên Mặc định tham số này nhận giá trị /var/log/samba/%m.log, tức là mỗi máy đã từng truy nhập
Samba sẽ được ghi thông tin ra một tệp riêng
Trang 10• security: Phương thức xác thực người dùng truy nhập Tham số này có thể nhận
các giá trị sau:
◦ share: Tương tự như phương thức share-level access control của
Windows Theo phương thức này, việc truy xuất tài nguyên không phân biệt người dùng, khi truy xuất chỉ cần cung cấp password
◦ user: Người dùng khi truy xuất phải cung cấp username và mật khẩu.
Tuy nhiên việc xác thực thông tin được thực hiện cục bộ Thông tin về account sẽ được lưu ra một tệp riêng smbpasspd trong thư mục lưu các tệp cấu hình (không dùng cơ sở dữ liệu account của hệ thống)
◦ server: Xác thực người dùng thông qua một hệ thống Samba hoặc Windows NT khác Tham số này sẽ yêu cầu tham số password server (
xem bên dưới)
• password server: Tên NetBIOS của máy (hoặc địa chỉ IP của máy) sử dụng để
xác thực người dùng Samba sẽ forward yêu cầu xác thực (bao gồm username
và password do người dùng cung cấp) tới password server và nhận kết quả trả
về Nếu thông tin được xác nhận là đúng, người dùng sẽ được phép truy cập thông tin
• interface: Nếu máy có nhiều địa chỉ IP, hãy liệt kê các địa chỉ IP Samba sẽ
phục vụ Mặc định Samba sẽ phục vụ yêu cầu tới từ tất cả các địa chỉ
• username map: Samba cho phép ánh xạ tên truy cập Samba với tên account hệ thống Chẳng hạn, ta có thể ánh xạ root với account Administrator vẫn thường
thấy trong các hệ thống Windows NT
• guest account: Có hỗ trợ guest account giống như trong các hệ thống Windows
NT không
• wins support: Có hỗ trợ Wins không
• wins server: Địa chỉ IP hoặc tên NetBIOS của máy chủ WINS trong trường hợp
có chọn hỗ trợ Wins
• host allow: Các máy tính được phép kết nối tới Samba Việc kiểm tra được dựa
trên địa chỉ IP của máy kết nối
Các tham số dưới đây liên quan đến phần hỗ trợ browsing của Samba
• local master: Local master là dịch vụ hỗ trợ việc cung cấp danh sách các máy
tính vàcác dịch vụ cung cấp tương ứng trong mạng cục bộ Để có thể duyệt mạng (qua Network Neighborhood) ta cần phải có dịch vụ này Tham số này cho phép Samba có thể trở thành một local master
• os level: Để Samba có thể trở thành local master, mạng cục bộ phải trải qua
một quá trình tìm kiếm máy tính sẵn sàng đảm nhiệm chức năng này Quá trình
này gọi là “browser election” Hệ thống nào có tham số os level cao hơn sẽ trở
thành local master
• domain master: Tham số này cho phép Samba liên kết và tổ chức thông tin từ
các local master khác Chỉ dùng tham số này khi cấu hình Samba như một PDC