1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Dịch vụ mạng Linux Khoa Công Nghệ Thông Tin

92 192 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 92
Dung lượng 13,38 MB

Nội dung

Giáo trình Dịch vụ mạng Linux gồm các chương sau: Chương 1: Cài đặt CentOS, Chương 2: Dịch vụ Telnet, SSH, Chương 3: Dịch vụ DHCP, DNS, Chương 4: Dịch vụ Web, Chương 5: Dịch vụ FTP, Chương 6: Dịch vụ Mail.

Trang 1

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC LẠC HỒNG

GIÁO TRÌNH

DỊCH VỤ MẠNG LINUX

Trang 2

LỜI NÓI ĐẦU

Giáo trình Dịch vụ mạng Linux sử dụng cho sinh viên ngành Công nghệ thông

tin Giáo trình này giúp sinh viên có những kiến thức tổng quan về các dịch vụ mạng

và hướng dẫn sinh viên có thể thiết lập, cài đặt các dịch này trên hệ điều hành Linux

Trang 3

MỤC LỤC

Lời nói đầu

Chương 1: Cài đặt CentOS 1

1.1 Cài đặt 1

1.2 Cấu hình mạng 12

1.3 File hệ thống 17

1.4 Các chế độ hoạt động 26

Chương 2: Dịch vụ Telnet, SSH 33

2.1 Dịch vụ Telnet, cài đặt và cấu hình 33

2.2 Dịch vụ SSH, cài đặt và cấu hình 35

Chương 3: Dịch vụ DHCP, DNS 37

3.1 Dịch vụ DHCP, cài đặt và cấu hình 37

3.2 Dịch vụ DNS, cài đặt và cấu hình 38

Chương 4: Dịch vụ Web 53

4.1 Dịch vụ Web 53

4.2 Cấu hình Apache Web Server 58

Chương 5: Dịch vụ FTP 65

5.1 Dịch vụ FTP 65

5.2 Một số phần mềm làm FTP Server 67

5.3 Chương trình FTP Client 67

5.4 Giới thiệu VsFTP 69

5.5 Cấu hình Virtual FTP Server 72

Chương 6: Dịch vụ Mail 74

6.1 Dịch vụ Mail 74

6.2 Hệ thống Mail 75

Trang 4

6.3 Một số khái niệm 78 6.4 Một số file cấu hình cần thiết 81

Trang 5

số yêu cầu về phần cứng và phần mềm:

Phần mềm cài đặt: Ta có thể lựa chọn một trong các nhà phân phối như RedHat Linux, Fedora, Ubuntu, Mandrak…

Phần cứng:

- CPU 386 trở lên, BUS ISA,PCI,EISA

- Keyboard:US English 105 key Hoặc các loại khác

- Mouse type

- Hard disk size: Nên có tối thiểu 1.8 GB song khuyến cáo nên có 3,5 GB

- RAM –tối thiểu 64M (RedHat 7.2) chọn Dùng thêm SWAP file nhờ một bộ nhớ ảo (Gấp đôi RAM value)

- Tuy vậy đối với những Kernel mới (2.6x) trở lên ta nên sử dụng cấu hình mạnh hơn như HDD tối thiểu 5GB, RAM 256 M

- Lưu ý dung lượng SWAP ( không gian hoán đổi bộ nhớ) cần hai lần lớn hơn dung lượng RAM

1.1.2 Phân vùng đĩa

Đĩa cứng được phân ra nhiều vùng khác nhau gọi là Partition Mỗi partition sử dụng một hệ thống tập tin và lưu trữ dữ liệu Mỗi đĩa chỉ chi tối đa 4 partition chính (primary) Giới hạn như vậy là do Master Boot Record của đĩa ghi tối đa 4 chỉ mục partition

Để tạo nhiều partition lưu trữ dữ liệu (hơn 4) người ta dùng partition mở rộng (extended partition) Thực ra partition mở rộng cũng là primary partition nhưng cho phép tạo các partition con được gọi là logical partition Linux sử dụng cơ chế truy xuất

ổ đĩa thông qua tập tin Mỗi ổ đĩa được gán với một tập tin trong thư mục /dev Ký hiệu fd cho đĩa mềm, hd cho ổ cứng, sd dành cho ổ SCSI Ký tự a,b,c,… gắn thêm vào

để xác định các ổ đĩa khác nhau cùng loại

Bảng 1.1: Mô tả ổ đĩa trong Linux

Ký tự mô tả ổ đĩa Physical block devices (các thiết bị lưu trữ vật lý)

Trang 6

2

Theo ví dụ trên đĩa cứng thứ nhất hda: có hai loại partition chính ký hiệu là hda1, hda2 Một partition mở rộng hda3 Trong partition mở rộng hda3 có hai partition logic có ký hiệu là hda6 và hda5 Hai phân vùng cần thiết cho Linux

- Phân vùng / là phân vùng chính chứa các thư mục gốc của hệ thống

- Phân vùng /boot chứa các boot loader, boot image của hệ điều hành

- Phân vùng swap được dùng làm không gian hoán đổi dữ liệu khi phân vùng nhớ chính được sử dụng hết Kích thước của phân vùng swap sử dụng tùy thuộc

hệ thống mình sử dụng ít hay nhiều ứng dụng Kích thước vùng swap được khuyến khích lớn hơn hay bằng dung lượng RAM

- Giao diện KDE 3.5.8 cùng với các tính năng multimedia, đọc DVD đa dạng

- Cung cấp giao diện quản lý mạng NetworkManager 0.7 hỗ trợ tính năng quản

lý và thiết bị mạng không dây

- Cấp chương trình PulseAudio là một chương trình quản lý sound card hiệu quả và có thể tương thích với hầu hết các hệ thống sound mới Cùng với chương trình giải mã CodecBuddy có thể hỗ trợ thêm cho các chương trình nghe nhạc

- Cung cấo ứng dụng văn phòng OpenOffice.org 3 với nhiều tính năng mới

- Tích hợp thêm bộ nhận dạng cho các thiết bị Bluetooth

- Hỗ trợ cho laptop bộ xử lý theo kiến trúc x86 và x86-64

- CentOS sử dụng kernel phiên bản 2.6.25

Khởi tạo cài đặt: chương trình hướng dẫn cài đặt trực tiếp từ CDROM, sau đó chọn menu cài đặt:

Trang 7

3

Hình 1.1: Chương trình hướng dẫn cài đặt trực tiếp từ CDROM

Chọn Skip trong hộp thoại Disk Found, để không kiểm đĩa CDROM trước khi cài đặt, sau đó hệ thống sẽ nạp chương trình anaconda để vào chết độ đồ họa

Hình 1.2: Hộp thoại Disk Found

Chọn Next để qua bước kế tiếp Chọn ngôn ngữ English làm ngôn ngữ hiển thị trong quá trình cài đặt, có thể chọn ngôn ngữ tiếng việt, chọn Next để tiếp tục bước kế tiếp:

Hình 1.3: Hộp thoại chọn ngôn ngữ

Nhấn Next

Trang 8

Hình 1.6: Hộp thoại chọn phương thức tổ chức Partition

Chọn New để tạo phân vùng mới, ta cần tạo bốn phân vùng, phân vùng /, phân vùng /boot, phân vùng swap, phân vùng /home

Trang 9

5

Hình1.7: Hộp thoại tổ chức Partion 1

Tạo phân vùng /boot với kích thước là 100MB, chọn Mount Point /boot để tạo phân vùng boot, chọn File System Type là ext3, chọn size (MB) là 100, chọn OK để hoàn tất Làm tương tự để tạo các phân vùng /, home với kích thước khoảng 8GB, 1GB để chứa dữ liệu hệ thống và dữ liệu người dùng Để tạo phân vùng swap ta chọn File System Type: swap với Size khoảng 512 MB (gấp đôi RAM)

Hình 1.8: Hộp thoại tổ chức Partion 2

Giải thích thêm về Partition:

Để dễ quản lý HDD, ta chia nó ra thành nhiều vùng khác nhau.Mỗi vùng như thế

ta gọi là một partition – Số lượng partition được giới hạn trên một ổ cứng Trên Linux

ta có thể chia tối đa là 4 primary partition.Có duy nhất một active partition

Để chia nhiều hơn bốn partitions, ta cần tạo một extended partition (gọi là primary), và trong extended partition này, ta sẽ tạo các partitions gọi là logical partition Số lượng logical partition là không giới hạn Nhưng nên nhớ rằng logical partition không thể là một active partition được

Vấn đề phân chia partition cần được quan tâm trước khi cài đặt, đặc biệt khi cài đặt chung với HĐH Windows.Ta có thể dùng nhiều phần mềm quản lý partition ví dụ như “Partition magic” để phân chia HDD thành nhiều partitions khác nhau và theo sơ

đồ sau để cài chung Linux, Windows trên đó:

Partition label Kiểu Size Status log/pri hda

- hda1 Windows FAT32 > 4GB active primary

Trang 10

6

- hda2 /boot ext3 >=100MB primary

- hda3 extended xxx primary

- hda4 Setup FAT32 xxx logical

- hda5 /(root) ext3 > 3GB logical

- hda6 swap sizeof RAM hoặc 2 * sizeof(RAM)

Mỗi HĐH sẽ cài đặt trên một (hoặc nhiều) phân vùng riêng biệt Hình 1.2 dưới đây mô tả việc phân vùng trên HDD

Hình 1.10: Hộp thoại chọn chế độ quản lý boot loader

Chọn Edit để đặt tên máy và địa chỉ Ipv4 hoặc Ipv6, gateway cho hệ thống, chọn Next để tiếp tục quá trình cài đặt

Trang 11

7

Hình 1.11: Hộp thoại cài đặt thông số mạng 1

Hình 1.12: Hộp thoại cài đặt thông số mạng 2

Chọn Time Zone cho hệ thống dựa vào bản đồ, chọn Next để tiếp tục

Hình 1.13: Hộp thoại chọn Time Zone

Trang 12

8

Đặt mật khẩu cho người dùng quản trị root, mật khẩu này ít nhất là 6 ký tự, chọn Next để tiếp tục

Hình 1.14: Hộp thoại đặt mật khẩu quản trị

Chỉ định cài đặt phần mềm cần thiết hay thêm các phần mềm khác Sau đó chọn Next để tiếp tục quá trình cài đặt

Hình 1.15: Hộp thoại lựa chọn phần cài đặt thêm 1

Hình 1.16: Họp thoại lựa chọn phần cài đặt thêm 2

Trang 13

9

Hình 1.17: Hộp thoại lựa chọn phần cài đặt thêm 3

Chọn phần mềm cài đặt cần thiết, ta có thể họn phần mềm theo nhóm ở cửa sổ bên phải, và chọn phần mềm cụ thể ở cửa sổ bên trái, tùy chọn Optional packages chỉ định cụ thể các gói, các thư viện hỗ trợ thêm cho phần mềm được lựa chọn cụ thể bên phải Chọn Next để hệ thống bắt đầu kiểm tra phần mềm đã chọn có phù hợp với dung lượng đĩa hay không, nếu phù hợp thì tiếp tục chọn Next

Hình 1.18: Hệ thống kiểm tra sự phù hợp của phần đã chọn

Hệ thống định dạng filesystem và cài đặt hệ thống Chờ quá trình cài đặt trong vài phút Sau khi hệ thống cài đặt xong, Reboot để khởi động lại

Màn hình khởi động ban đầu của CentOS

Trang 14

10

Hình 1.19: Màn hình khởi động CentOS

Khởi tạo thông tin ban đầu cho hệ thống trước khi sử dụng, trong giai đoạn này ta phải đặt một số thông số về Firewall, Licese, Date and Time, Hareware, Create User Sau đây là một số bước chính:

Chỉ định Firewall cho một số dịch vụ hệ thống Đặt các dịch vụ được phép truy xuất vào Linux, các dịch vụ khác bị cấm

Hình 1.20: Màn hình chỉ định Firewall

Thiết lập SELinux để tăng tính năng bảo mật hệ thống

Trang 15

11

Hình 1.21: Màn hình mục SELinux

Cấu hình Date and Time cho hệ thống

Hình 1.22: Màn hình thiết lập Date and Time

Tạo tài khoản đăng nhập hệ thống và sử dụng, đây là tài khoản người dùng thường, không phải tài khoản có chức năng quản trị hệ thống, mật khẩu đã được thiết lập trong quá trình cài đặt, Chọn Finish để hoàn tất cấu hình

Trang 16

12

Hình 1.23: Màn hình thiết lập tài khoản đăng nhập

Nhập tên người dùng và mật khẩu tương ứng để đăng nhập vào hệ thống, trong hộp thoại này ta cũng chọn được ngôn ngữ hiển thị, giao diện sử dụng (session) là KDE hay GNOME, mặc định hệ thống chọn giao diện GNOME

Hình 1.24: Màn hình đăng nhập hệ điều hành

Giao diện sử dụng của hệ thống CentOS

Hình 1.25: Giao diện sử dụng hệ điều hành CentOS

Trang 17

13

<Địa chỉ ip><hostname ><domainname của hostname>

Khi muốn tên máy được đặt cố định một tên nào đó và tên này sẽ không thay đổi khi ta khởi động lại hệ thống thì ta thay đổi thông số HOSTNAME trong file /etc/sysconfig/network

• Ví dụ:# ifconfig –a

eth0 Link encap:Ethernet HWaddr 00:0C:29:6D:F0:3D

inet addr:172.29.14.150 Bcast:172.29.14.159 Mask:255.255.255.224

inet6 addr: fe80:20c:29ff:fe6d:f03d/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:6622 errors:0 dropped:0 overruns:0 frame:0

TX packets:1425 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:793321 (774.7 Kb) TX bytes:240320 (234.6 Kb)

Interrupt:10 Base address:0x1080

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:76 errors:0 dropped:0 overruns:0 frame:0

TX packets:76 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RX bytes:8974 (8.7 Kb) TX bytes:8974 (8.7 Kb)

1.2.3 Thay đổi địa chỉ IP

Ta có nhiều cách thay đổi địa chỉ IP của PC trên Linux, sau đây là ba cách cơ bản nhất

Cách 1: Dùng lệnh ifconfig <interface_name><IP_address> netmask

<netmask_address> up

• Ví dụ:# ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up

Trang 18

14

Cách 2: Ta có thể thay đổi thông tin cấu hình mạng trực tiếp trong file /etc/sysconfig/network-scripts/ifcfg-eth0 (ta có thể dùng chương trình mc để edit file này) Gán địa chỉ IP tĩnh (tham khảo file ifcfg-eth0 )

Sau đó ta dùng lệnh: ifdown eth0, ifup eth0

Cách 3: Ta dùng trình tiện ích setup để cấu hình (tham khảo trình tiện ích setup trong bài học trình tiện ich)

1.2.4 Tạo nhiều địa chỉ IP

Thông thường phương thức tạo nhiều địa chỉ IP trên card mạng được gọi là IP alias Alias này phải có tên dạng parent-interface-name:X, trong đó X là subinterface number Một số cách để tạo Alias IP

Cách 1

- Bước 1: Đảm bảo rằng tên interface thật phải tồn tại, và kiểm tra các IP Alias trong hệ thống có tồn tại hay không

- Bước 2: Tạo Virtual interface dùng lệnh ifconfig

o # ifconfig ifcfg-eth0:0 192.168.1.99 netmask 255.255.255.0 up

- Hoặc tạo một tên file /etc/sysconfig/network-scripts/ifcfg-eth0:0 từ file /etc/sysconfig/network-scripts/ifcfgeth0 sau đó ta thay đổi thông tin địa chỉ trong file này

- Bước 3: Bật và tắt alias interface thông qua lệnh ifconfig

o # ifup eth0:0

o # ifdown eth0:0

- Bước 4: Kiểm tra thông tin cấu hình alias interface dùng lệnh ifconfig:

# ifconfig

Trang 19

15

eth0 Link encap:Ethernet HWaddr 00:0C:29:6D:F0:3D inet addr:172.29.14.150 Bcast:172.29.14.159 Mask:255.255.255.224 inet6 addr: fe80:20c:29ff:fe6d:f03d/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:7137 errors:0 dropped:0 overruns:0 frame:0

TX packets:1641 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

RX bytes:848367 (828.4 Kb) TX bytes:265688 (259.4 Kb) Interrupt:10 Base address:0x1080

eth0:0 Link encap:Ethernet HWaddr 00:0C:29:6D:F0:3D inet addr:172.29.15.150 Bcast:172.29.15.159 Mask:255.255.255.224

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:7137 errors:0 dropped:0 overruns:0 frame:0

TX packets:1641 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

RX bytes:848367 (828.4 Kb) TX bytes:265688 (259.4 Kb) Interrupt:10 Base address:0x1080

Cách 2

- Tạo tập tin parent-interface-name:X bằng cách copy file /etc/sysconfig/network-scripts/ifcfg-eth0 thành file /etc/sysconfig/network-scripts/ifcfg-eth0:X (trong đó X là số thứ tự của subinterface)

- Thay đổi thông tin cấu hình mạng trong file ifcfg-eth0:X (các thông tin in đậm

là thông tin bắt buộc ta phải thay đổi)

DEVICE=eth0:0 ONBOOT=yes BOOTPROTO=static IPADDR=172.29.14.151 NETMASK=255.255.255.224 GATEWAY=172.29.129

- Dùng lệnh service network restart

1.2.5 Xem bảng định tuyến mạng

Lệnh netstat –rn để xem bảng routing table của router

• Ví dụ: # netstat –rn

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

172.29.15.128 0.0.0.0 255.255.255.224 U 0 0 0 eth0

Trang 20

1.2.6 Thay đổi default gateway

Việc chỉ định địa chỉ default gateway cho hệ thống là công việc rất quan trọng vì default gateway chính là cầu nối quan trọng giúp cho hệ thống nội bộ có thể giao tiếp với hệ thống bên ngoài và ngược lại, việc đặt địa chỉ này tùy thuộc vào từng hệ thống

cụ thể mà ta có địa chỉ default gateway thích hợp, để đặt địa chỉ default gateway trên Linux ta có thể dùng lệnh route Thông qua lệnh này ta cũng có thể mô tả, cập nhật các con đường đi hỗ trợ việc xây dựng bảng định tuyến trên router Ta chỉ định địa chỉ 172.29.14.150 là default gateway cho hệ thống nội bộ, ta có thể dùng lệnh sau:

• Ví dụ:#route add default gw 172.29.14.150

Ta có thể dùng lệnh route add để chỉ định nhiều default gateway:

• Ví dụ: #route add -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.254 eth0

1.2.7 Mô tả định tuyến mạng

Thông thường khi ta mô tả các route cho bảng routing table cho hệ thống khi ta muốn triển khai hệ thống nội bộ như một router mềm thì ta dùng file /etc/sysconfig/static-routes hoặc có thể dùng lệnh các route add trong file /etc/rc.d/rc.local, tuy nhiên ta có thể làm cách khác bằng cách dùng tạo script file sau: /etc/sysconfig/network-scripts/route-*interface_name, trong đó interfacename chính là tên outgoing interface

• Cú pháp:

Destination/prefix_mask via gateway

Trong ví dụ sau ta thêm đường mạng 10.0.0.0 và bảng định tuyến

• Ví dụ: [root@server tmp]# netstat –nr

Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0 [root@bigboy tmp]#./ifup-routes eth0 (->thực thi interface ) [root@bigboy tmp]# netstat -nr

Kernel IP routing table Destination Gateway Genmask Flags MSS Window irtt Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0

Trang 21

17

169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0 10.0.0.0 192.168.1.254 255.0.0.0 UG 0 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

1.2.8 Xóa thông tin trong bảng định tuyến

Để xóa đường đi trong bảng định tuyến ta dùng lệnh #route del

• Ví dụ:#route del -net 10.0.0.0 netmask 255.0.0.0 gw 192.168.1.254 eth0

1.3 File hệ thống

1.3.1 Tập tin

Ở mức vật lý, đĩa cứng được định dạng từ các thành phần sector, track, cylinder

Ở mức logic hệ thống sử dụng cấu trúc riêng, có thể dùng chỉ mục hay phân cấp để có thể xác định được dữ liệu từ mức logic tới mức vật lý Cách tổ chức như vậy gọi là hệ thống tập tin (còn gọi là filesystem)

Linux hỗ trợ rất nhiều loại hệ thống tập tin như: ext2, ext3, MS-DOS, proc Hệ thống tập tin cơ bản của Linux là ext2 và ext3 (hiện tại là ext3) Hệ thống tập tin này cho phép đặt tên tập tin tối đa 256 ký tự Bên cạnh đó, Linux còn hỗ trợ vfat cho phép đặt tên tập tin dài đối với những tập tin MS-DOS và những partition FAT32 Proc là một hệ thống tập tin ảo (/proc) nghĩa là không dành dung lượng đĩa phân phối cho nó Ngoài ra còn có những hệ thống tập tin khác như iso9660, UMSDOS, Network File System (NFS)

Đặc điểm của ext3

- Được công bố vào tháng 11 năm 2001

- Số nhận diện partition là 0x83

- Kích thước tối đa đạt 16GB – 2TB

- Chiều dài tên file đạt 256 ký tự

- Kích thước tối đa của partition từ 2TB đến 32 TB

Trang 22

18

• Kích thước và cấu trúc filesystem

• Thời gian cập nhật filesystem cuối cùng

• Thông tin trạng thái

Inode (256 byte) lưu những thông tin về tập tin và thư mục được tạo trong

filesystem Mỗi tập tin tạo ra sẽ được phân bổ một inode lưu thông tin sau:

• Loại tập tin và quyền hạn tập tin

• Người sở hữu tập tin

• Kích thước và số hard link đến tập tin

• Ngày và giờ chỉnh sửa tập tin lần cuối cùng

• Vị trí lưu nội dung tập tin trong filesystem

Storageblock là vùng lưu dữ liệu thực sự của tập tin và thư mục Nó chia thành

những datablock Mỗi block chứa 1024 ký tự Ngay khi tập tin chỉ có 1KB thì cũng phải cấp 1 block để lưu trữ nó Không có ký tự kết thúc tập tin

• Data Block của tập tin thường lưu inode của tập tin và nội dung của tập tin

• Data block của thư mục lưu danh sách những entry gồm inode number, tên tập tin và những thư mục con

1.3.1.2 Loại tập tin

Trong linux tập tin dùng lưu dữ liệu, bao gồm thư mục và thiết bị lưu trữ Một tập tin đữ liệu, hay một thư mục đều được xem là tập tin Khái niệm tập tin còn mở rộng dùng cho các thiết bị như máy in, đĩa cứng… ngay cả bộ nhớ chính cũng được coi là một tập tin

Tập tin trong Linux được chia làm 3 loại chính:

§ Tập tin dữ liệu: là dữ liệu lưu trữ trên các thiết bị như đĩa cứng

§ Thư mục: chứa thông tin những tập tin và thư mục con trong nó

§ Tập tin thiết bị: hệ thống Linux xem các thiết bị như các tập tin Ra và

dữ liệu trên các tập tin chính là ra vào cho thiết bị

§ Tập tin liên kết:

Tập tin dữ liệu

Đây là tập tin theo định nghĩa truyền thống, nó là dữ liệu lưu trữ trên thiết

bị lưu trữ như đĩa cứng, CDROM, chúng ta có thể lưu bất cứ dữ liệu nào vào tập tin này như đoạn source chương trình, tập tin văn bản hay tập tin thực thi dạng mã máy, các lệnh của Linux cũng như tất cả các tập tin được tạo bởi người dùng

Tập tin thư mục

Trang 23

19

Thư mục không chứa dữ liệu, mà chỉ chứa thông tin của những tập tin và thư mục con trong nó Thư mục chứa hai trường của một tập tin là tên tập tin và inode number

Hình 1.26: Thông tin tập tin

Tập tin thiết bị

Hệ thống Unix hoặc Linux xem các thiết bị như là các tập tin, việc xuất nhập dữ liệu cho các thiết bị tương tự với việc xuất nhập dữ liệu trên file, tất cả các file thiết bị được hệ thống Linux đặt trong thư mục /dev

Ví dụ: file thiết bị đĩa mềm là /dev/fd0, của đĩa cứng là /dev/sda, /dev/had,…

Tập tin liên kết

Link (liên kết) là cách thức tạo ra một tên tập tin thứ hai cho một tập tin Đơn giản là file tạm trỏ tới một file hoặc thư mục nào đó vì thế người dùng có thể truy xuất đến các file hoặc thư mục này thông qua các file liên kết giống như đang truy xuất trực tiếp đến file và thư mục đó

§ Cú pháp: #ln [-s] <nguồn><đích>

§ Ví dụ:#ln /usr/bill/testfile1 /usr/tim/testfile2

Lý do cơ bản của việc tạo liên kết là nhân tập tin lên nhiều lần Trong ví dụ trên, cả hai tập tin chính là một Do đó, nếu có bất kỳ sự thay đổi nào trên một tập tin

sẽ ảnh hưởng ngay đến tập tin còn lại

Trên Linux có hai dạng liên kết:

• Hard link file: là hình thức tạo một hay nhiều file tạm có cùng nội dung

với file nguồn, các file này đều trỏ về cùng một địa chỉ lưu trữ nội dung hay nói cách khác chúng có cùng inodes number Khi thay đổi trên bất kỳ file nào thì nội dung trên những file còn lại sẽ thay đổi theo Khi tạo hard link thì chỉ liên hệ kết nối file cũng sẽ tăng lên, do đó khi ta lỡ xóa một file nào đó thì dữ liệu vẫn còn trên những file còn lại Để tạo hard link file ta dùng lệnh theo cú pháp sau:

• Cú pháp:

#ln <file nguồn> <file liên kết>

• Ví dụ:Tạo file hard link

#touch test

#echo “test noi dung”> $HOME/test

Trang 24

• Symbolic link file: là hình thức tạo liên kết tạm dùng để trỏ về file

nguồn, sysbolic link giúp người quản trị có thể đơn giản hóa các thao tác truy cập file hệ thống, bằng cách tạo ra liên kết file trỏ về file hệ thống, bằng cách tạo ta liên kết file trỏ về file hệ thống Khi đó, thay vì truy cập file hệ thống thì người dùng trên file liên kết tương ứng với việc thay đổi nội dung của file nguồn Để tạo liên kết symbolic link ta dùng lệnh ln -s:

• Cú pháp:

$ln -s <file nguồn> <file liên kết>

Ví dụ: Liệt kê số lượng tập tin trong bigfile

lrwxrwxrwx 1 root root 6 Sep 16:35 anotherfile -> bigfile -rw-rw-r 1 root root 2 Sep 17:23 bigfile

Điểm khác biệt giữa hard link và symmbolic link là khi xóa file nguồn thì file liên kết theo kiểu symbolic link không còn tác dụng, nhưng file liên kết theo kiểu hard link vẫn còn ý nghĩa và nội dung vẫn như cũ, chỉ có chỉ số liên kết hard link giảm đi một đơn vị

Trang 25

21

àLưu ý: khi xóa tập tin gốc, nội dung của tập tin hard link không bị ảnh hưởng

nhưng nội dung tập tin symbolic link không xem được

Cấu trúc thư mục hệ thống

Hình 1.27: Cấu trúc thư mục hệ thống

Trong Linux không có khái niệm ổ đĩa như trong windows, tất cả các tập tin thư mục bắt đầu từ thư mục gốc (/) Linux sử dụng dấu “ ” Chỉ thư mục hiện hành và dấu “ ” chỉ thư mục cha của thư mục hiện hành Khi muốn truy cập thư mục con ta truy cập theo cấu trúc <gốc>/<thư mục con> /<thư mục cần truy cập> Để truy cập vào thư mục src ta dùng lệnh $cd/usr/src

• mounting filesystem

Hình 1.28: Mounting filesystem

Trang 26

22

Như hình vẽ trên thư mục gốc được mount vào partition thứ nhất, /usr được

mount vào partition thứ hai Những dữ liệu ghi vào thư mục /home sẽ ghi vào

partition thứ ba Tương tự, dữ liệu của thư mục /usr/local ghi vô partition 4, dữ liệu

của thư mục /usr không phải thư mục con /usr/local thì ghi vào partion 2 Linux sử

dụng các tập tin chỉ đến các partition trên ổ đĩa vật lý Những tập tin này là những tập

tin thiết bị, nằm trong thư mục /dev Tập các tập tin này có dạng đầu tin là ký tự xác

định loại ổ đĩa như: đĩa mềm là fd, đĩa cứng là hd, đĩa scsi là sd … tiếp theo là số thứ

tự ổ đĩa: Ổ đĩa thứ nhất dùng ký hiệu a, thứ hai ký hiệu là b … và sau cùng là số thứ tự

Partition

Ví dụ:Tập tin chỉ đến các thiết bị:

• Ổ mềm thứ nhất: /dev/fd0

• Partition thứ nhất của ổ đĩa cứng đầu tin: /dev/hda1

• Partition thứ ba của đĩa cứng thứ hai: /dev/hdb3

Cấu trúc logic của hệ thống file được tạo từ việc ánh xạ các cấu trúc vật lý

được tạo ra khi ta cài đặt hệ thống, các thư mục nào không được tạo ra trong quá tình

cài đặt thì hệ thống sẽ tự động tạo ra Các thư mục cơ bản của Linux gồm:

Bảng 1.2: Các thư mục cơ bản trong Linux

/bin, /sbin Chứa các tập tin nhị phân hỗ trợ cho việc boot và thực thi các lệnh cần thiết

/boot Chứa linux kernel, file ảnh hỗ trợ load hệ điều hành

/lib Chứa các thư viện chia sẻ cho các tập tin nhị phân trong thư mục /bin và /sbin, chứa

/home Chứa các thư mục lưu trữ home directory của người dùng

/root Lưu trữ home directory của root

/usr Lưu trữ tập tin của các chương trình đã được cài đặt trong hệ thống

/var Lưu trữ log file, hàng đợi của các chương trình ứng dụng, mailbox của người dùng /mnt Chứa các mount point của các thiết bị được trong hệ thống

/proc Còn gọi là system file, lưu trữ thông tin về kernel

Trang 27

23

1.3.2 Các thao tác trên file hệ thống

1.3.2.1 Mount và unmount filesystem

Mount là hình thức gắn kết thiết bị vào một thư mục trong filesystem của Linux, còn gọi là mount point, sau khi mount hoàn tất việc sao chép dữ liệu giữa hệ thống và mount point, tương tự như sao chép dữ liệu giữa hệ thống và thiết bị Ta có thể mount vào hệ thống các loại thiết bị sau: hda, sda, CDROM, đĩa mềm, usb

- Điểm mount là vị trí thư mục, trong cây thư mục, mà muốn mount vào

Bảng 1.3: Tùy chọn của Mount:

-v : cho biết chi tiết

-w : mount hệ thống tập tin với quyền đọc và ghi

-r :mount hệ thống tập tin với quyền đọc

-tloại –fs : xác định hệ thống tập tin đang mount: ext2, ext3,…

-a : mount tất cả hệ thống tập tin khai báo trong /etc/fstab -oremount <fs> : chỉ định việc mount lại 1 filesystem nào đó

Ví dụ: Mount thiết bị ngoại vi

- Gắn kết cdrom: #mount /dev/cdrom /mnt/cdrom

- Gắn kết một hệ thống tập tin: #mount /dev/hda6 /mnt/source

- Remount filesystem: #mount –o remount /home

Mount tự động

Tập tin /etc/fstab liệt kê các hệ thống cần được mount tự động Mỗi dòng một hệ thống tập tin tương ứng với một gắn kết Các cột trong mỗi dòng phân cách nhau bằng khoảng trắng hoặc khoảng tab

Trang 28

24

Hình 1.28: Tập tin /etc/fstab

− Cột 1: chỉ ra thiết bị hoặc hệ thống tập tin cần mount

− Cột 2: xác định mount point cho hệ thống tập tin Đối với các hệ thống tập tin đặc biệt như swap, chúng ta dùng chữ node, có tác dụng làm cho tập tin swap hoạt động như nhìn vào cây thư mục không thấy

− Cột 3: chỉ ra loại filesystem như: vfat, ext2, ext3,…

− Cột 4: các tùy chọn phân cách nhau bởi dấu phẩy

− Cột 5: xác định thời gian để lệnh dump sao chép hệ thống tập tin Nếu trường này trống, dump sẽ giả định rằng hệ thống tập tin này không cần backup

− Cột 6: khai báo lệnh fsck biết thứ tự kiểm tra các file hệ thống tập tin khi khởi động hệ thống Hệ thống tập tin gốc (/) phải có giá trị 1 Tất cả hệ thống tập tin khác phải có giá trị 2 Nếu không khai báo, khi khởi động máy sẽ không kiểm tra tính thống nhất của tập tin

- #umount <thiết bị><điểm mount>: loại bỏ cụ thể một filesystem

- #umount -a: loại bỏ tất cả các filesystem đang mount

àLưu ý: lệnh umount không loại khỏi những hệ thống tin đang trong trạng

- #mkfs ext2 :định dạng partition theo loại ext2

- #mkfs ext3 :định dạng partition theo loại ext3

Trang 29

1.3.2.3 Quản lý dung lượng đĩa

Để quản lý và theo dõi dung lượng đĩa ta có thể sử dụng các cách khác nhau, thông thường ta dùng hai lệnh df và fdisk

• Cú pháp:

#df <option>hoặc #fdisk <option><parameters>

• Ví dụ: ví dụ về lệnh df

Hình 1.29: ví dụ lệnh df

1.3.2.4 Kiểm tra filesystem với fsck

Quản trị hệ thống chịu trách nhiệm duy trì tính nhất quán của các hệ thống tập tin Công việc thường làm là thỉnh thoảng kiểm tra xem có tập tin nào hỏng không Linux sẽ tự động kiểm tra hệ thống tập tin lúc khởi động nếu chúng có giá trị lớn hơn 0 và được xác định trong trường pass number của tập tin /etc/fstab

-V Chế độ chi tiết Cho biết lệnh fsck đang làm gì

Trang 30

26

-t loại –fs Xác định loại hệ thốgn tập tin đang cần kiểm tra

-a Tự động sửa chữa hệ thống tập tin mà không cần hỏi

-l Liệt kê tất cả các tên tâp tin trong hệ thống tập tin

-r Hỏi trước khi sửa chửa hệ thống tập tin

-s Liệt kê các superblock trước khi kiểm tra hệ thống tập tin

1.3.3 Lưu trữ tập tin và thư mục

Lệnh gzip và gunzip

Gzip dùng để nén tập tin, còn guzip dùng để giải nén các tập tin đã nén

§ Cú pháp:

$gzip [tùy chọn]<tên tập tin>

$gunzip [tùy chọn]<tên tập tin>

Gzip tạo tập tin nén với phần mở rộng.gz

§ Các tùy chọn dùng cho gunzip và gzip:

-c : Chuyển các thông tin ra màn hình -d : Giải nén, gzip –d tương đương gunzip -h :Hiển thị giúp đỡ

Tập tin nguồn|thư mục nguồn: những tập tin hoặc thư mục cần gom

§ Ví dụ:Ví dụ gom nhóm 2 tập tin passwd và group thành tập tin backup #tar -cvf /home/backup tar /etc/passwd /etc/group

#tar -xvf /home/backup tar

1.4 Các chế độ hoạt động

1.4.1 Các msức thực thi (Runlevels)

Trang 31

27

Không giống với các hệđiều hành non-UNIX chỉ có hai chếđộ cơ bản (on và off) Các hệđiều hành UNIX, bao gồm cả Linux có nhiều mức thực thi khác nhau ví dụ như mức “duy trì” (maitainance) hoặc mức “đa người dùng” (multi-user), Các mức thực thi được đánh số từ 0 đến 6

Danh sách các mức thực thi Linux

Runlevel 0 tắt máy an toàn, Runlevel 6 khởi động lại máy an toàn

Runlevel 1 là chếđộđơn người dùng

Runlevel 2 là chếđộđa người dùng, nhưng không khởi động NFS

Runlevel 3 là chếđộđa người dùng đầy đủ

Runlevel 4 không được định nghĩa và thường không sử dụng

Runlevel 5 giống với runlevel 3 nhưng chạy trình Quản lý hiển thịđồ họa

Cảinit và telinitđểđược dùng để chuyển đổi từ một chếđộ thực thi này sang chếđộ thực thi khác Nên nhớ rằng, init là chương trình khởi tạo đầu tiên được thực hiện sau khi nhân hệđiều hành được khởi tạo tại thời điểm khởi động PID đối với init

luôn luôn bằng 1

Danh sách PID đối với init luôn bằng 1

[root@nasaspc /proc]# ps uax |grep init

USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND

root 1 0.0 0.2 1368 592 ? S 20:17 0:04 init [3]

Tại mỗi mức thực thi, hệ thống sẽ dừng hoặc khởi động một tập các dịch vụ nhất

định Các file quản lý những dịch vụ này được lưu giữ trong /etc/rc/d/init.d Thư mục

này chứa gần như tất cả các file quản lý dịch vụ mà hệ thống có thể chạy Các dịch vụ

khi chạy có thểđược gọi là daemon (dịch vụ nền)

Danh sách các dịch vụ chính trong /etc/rc.d/init.d/

ls /etc/rc.d/init.d/

arpwatch functions ipchains keytable ldap netfs pcmcia rhnsd squid

Trang 32

28

Chú ý: Cũng có thể dừng hoặc khởi động bằng tay các dịch vụ daemon trong /etc/rc.d/init.d bằng cách đưa ra các tham số tương ứng Ví dụ, nếu muốn khởi động lại dịch vụ web mặc định, gõ:

Khi làm việc với các mức thực thi, sẽ cung cấp một tập các chương trình được đinh nghĩa trước nhất định để dừng chạy Nếu muốn ở mức thực thi 2 (runlevel 2), gõ:

Đến lượt nó sẽ bắt initđọc file cấu hình /etc/inittabđể tìm ra điều gì sẽ xảy ra ở

mức thực thi này

Trong trường hợp này (giả sử chúng ta đang chuyển đổi sang mức thực thi 2) các

dòng sau trong file inittab sẽđược thực hiện:

Nhưđã đề cập trên, xem file /etc/inittab

File sẽ có cấu trúc như sau:

id : runlevel : action : command

Trang 33

Trường id có thể là bất kỳ Nếu một mức thực thiđược xác định thì câu lệnh và

hành độngđược yêu cầu sẽ chỉđược thực hiện ở mức thực thi này mà thôi Nếu không

có số nào được xác định thì các dòng lệnh sẽđược thực hiện ở bất cứ mức thực thi nào

File /etc/inittab:

Mức thực thi mặc định: mức này được thiết lập tại điểm bắt đầu của file với id

và công việc initdefault Chú ý, không có lệnh nào được đưa ra Câu lệnh này đơn giản chỉ cho init biết mức thực thi mặc định là gì

Chương trình đầu tiên được gọi bởi init: /etc/rc.d/rc.sysinit Script này sẽ thiết

lập các mặc đinh của hệ thống như tham số PATH, xác định nếu mạng được cho phép, tên máy chủ,

Trang 34

30

Các dịch vụ mức thực thi mặc định: Nếu mức thực thi mặc định là 3 thì chỉ có

dòng “l3” sẽđược thực hiện Công việc (action) sẽ là “chờ”, không có chương trình nào được thực thi cho đến khi tất cả các dịch vụ trong mức thực thi 3 được chạy

Getty terminals: các dòng lệnh với id từ 1đến 6 thực thi các thiết bịảo (virtual

terminal) Đây là nơi có thể thay đổi số lượng các thiết bịảo

Mức thực thi 5: Dòng cuối cùng trong inittab thực thi trình quản lý Xwindow

nếu mức thực thi 5 được gán

1.4.3 GRUB – GRand Unified Bootloader

Là chương trình mồi thế hệ mới với nhiều tính năng mạnh, GRUB hiện nay đã là tùy chọn mặc định trong nhiều bản phân phối Linux

# grub.conf generated by anaconda

#

# Note that you do not have to rerun grub after making changes to this file

# NOTICE: You have a /boot partition This means that

# all kernel and initrd paths are relative to /boot/, eg

Trang 35

31

(hd0,0) kernel /vmlinuz-2.6.15-1.1833_FC4smp ro root=/dev/VolGroup01/LogVol00 initrd /initrd-2.6.15- 1.1833_FC4smp.img title Fedora Core (2.6.11-1.1369_FC4smp) root (hd0,0) kernel /vmlinuz-2.6.11-1.1369_FC4smp ro root=/dev/VolGroup01/LogVol00 initrd /initrd-2.6.11- 1.1369_FC4smp.img title Fedora Core-up (2.6.11-1.1369_FC4)

root (hd0,0) kernel /vmlinuz-2.6.11-1.1369_FC4 ro root=/dev/VolGroup01/LogVol00 initrd /initrd-2.6.11-1.1369_FC4.img

Với GRUB, việc cập nhật các tham số khởi động không quá phức tạp như LILO

Chỉ cần sửa lại file /boot/grub/grub.conf và chép các file cần thiết vào /boot là

lập tức có hiệu quả trong lần khởi động sau File cấu hình của GRUB cũng có nhiều lựa chọn hơn, cho phép người dùng có thể sử dụng nhiều kịch bản khởi động khác nhau

Cũng như LILO, GRUB cho phép lựa chọn nhiều kịch bản khi khởi động, cũng như cho phép người dùng chỉnh sửa các tham số khởi động ngay trước khi khởi động

Có thể sử dụng mật khẩu ngăn chặn việc này thông qua khai báo password trong file cấu hình Lệnh grub-md5-crypt cung cấp hàm mã hóa md5 cho phép che dấu mật

khẩu khi sử dụng

Các khai báo khác có thể tham khảo chi tiết thông qua lệnh info grub

Trong quá trình khởi động, tất cả các thông báo nhân hệ thống được mặc định ghi

lại trong /var/log/dmesg File này có thểđọc và in ra stdout với tiện ích /bin/dmesg

1.4.4 Khởi động đến bash

Bây giờ chúng ta sẽ xem xét các bước trong quá trình khởi động hệ thống Linux Ramdisk được khởi tạo và nạp vào bộ nhớ thật để tải các module cần thiết Nhân hệ thống được tải từđĩa cứng (hoặc CD…) xác định trong cấu hình của GRUB Trong quá trình tải này thì nhân sẽđược giải nén

Nhân hệ thống sẽ gắn (mount) phân vùng root (/) theo dạng chỉđọc

Lúc này các chương trình cần thiết trong /bin và /sbinđã sẵn sàng được truy cập Sau đó nhân hệ thống sẽ tải init - tiến trình đầu tiên

init sẽđọc file /etc/inittab và thực hiện theo các nội dung của nó Cụ thể là rc.sysinitđược chạy

Sau đó, tất cả các khai báo trong /etc/fstab được ánh xạ (mount) và kiểm tra (fsck)

Trang 37

33

Chương 2: Dịch vụ Telnet, SSH

2.1 Dịch vụ Telnet, cài đặt và cấu hình

Vì một lý do nào đó người dùng không thể ngồi trực tiếp trên máy Linux làm việc mà phải ngồi ở các vị trí khác nhau, dịch vụ telnet hỗ trợ cho người dùng trong vấn đề làm việc từ xa Nhưng để đảm bảo tính bảo mật cho hệ thống, một điều cảnh báo là chúng ta không nên làm việc từ xa bằng telnet mà nên làm việc trực tiếptại máy Linux

2.1.1 Cài đặt

Thông thường khi cài đặt Linux, dịch vụ telnet đã được cài sẵn Nếu chưa càicó thể cài telnet server từ package bằng dòng lệnh sau:rpm –i telnet-server-0.17-20.i386.rpm

2.1.2 Cấu hình

Cách 1: Dựa vào tập tin cấu hình Khi cài đặt xong trong thư mục /etc/xinetd.d sẽ xuất hiện tập tin telnet Tập tin này lưu những thông tin cấu hình về dịch vụ telnet service telnet

# service xinetd start

# service xinetd stop

# service xinetd restart

Cách 2: Cấu hình telnet Server bằng dòng lệnh

Dùng lệnh chkconfig để active telnet:

Trang 38

34

# chkconfig telnet on

Kiểm tra telnet thông qua lệnh:

#netstat -a|grep telnet

tcp 0 0 *:telnet *:* LISTEN Kiểm tra telnet có được đặt như dịch vụ hệ thống:

# chkconfig list | grep telnet

telnet: on

tạm ngưng hoạt động telnet server dùng lệnh

# chkconfig telnet off

2.1.3 Bảo mật dịch vụ Telnet

2.1.3.1 Cho phép telnet server hoạt động trên tcp port khác

Như ta đã biết telnet traffic không được mã hóa do đó nếu ta cho telnet server hoạt động trên tcp port 23 thì không được an toàn vì thế ta có thể đặt telnet server hoạt động trên tcp port khác 23 để làm điều này ta thực hiện các bước sau:

- Bước 1 Mở tập tin /etc/services và thêm dòng

flags = REUSE socket_type = stream wait = no

user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no

port = 7777 }

- Bước 4 Kích hoạt stelnet thông qua lệnh chkconfig

# chkconfig stelnet on

- Bước 5 Kiểm tra hoạt động stelnet thông qua lệnh netstat

# netstat -an | grep 777 tcp 0 0 0.0.0.0:7777 0.0.0.0:* LISTEN

Ta có thể logon vào stelnet server thông qua lệnh:

Trang 39

35

# telnet 192.168.1.100 7777

2.1.3.2 Cho phép một số địa chỉ truy xuất telnet

Ta hiệu chỉnh thông số only_from để cho phép một số host hoặc network truy xuất vào TELNET Server

2.2.1 Cài đặt

Cài đặt SSH Server ta dùng lệnh:

rpm –ivh openssh-server.version.rpm

Tập tin cấu hình /etc/ssh/sshd_config và /etc/ssh/ssh_config

Khởi tạo SSH server dùng cú pháp:

/etc/init.d/sshd start/stop/restart

2.2.2 Sử dụng

2.2.2.1 Sử dụng SSH client trên Linux

Trên client(Linux hoặc Unix) dùng lệnh ssh để login vào server Cú pháp:

$ssh [tùy_chọn] [tên/IP_máy] [tùy_chọn] [lệnh]

Ví dụ: $ssh –l root 10.8.1.1

2.2.2.2 Quản trị hệ thống Linux qua SSH Client

SSH client for Windows được thiết kế để cho phép người dùng có thể sử dụng/quản trị Unix/Linux từ hệ điều hành Windows Ta có thể download phần mềm

này từ site: http://www.ssh.com/support/downloads/ Phần mềm này hỗ trợ cho người

Trang 40

36 dùng có thể làm việc từ xa, cung cấp dịch vụsftp Màn hình “SSH Client for Windows”

Ngày đăng: 31/10/2018, 22:08

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w