TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX
Lịch sử phát triển Unix và Linux
Mục tiêu: Giới thiệu cho người học về hệ điều hành mã nguồn mở - Linux, nguyên nhân phát triển hệ điều hành này
Linux là một hệ điều hành mã nguồn mở, hiện nay đã có thể cạnh tranh với các hệ điều hành thương mại như MS Windows và Sun Solaris Được phát triển từ một dự án vào đầu những năm 1990, Linux nhằm tạo ra một hệ điều hành kiểu UNIX dành cho máy tính cá nhân tương thích với dòng máy IBM-PC.
Hệ điều hành Linux, được phát triển bởi Linus Torvalds vào năm 1991, ra đời từ ý tưởng cải tiến hệ điều hành UNIX Mặc dù đề xuất cải tiến của anh bị các nhà thiết kế UNIX từ chối, nhưng điều này đã dẫn đến việc tạo ra một hệ điều hành cho phép người dùng sửa đổi và phát triển Ngày nay, Linux vẫn duy trì tính chất mã nguồn mở.
Ngày nay, Linux có thể được cài đặt trên nhiều loại máy tính khác nhau, nhờ vào sự đóng góp của hàng nghìn lập trình viên trên toàn thế giới thông qua Internet Hệ điều hành này được phát triển với mục tiêu không phụ thuộc vào bất kỳ thương phẩm nào, nhằm mang đến sự tự do sử dụng cho mọi người Ý tưởng về Linux bắt nguồn từ Linus Torvalds, một sinh viên tại Đại học Helsinki, Phần Lan.
Linux, với việc bắt chước UNIX, mang lại nhiều ưu điểm nổi bật, bao gồm khả năng đa nhiệm cho phép chạy nhiều chương trình đồng thời Là một hệ điều hành đa người dùng, Linux cho phép nhiều người cùng đăng nhập và sử dụng hệ thống một cách hiệu quả Mặc dù ưu điểm này có thể không được phát huy tối đa trên máy PC cá nhân, nhưng trong môi trường công ty hoặc trường học, nó hỗ trợ việc chia sẻ tài nguyên, từ đó giúp giảm thiểu chi phí đầu tư vào thiết bị.
Linux không chỉ là một hệ điều hành thông thường, mà còn được phát triển để người dùng cảm thấy như đang tham gia vào một dự án mới Thực tế cho thấy, Linux hoạt động với độ ổn định tương đối cao.
1.2 Tại sao Linux phát triển?
Linux là một hệ điều hành miễn phí, nổi bật với khả năng đa nhiệm, cho phép nhiều người sử dụng cùng lúc trên các máy tính tương thích với PC.
Linux là một hệ điều hành thương phẩm nổi bật, ít phải nâng cấp và hoàn toàn miễn phí, cùng với nhiều phần mềm ứng dụng cũng không tốn phí Hệ điều hành này cho phép người dùng truy cập mã nguồn miễn phí, từ đó dễ dàng chỉnh sửa và mở rộng chức năng theo nhu cầu cá nhân.
Linux là một lựa chọn thay thế hiệu quả cho các hệ điều hành UNIX đắt tiền Nếu bạn sử dụng UNIX tại nơi làm việc, việc sử dụng Linux ở nhà sẽ mang lại trải nghiệm tương tự với chi phí thấp hơn Hệ điều hành này cho phép người dùng dễ dàng truy cập Internet, lướt web và gửi nhận thông tin một cách thuận tiện.
Một trong những lý do khiến Linux trở nên thân thiện với người dùng là vì nó cung cấp mã nguồn mở, thu hút sự đầu tư từ các tổ chức, cá nhân và quốc gia để mở rộng lựa chọn phần mềm ngoài các sản phẩm đóng kín Hơn nữa, Linux không phụ thuộc vào Microsoft Windows, mang lại sự độc lập cho người dùng.
Tại Việt Nam, nghiên cứu phát triển hệ điều hành dựa trên kernel Linux đã đạt được một số thành công đáng kể, tiêu biểu như Vietkey Linux và phiên bản tiếng Việt của RedHat Linux 6.2, CMC RedHat Linux.
Gần đây, các công ty nổi tiếng như IBM, Sun, Intel, Oracle cũng bắt đầu nghiên cứu Linux và xây dựng các phần mềm ứng dụng cho nó.
Các dòng sản phẩm
Mục tiêu: Trình bày một số dòng sản phẩm nguồn mở thông dụng
Nhiều người đã quen thuộc với các nhà sản xuất phần mềm như RedHat, ManDrake, SuSE, Corel và Caldera, cũng như các phiên bản Linux nổi tiếng như Slackware, Debian, TurboLinux và VA Linux Linux được phát hành bởi nhiều nhà sản xuất khác nhau, với mỗi bản phát hành là một bộ chương trình hoạt động trên nhóm tệp lõi (kernel) do Linus Torvalds phát triển Mỗi phiên bản đều dựa trên một kernel cụ thể; ví dụ, RedHat Linux 6.2 sử dụng phiên bản kernel 2.2.4.
Hãng RedHat đã phát triển chương trình quản lý đóng gói RPM (RedHat Package Manager), một công cụ miễn phí cho phép người dùng tự đóng gói và phát hành phiên bản Linux của riêng mình, như ví dụ của bản OpenLinux do Caldera tạo ra.
Linux mang đến một môi trường học lập trình vượt trội mà chưa có hệ điều hành nào sánh kịp Điểm nổi bật của Linux là việc cung cấp mã nguồn đầy đủ, trong khi các sản phẩm thương mại thường không tiết lộ mã nguồn của họ.
Sự ra đời của bộ vi xử lý đầu tiên vào năm 1971 và máy tính cá nhân vào năm 1975 đã đánh dấu một bước ngoặt lớn trong công nghệ Lúc bấy giờ, lĩnh vực này chủ yếu thu hút sự quan tâm của các hacker đam mê máy tính.
Một số hacker đã tự phát triển máy tính cá nhân và hệ điều hành đơn giản, tuy nhiên, hiệu năng của chúng vẫn còn hạn chế Qua thời gian, với kinh nghiệm tích lũy, nhiều hacker đã chuyển mình thành doanh nhân, góp phần vào sự phát triển và phổ biến của máy tính cá nhân nhờ vào khả năng tích hợp ngày càng cao của các vi mạch.
Tính khả chuyển của một hệ điều hành giúp ta chuyển nó từ một nền này sang nền khác mà vẫn hoạt động tốt
UNIX và Linux hiện nay có khả năng hoạt động trên nhiều nền tảng, từ máy xách tay đến máy tính lớn Tính khả chuyển của chúng cho phép các hệ thống chạy UNIX và Linux trên các nền tảng khác nhau giao tiếp một cách chính xác và hiệu quả.
Linux cung cấp hàng ngàn ứng dụng đa dạng, bao gồm các chương trình bảng tính, quản trị cơ sở dữ liệu, xử lý văn bản và phát triển phần mềm cho nhiều ngôn ngữ Ngoài ra, còn có nhiều phần mềm viễn thông trọn gói hỗ trợ người dùng.
Ưu khuyết điểm
Mục tiêu: Trình bày các ưu và khuyết điểm chính của hệ điều hành Linux
3.1 Linux cộng sinh với Windows
Tất cả phần mềm chạy trên DOS hoặc Windows không thể hoạt động trực tiếp trên Linux, tuy nhiên, cả ba hệ điều hành này có thể đồng thời tồn tại trên một máy tính.
Máy tính chỉ có thể chạy một hệ điều hành tại một thời điểm, nhưng bạn có thể cài đặt phần mềm "VMWARE" để mô phỏng nhiều hệ điều hành khác nhau chạy song song trên cùng một máy Điều này yêu cầu máy tính phải có cấu hình đủ mạnh và phù hợp.
Mặc dù Linux vẫn còn một số bất tiện và sai sót chưa được khắc phục hoàn toàn, nhưng ngày càng nhiều công ty như RedHat và Caldera đang đầu tư vào hệ điều hành này, cung cấp các giải pháp thương mại với giá cả phải chăng.
Cả hai công ty cung cấp hỗ trợ kỹ thuật qua email, fax và mạng cho khách hàng đã mua phiên bản Linux và sản phẩm của họ, nhưng không hỗ trợ cho những người sao chép các bản miễn phí.
Linux được ưa chuộng trong nhiều doanh nghiệp nhờ tính kinh tế, thường được sử dụng cho các dịch vụ như Web, DNS, định tuyến và tường lửa trên mạng nội bộ Ngoài ra, nhiều nhà cung cấp dịch vụ Internet (ISP) cũng lựa chọn Linux làm hệ điều hành chính của họ.
Kiến trúc của Linux
Mục tiêu: Trình bày các thành phần chính cấu thành hệ điều hành Linux và chức năng chính của mỗi thành phần trong cấu trúc
Linux gồm 3 thành phần chính: kernel, shell và cấu trúc tệp
Kernel là chương trình nhân, chạy các chương trình và quản lý các thiết bị phần cứng như đĩa và máy in
Shell là giao diện người dùng, hoạt động như một bộ biên dịch, nhận lệnh từ người dùng và chuyển giao cho nhân thực hiện Nhiều loại shell đã được phát triển, trong đó Linux cung cấp các shell như desktops, windows manager và môi trường dòng lệnh Hiện tại, ba shell chính được sử dụng là Bourne, Korn và C shell Bourne được phát triển tại phòng thí nghiệm Bell, C shell dành cho phiên bản BSD của UNIX, trong khi Korn shell là phiên bản cải tiến của Bourne shell Các phiên bản hiện nay của Unix, bao gồm cả Linux, đều tích hợp cả ba loại shell này.
Cấu trúc tệp quy định cách lưu trữ tệp trên đĩa, với các tệp được nhóm trong các thư mục Mỗi thư mục có khả năng chứa tệp và thư mục con khác, cho phép người dùng tạo và di chuyển tệp giữa các thư mục Đặc biệt, trên hệ điều hành Linux, người dùng có thể thiết lập quyền truy cập cho tệp và thư mục, cho phép hoặc hạn chế quyền truy cập của người dùng hoặc nhóm Các thư mục trong Linux được tổ chức theo cấu trúc cây, bắt đầu từ thư mục gốc (root) và phân nhánh ra các thư mục khác.
Kernel, shell và cấu trúc tệp là những thành phần quan trọng cấu thành hệ điều hành Nhờ vào các thành phần này, người dùng có thể thực hiện các tác vụ như chạy chương trình, quản lý tệp và tương tác hiệu quả với hệ thống.
Các đặc tính cơ bản
Linux nổi bật với những đặc điểm chính so với các hệ điều hành khác, giúp người dùng dễ dàng định hướng trong việc lựa chọn sử dụng Những đặc điểm này bao gồm tính mở, tính bảo mật cao, khả năng tùy biến linh hoạt và cộng đồng hỗ trợ mạnh mẽ.
Một số đặc điểm cơ bản của Linux:
Đặc tính cho phép người dùng thực hiện nhiều tiến trình đồng thời là một yếu tố quan trọng trong công nghệ máy tính Mặc dù máy tính chỉ sử dụng một CPU, nhưng vẫn có khả năng xử lý nhiều tiến trình cùng lúc, mang lại hiệu suất cao và trải nghiệm mượt mà cho người dùng.
Hệ điều hành Linux nổi bật với tốc độ xử lý nhanh nhờ khả năng quản lý hiệu quả tài nguyên như bộ nhớ và đĩa.
Khi hệ thống Linux gặp tình trạng thiếu bộ nhớ chính (RAM) do sử dụng quá nhiều chương trình lớn, nó sẽ sử dụng bộ nhớ từ đĩa gọi là partition swap Hệ thống sẽ di chuyển các chương trình hoặc dữ liệu không được yêu cầu truy xuất xuống vùng swap, và khi cần thiết, sẽ chuyển chúng trở lại bộ nhớ chính.
5.4 Sử dụng chung thư viện
Hệ thống Linux sở hữu nhiều thư viện chia sẻ cho các ứng dụng khác nhau, giúp tiết kiệm tài nguyên và thời gian xử lý hiệu quả.
5.5 Sử dụng các chương trình xử lý văn bản
Chương trình xử lý văn bản là công cụ thiết yếu cho người dùng Trên hệ điều hành Linux, có nhiều phần mềm như vi, emacs, và nroff giúp người dùng dễ dàng thao tác với văn bản.
5.6 Sử dụng giao diện cửa sổ
Giao diện cửa sổ của Hệ thống X Window có thiết kế tương tự như hệ điều hành Windows, mang lại sự thuận tiện cho người dùng khi làm việc X Window System, hay còn gọi tắt là X, được phát triển tại Viện Công nghệ Massachusetts (MIT) nhằm tạo ra một môi trường làm việc không phụ thuộc vào phần cứng Hệ thống này hoạt động theo mô hình client-server và bao gồm hai bộ phận chính.
- Phần server còn gọi là X server
- Phần client được gọi là X Window manager hay desktop environment
X server sử dụng trong hầu hết các bản phân phối của Linux là Xfree86 Client sử dụng thường là KDE (K Desktop Environment) và GNOME (GNU Network Object Model Environment)
Dịch vụ NIS (Network Information Service) cho phép chia sẻ tập tin mật khẩu và nhóm trên mạng, hoạt động theo mô hình client-server Hệ thống này lưu trữ thông tin người dùng và thực hiện chứng thực người dùng, giúp quản lý tài khoản hiệu quả NIS được phát triển bởi Sun Microsystems và ban đầu được gọi là Yellow Pages.
5.8 Lập lịch hoạt động chương trình, ứng dụng
Chương trình lập lịch trong Linux xác định các ứng dụng, script thực thi theo một sự sắp xếp của người dùng như: at, cron, batch
5.9 Các tiện ích sao lưu dữ liệu
Linux offers utilities such as tar, cpio, and dd for data backup and recovery Additionally, RedHat Linux features the Backup and Restore System Unix (BRU), which enables automated scheduled backups of data.
5.10 Hỗ trợ nhiều ngôn ngữ lập trình
Linux cung cấp một môi trường lập trình Unix đầy đủ với các thư viện chuẩn, công cụ lập trình, trình biên dịch và chương trình debug Ngôn ngữ chính được sử dụng trong các hệ điều hành Unix là C và C++, với gcc là trình biên dịch mạnh mẽ hỗ trợ nhiều tính năng cho cả hai ngôn ngữ này Bên cạnh C, Linux còn cung cấp trình biên dịch và thông dịch cho các ngôn ngữ khác như Pascal, Fortran và Java.
1 Linux là gì? Nêu các đặc điểm của hệ điều hành Linux
2 So sánh các ưu khuyết điểm của hệ điều hành Linux so với hệ điều hành Windows
3 Trình bày kiến trúc và chức năng các thành phần chính của Linux
Những trọng tâm cần chú ý trong bài
- Trình bày được lịch sử phát triển của Linux;
- Nắm được các đặc tính cơ bản của hệ điều hành;
Bài mở rộng và nâng cao
Tim hiểu các nội dung sau:
- Hệ điều hành Ubuntu (Wikipedia)
- Giới thiệu về Debian GNU/Linux (Wikipedia)
- Ubuntu thay đổi trở về giao diện Gnome
Yêu cầu về đánh giá kết quả học tập
+ Về kiến thức: Trình bày được lịch sử phát triển của Linux; Nắm được các đặc tính cơ bản của hệ điều hành;
Kỹ năng sử dụng thành thạo các trình duyệt và ứng dụng là rất quan trọng, giúp người dùng tìm kiếm thông tin hiệu quả và rút trích những dữ liệu cần thiết, phù hợp với yêu cầu.
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc
+ Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp
+ Về kỹ năng: Đánh giá kỹ năng thực hành tìm kiếm thông tin và rút trích được những thông tin cần thiết, đúng yêu cầu
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc
CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX
Yêu cầu đối với hệ thống
Mục tiêu của bài viết là nhấn mạnh rằng Linux có yêu cầu cấu hình hệ thống thấp hơn so với các hệ điều hành khác Để đảm bảo hoạt động hiệu quả, hệ thống cần đáp ứng cấu hình tối thiểu, tuy nhiên, khuyến nghị là nên sử dụng cấu hình cao hơn để tối ưu hóa hiệu suất.
Linux không yêu cầu cấu hình máy tính mạnh mẽ, nhưng nếu phần cứng quá yếu, có thể gặp khó khăn khi chạy X Window hoặc các ứng dụng khác Để đảm bảo hiệu suất tốt, cấu hình tối thiểu nên được sử dụng.
- CPU: Pentium MMX trở lên
- RAM: 64 MB trở lên cho Text mode, 192MB cho mode Graphics
- Đĩa cứng: Dung lượng đĩa còn phụ thuộc vào loại cài đặt
- 2M cho card màn hình nếu muốn sử dụng mode đồ họa.
Quá trình cài đặt
Mục tiêu của bài viết này là hướng dẫn chi tiết quá trình cài đặt hệ thống trên hệ điều hành Linux, giúp người học dễ dàng thực hiện việc cài đặt một cách hiệu quả và tự tin.
2.1 Chọn phương thức cài đặt
- CD-Rom: Có thể khởi động từ CD-ROM hoặc khởi động bằng đĩa mềm boot
- Đĩa cứng: Cần sử dụng đĩa mềm boot (dùng lệnh dd hoặc mkbootdisk để tạo đĩa mềm boot)
- FS image: Sử dụng đĩa khởi động mạng Kết nối tới NFS sever
- FTP: Sử dụng đĩa khởi động mạng Cài trực tiếp qua kết nối FTP
- HTTP: Sử dụng đĩa khởi động mạng Cài trực tiếp qua kết nối HTTP
2.2 Chọn chế độ cài đặt
Chúng ta có thể chọn các chế độ:
- Linux text: chế độ text (Text mode)
- [Enter]: chế độ đồ họa (Graphical mode)
2.3 Chọn ngôn ngữ hiển thị trong quá trình cài đặt
Chọn ngôn ngữ “English” rồi chọn Next
Chọn loại bàn phím của mình, chọn Next
Chọn loại Mouse phù hợp với mouse của mình Khi chọn lưu ý cổng gắn mouse là serial hay PS/2, chọn Next
2.6 Lựa chọn loại màn hình
Hệ điều hành thường tự động nhận diện loại màn hình hiển thị Nếu không, bạn cần cấu hình lại màn hình hiển thị trong hộp thoại bên phải và chọn "Next".
2.7 Lựa chọn loại cài đặt
Một số loại cài đặt thông dụng:
- Workstation: Cài đặt hệ điều hành phục vụ cho công việc của một máy trạm
- Server: Cài đặt hệ điều hành phục vụ cho máy chủ
- Custom: có thể tích hợp các tùy chọn trên một cách tùy ý
Hệ thống tự động phân vùng ổ đĩa một cách hợp lý để cài đặt hệ điều hành, thường tạo ra hai phân vùng chính là /boot và /, cùng với phân vùng swap.
- Manually partition with Disk Druid: Chia partition bằng tiện ích Disk Druid Đây là cách chia partition dưới dạng đồ họa dễ dùng
- Nếu ta là người mới học cách cài đặt thì nên lựa chọn Automatically partition
- Remove all Linux partitions on this system: loại bỏ tất cả các Linux partition có sẵn trong hệ thống
- Remove all partitions on this system: loại bỏ tất cả các partition có sẵn trong hệ thống
To optimize your disk management, retain all existing partitions and utilize only the available free space for creating new partitions.
Tùy theo từng yêu cầu riêng mà ta có thể lựa chọn các yêu cầu trên cho phù hợp, sau đó chọn Next
2.10 Chia Partition bằng Disk Druid
Trong bước 8 ta chọn Manually partition with Disk Druid để thực hiện phân chia phân vùng sử dụng tiện ích Disk Druid
Disk Druid hiển thị các partition của đĩa dưới chế độ đồ họa ở phía trên, ta có thể chọn từng partition để thao tác
Chi tiết các partition gồm kích thước, loại hệ thống tập tin, thư mục được mount vào được mô tả trong hình sau:
- New: Tạo một partition mới, chỉ định tên phân vùng (mount point), loại filesystem (ext3) và kích thước (size) tính bằng Mbyte (tùy chọn)
- Edit: Thay đổi lại các tham số của phân vùng được chọn
- Delete: Xóa phân vùng được chọn
- Reset: Phục hồi lại trạng thái đĩa như trước khi thao thác
- Make RAID: Sử dụng với RAID (Redundant Array of Independent Disks) khi ta có ít nhất 3 đĩa cứng
2.11 Cài đặt chương trình Boot Loader
Boot Loader là chương trình giúp người dùng chọn hệ điều hành để khởi động thông qua menu Khi lựa chọn một hệ điều hành, Boot Loader xác định các tập tin cần thiết và chuyển giao quyền điều khiển cho hệ điều hành đó Chương trình này có thể được cài đặt vào Master Boot Record hoặc vào sector đầu tiên của phân vùng.
Linux cho phép sử dụng chương trình Boot Loader là GRUB hoặc LILO Cả 2 Boot Loader đều hỗ trợ quản lý nhiều hệ điều hành trên một hệ thống
Khi cài đặt Boot Loader vào Master Boot Record (MBR), bạn nên thực hiện điều này khi chưa có Boot Loader nào được cài đặt hoặc khi bạn chắc chắn rằng Boot Loader mới có khả năng khởi động các hệ điều hành khác trên máy Lưu ý rằng việc cài đặt Boot Loader lên MBR sẽ thay thế các chương trình Boot Loader trước đó bằng phiên bản mới.
Khi cài đặt Boot Loader vào sector đầu tiên của partition, bạn có thể giữ nguyên chương trình Boot Loader tại MBR mà không cần thay thế Trong tình huống này, chương trình Boot Loader hiện tại sẽ kiểm soát quá trình khởi động và chuyển hướng đến Boot Loader của Linux khi cần khởi động hệ điều hành này.
- Nếu không cài chương trình Boot loader thì phải sử dụng đĩa mềm boot để khởi động hệ điều hành
- Có thể đặt mật khẩu cho boot loader thông qua nút Change password
Cấu hình TCP/IP có thể được thực hiện thông qua dịch vụ DHCP để tự động nhận địa chỉ IP hoặc bằng cách cấu hình cụ thể Đối với cấu hình cụ thể, người dùng cần nhập các thông số mạng trong mục chỉnh sửa.
- IPAddress: Chỉ định địa chỉ IP của host cài đặt
- Netmask Address: subnet mask cho địa chỉ IP trên
Active on boot: Card mạng được kích hoạt khi hệ điều hành khởi động
Khi khai báo tên máy chủ, nếu có tên DNS đầy đủ, hãy sử dụng nó Nếu không có kết nối mạng, bạn có thể đặt tên cho máy thông qua mục "manually" Nếu không nhập tên nào, giá trị mặc định sẽ là "localhost".
Miscellaneous Settings: chỉ định địa chỉ gateway và Primary DNS, và một số thông số khác
Các trường không có giá trị thì các trường đó không được sử dụng trong hệ thống
Trong Linux, Firewall được tích hợp để bảo vệ hệ thống khỏi các truy cập bất hợp pháp từ bên ngoài Để sử dụng, bạn cần kích hoạt Firewall và chọn loại dịch vụ mà bạn muốn cho phép truy cập từ bên ngoài.
2.14 Chọn ngôn ngữ hỗ trợ trong Linux
Trong Linux, người dùng có khả năng cài đặt và sử dụng nhiều ngôn ngữ khác nhau Bạn có thể chọn ngôn ngữ mặc định là tiếng Anh (Mỹ) hoặc các ngôn ngữ khác theo nhu cầu sử dụng.
2.15 Cấu hình khu vực địa lý của hệ thống
Các vị trí chia theo châu lục Ta có thể chọn mục này một cách thông qua việc định vị chuột tại đúng vị trí trên bản đồ
2.16 Đặt mật khẩu cho người quản trị
Trên hệ điều hành Linux, người quản trị được gọi là người root, và mật khẩu của tài khoản này yêu cầu có độ dài tối thiểu là 6 ký tự Cần lưu ý rằng mật khẩu phân biệt chữ hoa và chữ thường Khi nhận được thông báo “Root password accepted”, tức là mật khẩu đã được chấp nhận.
Nếu không sử dụng password mạng có thể bỏ qua cấu hình này nhưng vẫn sử chế độ chọn mặc nhiên (chọn Enable MD5 passwords và Enable shadow passwords)
- Enable MD5 passwords: cho phép password sử dụng tới 256 ký tự thay vì chỉ tới 8 ký tự
- Enable shadow passwords: cung cấp cơ chế lưu trữ password an toàn
Password được lưu trữ trong tập tin /etc/shadow và chỉ có root mới được đọc
- Enable NIS: cho phép một nhóm máy trong một NIS domain sử dụng chung tập tin passwd và group Chọn các tham số sau:
+ NIS domain: Xác định NIS domain mà máy này tham gia
+ Use broadcast to find NIS server: Cho phép sử dụng thông điệp quảng bá để tìm NIS server
+ NIS Server: Xác định NIS server
+ Enable LDAP: Hệ thống sử dụng LDAP cho một vài hoặc tất cả các phép chứng thực
+ LDAP Server: Xác định LDAP server (dùng địa chỉ IP)
+ LDAP Base DN: cho phép tìm kiếm thông tin người dùng dựa trên DN
+ Use TLS (Transport Layer Security) lookups: cho phép LDAP gởi tên người dùng và password mã hóa tới LDAP server trước khi chứng thực
- Enable Kerberos: là hệ thống cung cấp các dịch vụ chứng thực trên mạng Các lựa chọn:
+ Realm: cho phép truy xuất tới mạng sử dụng Kerberos
+ KDC: cho phép truy xuất tới Key Distribution Center (KDC)
+ Admin Server: cho phép truy xuất tới server chạy kadmin
+ Enable SMB Authentication: Cài PAM để dùng một Samba server chứng thực cho các client
+ SMB Server: Xác định samba server mà các máy trạm kết nối tới để chứng thực
+ SMB Workgroup: Xác định workgroup mà samba server được cấu hình tham gia
2.18 Chọn các chương trình và Package cài đặt
Chọn các chương trình cần cài đặt: everything: cài tất cả các chương trình,
Minimal: chỉ cài một số chương trình hoặc phần mềm thông dụng
Nếu nắm rõ các package cần thiết cho các chương trình mong muốn thì chọn
Select individual packages Ta có thể chọn Details để chọn chi tiết các thành phần trong từng phần mềm hoặc nhóm các công cụ
2.19 Định dạng filesystem và tiến hành cài đặt
Cấu hình thiết bị
Mục tiêu của bài viết này là hướng dẫn cách cấu hình các thiết bị thông dụng, nhằm giúp người học dễ dàng thực hiện các thao tác cấu hình.
System RAM được BIOS nhận biết khi khởi động, Linux kernel có khả năng nhận biết được tất cả các loại RAM (EDO, DRAM, SDRAM, DDRAM)
3.2 Vị trí lưu trữ tài nguyên
Kernel lưu trữ thông tin tài nguyên trong thư mục /proc, các tập tin ta cần quan tâm:
Hầu hết các phiên bản Linux hiện đại đều có khả năng nhận diện thiết bị USB ngay khi chúng được cắm vào cổng USB Thiết bị này được điều khiển bởi bộ điều khiển USB, và Linux hỗ trợ nhiều loại bộ điều khiển khác nhau Thiết bị USB được nhận diện bởi kernel Linux thông qua tệp tin /dev/sda1.
The Linux kernel supports most Network Interface Cards (NICs) To view detailed information about the current network card, you can use the following commands: `dmesg`, `lspci`, `/proc/interrupts`, `/sbin/lsmod`, and `/etc/modules.conf`.
Sau đây là một số bước cài đặt serial modem:
+ Bước 1: Dùng lệnh setserial để scan serial device
+ Bước 2: Dùng lệnh ls –s /dev/ttyS1 /dev/modem
Để cấu hình Dial profile, bước 3 là sử dụng công cụ wvdial với script wvdialconfig nhằm quét các thông tin cần thiết cho modem và lưu chúng vào tệp /etc/wvdial.conf.
Sử dụng hệ thống
Mục tiêu của bài viết là hướng dẫn người dùng cách đăng nhập và sử dụng các lệnh cơ bản trong hệ điều hành Phần này sẽ trình bày các bước để đăng nhập, nhận diện dấu nhắc hệ điều hành, thực hiện các lệnh đơn giản, và cách gọi trợ giúp khi cần thiết.
4.1 Đăng nhập Để sử dụng hệ thống, trước hết phải đăng nhập vào Khi kết nối tới máy thì màn hình hiển thị dòng:
Có 2 dạng dấu nhắc lệnh:
+ Dạng $ dùng cho người dùng thường
+ Dạng # dùng cho người dùng quản trị (root)
Khi login vào hệ thống, chúng ta thấy dấu nhắc lệnh xuất hiện có dạng:
[tên-đăng-nhập@tên-máy thư-mục-hiện-hành]dấu-nhắc-lệnh
- Từ dấu nhắc lệnh ta có thể sử dụng lệnh theo cú pháp như sau:
Tên-lệnh [tùy-chọn] [tham-số]
+ Tùy chọn có dạng: –
+ Nếu có nhiều tùy chọn thì ta dùng dấu khoảng trắng để làm dấu ngăn cách hoặc kết hợp nhiều tùy chọn
Ví dụ: [root@serverls –a –l /etc
- Linux cho phép kết hợp nhiều lựa chọn chỉ dùng một dấu - Như ví dụ trên ta có thể dùng lệnh ls –al /etc thay cho ls –a –l /etc
- Chuyển sang user khác: Đang làm việc chúng ta có thể chuyển sang người dùng khác mà không phải logout ra, bằng cách dụng lệnh su
$su [tên-user]: chuyển sang user mới
- Nếu tên-user không có thì mặc định là chuyển qua root
Khi chuyển đổi sang người dùng khác, biến môi trường của hệ thống thường vẫn giữ nguyên từ người dùng cũ Để sử dụng biến môi trường của người dùng mới, chúng ta cần thêm tham số "-" trong lệnh "su".
4.2 Một số lệnh cơ bản
Dưới đây là các lệnh hữu ích trong hệ thống: Lệnh "date" hiển thị ngày giờ hệ thống; "who" cho biết các người dùng đang đăng nhập; "tty" xác định tập tin tty mà bạn đang sử dụng; "cal" hiển thị lịch; "finger" cung cấp thông tin chi tiết về người dùng như họ tên và địa chỉ; "chfn" cho phép thay đổi thông tin cá nhân; "head" xem nội dung từ đầu tập tin; "tail" xem nội dung từ cuối tập tin; "hostname" cho phép xem và đổi tên máy; và "passwd" dùng để đổi mật khẩu cho người dùng.
4.3 Sử dụng trợ giúp man
Linux cung cấp một hệ thống thư viện mạnh mẽ cho phép người dùng tìm kiếm thông tin theo từ khóa Với nhiều lệnh và tùy chọn phong phú, việc ghi nhớ tất cả có thể trở nên khó khăn Để hỗ trợ người dùng, Linux cung cấp trình trợ giúp man, giúp tra cứu thông tin dễ dàng hơn.
Ví dụ: Tìm kiếm các thông tin về lệnh ls
$man ls Để thoát khỏi man: chọn phím q
Man phân dữ liệu lưu trữ thành những đoạn (session) khác nhau với các chủ đề khác nhau là
Session Tên chủ đề Ý nghĩa
1 user command các lệnh thông thường của hệ điều hành
2 system call các hàm thư viện kernel của hệ thống
3 subroutines các hàm thư viện lập trình
4 devices các hàm truy xuất tập tin và xử lý thiết bị
5 File format các hàm định dạng tập tin
6 games các hàm liên quan đến trò chơi
8 Sys admin các hàm quản trị hệ thống
Xác định cụ thể thông tin của một chủ đề nào, chúng ta dùng lệnh man như sau:
Ví dụ: man 3 printf Xem các thông tin về hàm prinf dùng trong lập trình
Nếu không xác định session thì session mặc nhiên là 1.
Cài đặt các gói phần mềm
Mục tiêu của bài viết là hướng dẫn người dùng cách cài đặt, gỡ bỏ và nâng cấp phần mềm trên hệ thống, bao gồm các loại file nguồn khác nhau Việc thực hiện các thao tác này là cần thiết để đảm bảo hệ thống hoạt động hiệu quả.
RedHat Package Manager (RPM) là một hệ thống quản lý gói phần mềm hỗ trợ người dùng Linux, cung cấp nhiều tính năng để duy trì hệ thống Người dùng có khả năng cài đặt, xóa hoặc nâng cấp các gói phần mềm thông qua các lệnh trực tiếp RPM lưu trữ thông tin về các gói đã cài đặt và các tập tin liên quan trong cơ sở dữ liệu, cho phép truy vấn và xác thực các gói trong hệ thống Đối với người dùng XWindow, có thể sử dụng các chương trình như KDE-PRM hoặc Gnome-RPM thay vì sử dụng lệnh.
Khả năng nâng cấp phần mềm với RPM cho phép nâng cấp các thành phần riêng biệt của hệ thống mà không cần cài lại, giúp tiết kiệm thời gian và công sức Khi có phiên bản mới của hệ điều hành dựa trên RPM, như RedHat Linux, người dùng chỉ cần thực hiện nâng cấp mà không phải cài đặt lại toàn bộ hệ thống RPM hỗ trợ nâng cấp tự động và thông minh, đồng thời giữ lại các tập tin cấu hình qua các lần nâng cấp, đảm bảo rằng các tùy chọn sẵn có của hệ thống không bị thay đổi.
RPM được thiết kế để truy vấn thông tin hiệu quả về các package trong hệ thống Người dùng có thể tìm kiếm thông tin về các package và tập tin cài đặt trong toàn bộ cơ sở dữ liệu, cũng như xác định tập tin cụ thể thuộc về package nào và vị trí của nó Các package RPM chứa các tập tin thông tin hữu ích, cho phép người dùng tra cứu chi tiết trong từng package riêng lẻ.
Thẩm tra hệ thống (System Verification) là một tính năng nổi bật của RPM, cho phép người dùng xác minh lại các gói phần mềm Nếu có nghi ngờ về việc một tập tin nào đó bị xóa hoặc thay thế, tính năng này sẽ giúp đảm bảo tính toàn vẹn của hệ thống.
Trong gói 28, việc kiểm tra lại rất dễ dàng Cần chú ý đến các dấu hiệu bất thường của hệ thống và thực hiện kiểm tra, cài đặt lại nếu cần thiết.
RPM chỉ có thể được thực hiện bởi người dùng quản trị (root) và bao gồm 5 chế độ hoạt động chính: cài đặt (installing), xóa (uninstalling), nâng cấp (upgrading), truy vấn (querying) và thẩm tra (verifying).
5.3.1 Cài đặt phần mềm bằng rpm
Gói RPM thường có tên tập tin định dạng như foo-1.0-1.i386.rpm, trong đó bao gồm tên gói (foo), phiên bản (1.0), số hiệu phiên bản (1) và kiến trúc (i386) Để cài đặt gói, bạn có thể sử dụng lệnh cài đặt tương ứng.
# rpm –ivh tên-tập-tinRPM
#rmp –ivh foo-1.0-1.i386.rpm foo #################################
Một số trường hợp lỗi khi cài đặt o Package đã cài rồi o Xung đột với tập tin cũ đã tồn tại o Package phụ thuộc vào package khác
Ví dụ: package đã được cài đặt trước
# rpm -ivh foo-1.0-1.i386.rpm foo package foo-1.0-1 is already installed Nếu muốn cài chồng lên package đã cài, sử dụng tham số replacepkgs
#rpm –ivh -–replacepkgs tên-tập-tin-package
# rpm -ivh replacepkgs foo-1.0-1.i386.rpm
Ví dụ: xung đột với tập tin cũ đã tồn tại
# rpm -ivh foo-1.0-1.i386.rpm foo /usr/bin/foo conflicts with file from bar-1.0-1 Để bỏ qua lỗi này, có thể cài đè lên bằng tùy chọn replacefiles
# rpm -ivh replacefiles foo-1.0-1.i386.rpm
Ví dụ: Package phụ thuộc vào package khác
# rpm -ivh foo-1.0-1.i386.rpm failed dependencies: bar is needed by foo-1.0-1
Để giải quyết vấn đề này, cần cài đặt các package yêu cầu Nếu bạn muốn tiếp tục cài đặt mà không cần cài các package khác, hãy sử dụng tùy chọn nodeps Tuy nhiên, điều này có thể dẫn đến việc các package không hoạt động hiệu quả.
5.3.2 Loại bỏ phần mềm đã cài đặt trong hệ thống
Lưu ý : khi xóa chúng ta dùng tên-package chứ không dùng tên tập tin RPM
# rpm -e foo removing these packages would break dependencies: foo is needed by bar-1.0-1
# rpm –Uvh tên-tập-tinRPM
# rpm -Uvh foo-2.0-1.i386.rpm foo ####################################
Khi nâng cấp RPM, các phiên bản cũ của gói sẽ bị xóa Tuy nhiên, bạn có thể sử dụng lệnh này để cài đặt mà không làm mất bất kỳ phiên bản cũ nào.
Khi RPM tự động nâng cấp với tập tin cấu hình, một thông báo như "saving /etc/foo.conf as /etc/foo.conf.rpmsave" thường xuất hiện Điều này cho thấy rằng nếu tập tin cấu hình của phiên bản cũ không tương thích với phiên bản mới, hệ thống sẽ lưu lại tập tin cũ và tạo tập tin mới Quá trình nâng cấp thực chất là sự kết hợp giữa việc gỡ cài đặt và cài đặt lại Do đó, trong quá trình nâng cấp, có thể xảy ra các lỗi tương tự như khi cài đặt và gỡ cài đặt, cùng với khả năng gặp lỗi khi nâng cấp lên phiên bản cũ hơn.
# rpm -Uvh foo-1.0-1.i386.rpm foo package foo-2.0-1 (which is newer) is already installed Trong trường hợp này, thêm tham số oldpackage
# rpm -Uvh oldpackage foo-1.0-1.i386.rpm foo ####################################
5.3.4 Truy vấn các phần mềm
# rpm -q foo foo-2.0-1 //kết quả truy vấn
Thay vì chỉ định tên package, bạn có thể sử dụng thêm một số tham số khác kết hợp với -q để xác định package cần truy vấn, được gọi là Tùy chọn Đặc tả Package.
+ -a: Truy vấn tất cả các package
+ -f : Truy vấn những package chứa tập-tin Khi xác định tập tin, phải chỉ rõ đường dẫn (ví dụ: /usr/bin/ls)
+ -p : Truy vấn package tên-tập-tin-package
Sau đây là các tùy chọn sử dụng để xác định loại thông tin cần tìm kiếm Chúng được gọi là Information Selection Options
+ -i: xác định các thông tin về package bao gồm: tên, mô tả, phiên bản, kích thước, ngày tạo, ngày cài đặt, nhà sản xuất …
+ -l: Hiển thị những tập tin trong package
+ -s: Hiển thị trạng thái của các tập tin trong package
+ -d: hiển thị danh sách tập tin tài liệu cho package (ví dụ man, README, info file …)
+ c: hiển thị danh sách tập tin cấu hình
5.3.5 Kiểm tra các tập tin đã cài đặt
Các thông tin dùng kiểm tra là: kích thước, MD5 checksum, quyền hạn, loại tập tin, người sở hữu, nhóm sở hữu tập tin
+ rpm –V tên-package: Kiểm tra tất cả các tập tin trong package
+ rpm –vf tên-file: Kiểm tra tập tin tên-file + rpm –Va: Kiểm tra tất cả các package đã cài
Sử dụng lệnh `rpm -Vp tên-tập-tin-RPM` để kiểm tra một package với tập tin package xác định, thường áp dụng trong trường hợp cơ sở dữ liệu RPM bị hỏng.
Khi thực hiện kiểm tra, nếu không phát hiện lỗi, sẽ không có thông báo hiển thị; ngược lại, hệ thống sẽ thông báo kết quả Định dạng thông báo bao gồm 8 ký tự theo sau là tên tập tin, trong đó mỗi ký tự đại diện cho kết quả của việc so sánh một thuộc tính của tập tin với thuộc tính lưu trong cơ sở dữ liệu RPM Ký tự dấu chấm (.) biểu thị rằng quá trình kiểm tra đã hoàn tất, trong khi các ký tự khác đại diện cho các lỗi phát hiện trong quá trình kiểm tra.
+ 5 – MD5 checksum + S – kích thước tập tin + L – liên kết mềm + T - thời gian cập nhật tập tin + D - thiết bị
+ U – người sở hữu + G – nhóm sở hữu + M - quyền truy xuất và loại tập tin
+ ? – không tìm thấy tập tin
5.3.6 Cài đặt phần mềm file nguồn *.tar, *.tgz
Ngoài các phần mềm dạng file nhị phân (*.rpm), còn có phần mềm cung cấp dưới dạng mã nguồn như *.tar hoặc *.tgz Để cài đặt phần mềm này, người dùng cần tham khảo các file hướng dẫn như README hoặc INSTALL, thường nằm trong các thư mục con sau khi giải nén mã nguồn bằng lệnh tar Các bước cài đặt thường được thực hiện theo hướng dẫn trong các file này.
Bước 1: Giải nén file tar
[root@bigboy tmp]# tar -xvzf linux-software-1.3.1.tar.gz linux-software-1.3.1/ linux-software-1.3.1/plugins-scripts/
linux-software-1.3.1/linux-software-plugins.spec [root@bigboy tmp]#
Tạo các thư mục con chứa các file cài đặt [root@bigboy tmp]# ls linux-software-1.3.1 linux-software-1.3.1.tar.gz [root@bigboy tmp]#
Bước 2: Chuyển vào thư mục con và tham khảo các file INSTALL, README
[root@bigboy tmp]# cd linux-software-1.3.1 [root@bigboy linux-software-1.3.1]# ls COPYING install-sh missing plugins depcomp LEGAL mkinstalldirs plugins-scripts FAQ lib linux-software.spec README
Helper.pm Makefile.am linux-software.spec.in REQUIREMENTS
INSTALL Makefile.in NEWS subst.in [root@bigboy linux-software-1.3.1]#
Bước 3: Sau đó dựa vào chỉ dẫn trong file (INSTALL, README) để cài đặt phần mềm
1 Trình bày các yêu cầu đối với hệ thống để cài đặt hệ điều hành Linux
2 Cho biết các chế độ cài đặt Linux; Ưu và nhược điểm của mỗi chế độ cài đặt?
1 Cài Đặt Ubuntu 11.04 trên máy thực
Ubuntu có thể được cài đặt với đĩa đồ họa CD Hãy chắc chắn rằng máy tính được thiết lập để khởi động đĩa CD trước đĩa cứng
1 Đưa đĩa Ubuntu vào ổ đĩa CD của bạn
2 Bắt đầu hoặc khởi động lại máy tính Màn hình ngôn ngữ xuất hiện
3 Chọn ngôn ngữ của bạn mong muốn và nhấp vào Forward Xuất hiện cửa số
4 Chọn vị trí gần nhất với vị trí của bạn và nhấn Forward Bàn phím bố trí cửa sổ xuất hiện
5 Chọn cách bố trí bàn phím Click Forward Phân bổ không gian cửa sổ ổ đĩa xuất hiện
THAO TÁC VỚI TẬP TIN VÀ THƯ MỤC
Cấu trúc hệ thống tập tin & thư mục
Mục tiêu của bài viết là giới thiệu cấu trúc tập tin và thư mục trong hệ điều hành Linux, một phần thiết yếu tương tự như các hệ điều hành khác Bài viết sẽ cung cấp thông tin về các thành phần của hệ thống tập tin và thư mục, cùng với chức năng cụ thể của từng thành phần.
- Hệ thống tập tin là một phần cơ bản của hệ điều hành Linux
- Một hệ thống tập tin là thiết bị mà nó đã được định dạng để lưu trữ tập tin và thư mục
Hệ thống tập tin Linux bao gồm đĩa mềm, CD-ROM và các partition của đĩa cứng Các hệ thống tập tin thường được tạo ra trong quá trình cài đặt hệ điều hành, nhưng có thể thay đổi khi thêm thiết bị hoặc chỉnh sửa các partition đã tồn tại Do đó, việc hiểu rõ cấu trúc hệ thống tập tin trong Linux là rất quan trọng.
Linux hỗ trợ nhiều loại hệ thống tập tin, bao gồm ext2, ext3, MS-DOS và proc Hệ thống tập tin chính của Linux là ext3, cho phép đặt tên tập tin tối đa 256 ký tự và kích thước tối đa lên đến 4 terabytes Ngoài ra, Linux cũng hỗ trợ đặt tên tập tin dài cho các tập tin MS-DOS và các phân vùng FAT32 Hệ thống tập tin ảo proc (/proc) không chiếm dung lượng đĩa, và còn nhiều hệ thống tập tin khác như iso9660, UMSDOS và Network File System (NFS) cũng được hỗ trợ.
- Các thành phần của hệ thống tập tin:
+ Super Block: là một cấu trúc được tạo tại vị trí bắt đầu hệ thống tập tin
Nó lưu trữ thông tin về hệ thống tập tin như: Thông tin về block-size, free block, thời gian gắn kết (mount) cuối cùng của tập tin
Inode (256 byte) lưu trữ thông tin về các tập tin và thư mục trong hệ thống tập tin, nhưng không bao gồm tên thực của chúng Mỗi tập tin được tạo ra sẽ được gán một inode, trong đó chứa thông tin về loại tập tin và quyền truy cập.
Người sở hữu tập tin, kích thước và số lượng hard link đến tập tin, ngày giờ chỉnh sửa lần cuối, cùng với vị trí lưu trữ nội dung trong hệ thống tập tin là những thông tin quan trọng cần được ghi nhận.
Storageblock là khu vực lưu trữ thực tế cho các tệp và thư mục, được chia thành các Data Block Dữ liệu được lưu trên đĩa trong các data block, mỗi block thường chứa 1024 byte Dù tệp chỉ có một ký tự, vẫn cần cấp phát một block để lưu trữ, vì không có ký tự kết thúc cho tệp.
+ Data Block của tập tin thông 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 bao gồm inode number, tên của tập tin và những thư mục con
Hệ thống thư mục trong Linux có cấu trúc khác biệt so với Windows, không có khái niệm ổ đĩa mà tất cả các tập tin và thư mục đều bắt đầu từ thư mục gốc (/) Trong Linux, dấu “.” đại diện cho thư mục hiện hành, trong khi dấu “ ” chỉ thư mục cha của nó Ví dụ, nếu thư mục hiện hành là /usr/bin, thì đường dẫn /local sẽ tương đương với /usr/local.
Trong cấu trúc hệ thống tệp, thư mục gốc được gắn vào phân vùng thứ nhất, trong khi thư mục /usr được gắn vào phân vùng thứ hai Dữ liệu lưu trữ trong thư mục /home sẽ được ghi vào phân vùng thứ ba Tương tự, dữ liệu từ thư mục /usr/local sẽ được lưu vào phân vùng thứ tư, còn dữ liệu từ thư mục /usr không thuộc /usr/local sẽ được ghi vào phân vùng thứ hai.
Linux sử dụng các tập tin thiết bị để chỉ định các partition trên ổ đĩa vật lý, và các tập tin này nằm trong thư mục /dev Mỗi tập tin thiết bị có tiền tố xác định loại ổ đĩa, chẳng hạn như fd cho đĩa mềm, hd cho đĩa cứng và sd cho đĩa SCSI Sau đó, ký hiệu thứ tự ổ đĩa được thể hiện bằng chữ cái, với ổ đĩa đầu tiên là a, ổ đĩa thứ hai là b, và tiếp theo 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ứ 3 của đĩa cứng thứ 2: /dev/hdb3
Các thư mục cơ bản trên Linux
Thư mục /bin và /sbin chứa các tập tin nhị phân cần thiết cho việc khởi động và thực thi các lệnh trong hệ điều hành Trong khi đó, thư mục /boot lưu trữ kernel của Linux cùng với các file ảnh hỗ trợ quá trình tải hệ điều hành.
/lib Chứa các thư viện chia xẻ cho các tập tin nhị phân trong thư mục /bin và /sbin, chứa kernel module
/usr/local Chứa các thư viện, các phần mềm để chia xẻ cho các máy khác trong mạng /tmp Chứa các file tạm
/dev Chứa các tập tin thiết bị (như CDROM, floppy), và một số file đặc biệt khác.
/etc Chứa các tập tin cấu hình hệ thống
/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 cho user 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
Các mount point trong hệ thống lưu trữ các thiết bị đã được gắn vào Một số thư mục có thể được sử dụng làm mount point cho các thiết bị bao gồm: /boot, /home, /root, /tmp, /usr, /usr/local, /opt và /var.
Thao tác với tập tin, thư mục
Mục tiêu: Trình bày các thao tác trên tập tin, thư mục một cách chi tiết, từ cú pháp lệnh đến chức năng và các ví dụ cụ thể
2.1 Thao tác trên thư mục
2.1.1 Đường dẫn tương đối và tuyệt đối Đường dẫn trong Linux sử dụng là dấu / Để xác định một tập tin hay thư mục chúng ta dùng đường dẫn tuyệt đối hay tương đối Đường dẫn tuyệt đối là đường dẫn đầy đủ đi từ thư mục gốc (/) của cây thư mục Ví dụ: /home/hv, /usr/local/vd.txt
Khi làm việc với các tập tin và thư mục con, chúng ta thường sử dụng đường dẫn tương đối, được xác định từ thư mục hiện tại Ví dụ, nếu chúng ta đang ở thư mục /home/hv và muốn xem nội dung của tập tin test.txt, ta chỉ cần gõ lệnh cat test.txt.
Trong Linux, chương trình thực thi chủ yếu có hai dạng: tập tin lệnh và tập tin binary Tập tin lệnh lưu trữ các lệnh của shell, trong khi tập tin binary chứa mã máy Không giống như các hệ điều hành khác, Linux không sử dụng phần mở rộng tập tin để xác định chương trình thực thi; thay vào đó, phần mở rộng chỉ thể hiện tính chất của tập tin, như txt cho tập tin văn bản và conf cho tập tin cấu hình Để một tập tin có thể được thực thi, cần phải gán quyền thực thi (x) cho nó.
Để thực thi chương trình, cần xác định đường dẫn chính xác hoặc sử dụng biến môi trường PATH Do đó, để chạy tệp tin trong thư mục hiện hành, bạn phải sử dụng cú pháp /tên-file.
Lệnh pwd cho phép xác định vị trí thư mục hiện hành
[natan@netcom bin]$ pwd /usr/local/bin
Lệnh cd cho phép thay đổi thư mục
$cd [thư-mục] thư-mục: là nơi cần di chuyển vào
Lệnh ls cho phép liệt kê nội dung thư mục
Cú pháp lệnh "ls" trong hệ điều hành Linux cho phép người dùng liệt kê các tập tin trong thư mục Sử dụng "ls -x" để hiển thị các tập tin trên nhiều cột, "ls -l" để xem thông tin chi tiết của từng tập tin, và "ls -a" để hiển thị tất cả các tập tin, bao gồm cả những tập tin ẩn.
-rw-r r 1 root root 920 Jun 25 2001 im_palette-small.pal -rw-r r 1 root root 224 Jun 25 2001 im_palette-tiny.pal -rw-r r 1 root root 5464 Jun 25 2001 imrc
-rw-r r 1 root root 10326 Apr 12 08:42 info-dir lrwxrwxrwx 1 root root 11 Apr 12 07:52 init.d -> rc.d/init.d Ý nghĩa các cột từ trái sang phải
+ Cột 1: ký tự đầu tiên: - chỉ tập tin bình thường, d chỉ thư mục, l chỉ link và phía sau có dấu -> chỉ tới tập tin thật
+ Các ký tự còn lại chỉ quyền truy xuất + Cột thứ 2: Chỉ số liên kết đến tập tin này
Cột thứ 3 và 4 cung cấp thông tin về người sở hữu và nhóm sở hữu của tập tin Cột thứ 5 hiển thị kích thước của tập tin hoặc thư mục Cột thứ 6 ghi lại ngày và giờ sửa chữa cuối cùng, trong khi cột thứ 7 cho biết tên của tập tin hoặc thư mục Để xem thông tin của một hoặc nhiều tập tin, bạn có thể sử dụng các cột này.
$ls -l tập-tin1 tập-tin2 …
Lệnh mkdir cho phép tạo thư mục
$mkdir [tùy-chọn] [thư-mục]
Ví dụ: $mkdir /home/web
Lệnh cho phép xóa thư mục rỗng
$rmdir [tùy-chọn] [thư-mục]
Ví dụ: $rmdir /home/web
Lệnh cat dùng hiển thị nội dung của tập tin dạng văn bản Để xem tập tin, chọn tên tập tin làm tham số
Lệnh cat còn cho phép xem nhiều tập tin cùng lúc
Lệnh cat có thể được sử dụng để tạo và soạn thảo văn bản dạng text Khi sử dụng, bạn có thể áp dụng dấu > để xóa nội dung cũ và ghi nội dung mới vào tập tin, trong khi dấu >> cho phép nối thêm nội dung mới vào tập tin mà không xóa nội dung hiện có.
$cat > [Enter]
> Các-dòng-dữ-liệu-của-tập tin
Lệnh more cho phép xem nội dung tập tin theo từng trang màn hình
Lệnh cp cho phép sao chép tập tin
$cp
Ví dụ: $cp /etc/passwd /root/passwd
Lệnh mv cho phép thay đổi tên tập tin và di chuyển vị trí của tập tin
$mv < tên-tập-tin-mới>
Ví dụ: $cp /etc/passwd /root/pwd
Lệnh rm cho phép xóa tập tin, thư mục
$rm [tùy-chọn] [tên-tập-tin/thưmục]
Các tùy chọn thường dùng:
-r xóa thư mục và tất cả các tập tin và thư mục con
-l xác nhận lại trước khi xóa
Cho phép tìm kiếm tập tin thỏa mãn điều kiện
#find [đường-dẫn] [biểu-thức-tìm-kiếm] o đường-dẫn: là đường dẫn thư mục tìm kiếm o biểu-thức-tìm-kiếm: tìm các tập tin hợp với điều kiện tìm
Tìm 1 tập tin xác định:
#find [thư-mục] –name [tên-tập-tin] –print Ngoài ra, có thể sử dụng những kí hiệu sau:
“*”: viết tắt cho một nhóm ký tự
“?”: viết tắt cho một ký tự
Có thể sử dụng man để có các lựa chọn tìm kiếm đầy đủ hơn
Lệnh grep cho phép tìm kiếm một chuỗi nào đó trong nội dung tập tin
#grep [biểu-thức-tìm-kiếm] [tên-tập-tin]
Tìm trong tập tin có tên [tên-tập-tin] những dữ liệu thỏa mãn [biểu-thức- tìm-kiếm]
Ví dụ: grep “nva” /etc/passwd
Tìm kiếm trong tập tin /etc/passwd và hiển thị các dòng có xuất hiện chuỗi
Là lệnh hỗ trợ việc tạo và thay đổi nội dung tập tin
Cú pháp: touch file
Ví dụ: #touch file1.txt file2.txt (tạo hai tập tin file1.txt và file2.txt)
Sao chép và chuyển đổi file
Ví dụ: dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 (if là input file, of là output file)
Quyền truy cập, sở hữu đối với tập tin và thư mục
Trong Linux, mỗi tập tin và thư mục đều có người sở hữu và quyền truy cập riêng Bài viết này sẽ giới thiệu về các quyền liên quan đến tập tin và thư mục, đồng thời hướng dẫn cách gán quyền và thay đổi quyền sở hữu cho các tập tin và thư mục.
Tất cả các tập tin và thư mục trong Linux đều có chủ sở hữu và quyền truy cập Chúng ta có thể điều chỉnh các thuộc tính này cho từng tập tin hoặc thư mục Quyền của tập tin cũng giúp xác định xem tập tin đó có phải là chương trình hay không, ví dụ như khi sử dụng lệnh ls -l.
-rw-r r 1 fido users 163 Dec 7 14 : 31 myfile
Cột đầu trong Linux chỉ ra quyền truy cập của tập tin, ví dụ như ký tự -rw-r r thể hiện quyền truy cập của tập tin myfile Hệ thống cho phép người sử dụng xác định quyền đọc (read), viết (write) và thực thi (execute) cho từng đối tượng, với ba dạng đối tượng chính.
+ Người sở hữu (the owner) + Nhóm sở hữu (the group owner) + Người khác (“other users” hay everyone else)
Quyền đọc cho phép người dùng truy cập nội dung của tập tin, trong khi đối với thư mục, quyền này cho phép di chuyển vào thư mục và xem các nội dung bên trong.
Quyền viết cho phép người dùng thay đổi nội dung hoặc xóa tập tin Đối với thư mục, quyền này cho phép tạo, xóa hoặc đổi tên các tập tin bên trong mà không phụ thuộc vào quyền cụ thể của từng tập tin Do đó, quyền viết của thư mục có thể vô hiệu hóa các quyền truy cập của tập tin bên trong.
Quyền thực thi cho phép người dùng gọi chương trình vào bộ nhớ bằng cách nhập tên tập tin từ bàn phím Đối với thư mục, người dùng chỉ có thể truy cập vào thư mục đó thông qua lệnh cd nếu họ có quyền thực thi với thư mục đó.
-rw-r r 1 fido users 163 Dec 7 14 : 31 myfile
Ký tự đầu tiên trong quyền truy cập của một tệp tin cho biết loại tệp đó; nếu là dấu “-”, tệp là bình thường, còn nếu là “d”, tệp là thư mục Bên cạnh đó, ký tự “c” đại diện cho thiết bị ngoại vi dạng ký tự, trong khi “b” biểu thị cho thiết bị ngoại vi dạng block như ổ đĩa cứng.
Chín ký tự tiếp theo được chia thành ba nhóm, giúp xác định quyền của người sở hữu (owner), nhóm sở hữu (group) và những người còn lại (other) Mỗi nhóm này cho phép xác định quyền đọc, viết và thực thi theo thứ tự, với quyền đọc và viết được ưu tiên hàng đầu.
Trong hệ thống quyền truy cập, ký hiệu "r" đại diện cho quyền đọc ở vị trí đầu, "w" cho quyền ghi ở vị trí thứ hai, và "x" cho quyền thực thi ở vị trí thứ ba Nếu một quyền không được cấp, ký tự "-" sẽ xuất hiện ở vị trí tương ứng.
Loại tập tin Owner group owner other users
Tập tin myfile có quyền sở hữu là rw, cho phép người sở hữu thực hiện cả hai thao tác đọc và viết Trong khi đó, nhóm sở hữu và những người khác chỉ có quyền đọc (read-only) Thêm vào đó, các ký tự cho thấy myfile không phải là một chương trình.
Quyền hạn truy cập có thể được biểu diễn dưới dạng 3 số, tương ứng với 3 quyền: đọc (read), ghi (write) và thực thi (execute) Mỗi quyền được đại diện bằng một bit, trong đó bit bằng 1 thể hiện quyền được cấp và bit bằng 0 thể hiện quyền không được cấp Giá trị nhị phân của 3 bit này sẽ xác định quyền hạn cho từng nhóm người dùng.
Bit 2 Bit 1 Bit 0 read write excute
Ví dụ: chỉ có quyền đọc 100 có giá trị là 4 có quyền đọc và thực thi 101 có giá trị là 5
Ví dụ: Nếu có quyền read và excute thì số của quyền là: 4+1 =5 read, write và excute: 4+2+1=7
Tổ hợp của 3 quyền trên có giá trị từ 0 đến 7
+ 0 or -: Không có quyền + 1 or x: execute
+ 2 or -w-: write-only (race) + 3 or -wr: write và execute + 4 or r : read-only
+ 5 or r-x: read và execute + 6 or rw-: read và write + 7 or rwx: read, write và execute
Như vậy khi cấp quyền trên một tập tin/thư mục, có thể dùng số thập phân gồm
3 con số Số đầu tiên miêu tả quyền của sở hữu, số thứ hai cho nhóm và số thứ ba cho những người còn lại
Một tập tin với quyền 751 cho thấy chủ sở hữu có quyền đọc, ghi và thực thi (4+2+1=7), nhóm có quyền đọc và thực thi (4+1=5), trong khi những người khác chỉ có quyền thực thi (1).
Người sử dụng có quyền đọc tài liệu thì cũng có quyền sao chép nó Khi sao chép, tài liệu đó sẽ trở thành tài sản của người thực hiện việc sao chép.
-rw-r r 1 root root 1113 Oct 13 12 : 30 /etc/passwd
-rw-r r 1 ndhung admin 1113 Oct 15 10 : 37 passwd
Dùng cấp quyền hạn truy cập của tập tin hay thư mục Chỉ có chủ sở hữu và superuser mới có quyền thực hiện các lệnh này
$chmod [nhóm-người-dùng] [thao-tác] [quyền-hạn] [tên-tập-tin]
Nhóm-người-dùng Thao tác Quyền u – user + : thêm quyền r – read g – group - : xóa quyền w – write o – others = : gán ngang quyền x – excute a – all
Một số ví dụ: gán quyền trên tập tin myfile
Gán thêm quyền write cho group: $ chmod g+w myfile
Xóa quyền read trên group và others: $ chmod go-w myfile
Cấp quyền x cho mọi người:
Lệnh `$ chmod +x myfile` thay đổi quyền truy cập cho tập tin, nhưng kết quả phụ thuộc vào quyền hiện có trước đó Từ góc độ bảo mật hệ thống, việc thay đổi quyền tuyệt đối giúp giảm thiểu sai sót Quyền truy cập của thư mục được thay đổi tương tự như tập tin; nếu không có quyền thực hiện (execute) trên thư mục, người dùng không thể truy cập vào nó Người dùng có quyền viết vào thư mục có khả năng xóa tập tin bên trong, bất kể quyền của họ đối với các tập tin đó Thông thường, các thư mục có quyền `drwxr-xr-x`, cho phép chỉ người sở hữu thư mục có quyền tạo và xóa tập tin bên trong.
Thư mục có quyền đặc biệt cho phép mọi người tạo và chỉnh sửa tập tin, nhưng chỉ người tạo ra mới có quyền xóa tập tin, được gọi là sticky bit Thư mục /tmp thường có sticky bit được bật, với quyền truy cập drwxrwxrwt, cho phép người dùng quản lý tập tin hiệu quả hơn.
Ta thấy chữ t, cuối cùng trong nhóm các quyền, thể hiện cho sticky bit của /tmp Để có sticky bit, ta sử dụng lệnh: chmod 1????????? tên_thư_mục
Ngoài ra, chúng ta cũng có thể gán quyền trực tiếp thông qua 3 chữ số xác định quyền như sau:
$chmod [giá-trị-quyền] [tên-tập-tin]
Ví dụ: Cấp quyền cho tập tin myfile
-wrxr-xr-x $chmod 755 myfile -r-xr r $chmod 522 myfile -rwxrwxrwx $chmod 777 myfile
Lệnh chown dùng để thay đổi người sở hữu trên tập tin, thư mục
Cú pháp: $chown [tên-user:tên-nhóm] [tên-tập-tin/thư-mục]
$chown –R [tên-user:tên-nhóm] [thư-mục]
Liên kết tập tin
Mục tiêu: Trình bày các dạng liên kết tập tin trong Linux và cách sử dụng các dạng liên kết này
Liên kết (Link) là việc tạo ra một tên tập tin thứ hai cho một tập tin hiện có, giúp tiết kiệm không gian lưu trữ Ví dụ, để có một tập tin giống như /usr/lib/testfile trong thư mục /usr/tim mà không cần sao chép, bạn chỉ cần tạo một liên kết bằng lệnh thích hợp.
#ln /usr/bill/testfile /usr/tim/testfile
Cú pháp của lệnh ln:
Lý do chính để tạo liên kết là nhằm nhân bản tập tin một cách hiệu quả Trong trường hợp này, cả hai tập tin đều giống nhau, vì vậy bất kỳ thay đổi nào trên một tập tin sẽ ngay lập tức ảnh hưởng đến tập tin còn lại.
Hard Link là một liên kết trong hệ thống tập tin, nơi hai inode entry tương ứng trỏ đến cùng một nội dung vật lý, nghĩa là chúng có cùng inode number Để kiểm tra điều này, bạn có thể sử dụng lệnh sau:
Sau đó tạo một liên kết có tên khác và hiển thị thông tin của inode entry
Cả hai tập tin đều có inode number giống nhau
Liên kết biểu tượng (Symbolic Link) là một loại liên kết không sử dụng mục inode để kết nối Loại liên kết này thường được sử dụng để tạo ra các driver thiết bị, ví dụ như /dev/modem thay cho /dev/cua1 Để tạo một liên kết biểu tượng, bạn có thể sử dụng tùy chọn -s trong lệnh ln.
In the example provided, the inode numbers of different files are displayed, showcasing a symbolic link with the notation: lrwxrwxrwx 1 root root 6 Sep 16:35 anotherfile -> bigfile, alongside the file details for bigfile, which is listed as -rw-rw-r 1 root root 2 Sep 17:23 bigfile.
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.
Bài tập thực hành
1 Linux là gì? Nêu các đặc điểm của hệ điều hành Linux
2 So sánh các ưu khuyết điểm của hệ điều hành Linux so với hệ điều hành Windows
3 Trình bày kiến trúc và chức năng các thành phần chính của Linux
Những trọng tâm cần chú ý trong bài
- Trình bày được lịch sử phát triển của Linux;
- Nắm được các đặc tính cơ bản của hệ điều hành;
Bài mở rộng và nâng cao
Tim hiểu các nội dung sau:
- Hệ điều hành Ubuntu (Wikipedia)
- Giới thiệu về Debian GNU/Linux (Wikipedia)
- Ubuntu thay đổi trở về giao diện Gnome
Yêu cầu về đánh giá kết quả học tập
+ Về kiến thức: Trình bày được lịch sử phát triển của Linux; Nắm được các đặc tính cơ bản của hệ điều hành;
Kỹ năng sử dụng thành thạo các trình duyệt và ứng dụng là rất quan trọng để tìm kiếm thông tin hiệu quả Người dùng cần có khả năng rút trích những thông tin cần thiết và đúng yêu cầu từ các nguồn tài liệu khác nhau.
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc
+ Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp
+ Về kỹ năng: Đánh giá kỹ năng thực hành tìm kiếm thông tin và rút trích được những thông tin cần thiết, đúng yêu cầu
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc
BÀI 2: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX
- Nắm yêu cầu đối với hệ thống cài đặt hệ điều hành Linux;
- Thực hiện việc cài đặt hệ điều hành lên máy tính;
- Thực hiện cấu hình thiêt bị;
- Cài đặt các gói phần mềm;
- Thực hiện các thao tác an toàn với máy tính
1 Yêu cầu đối với hệ thống
Linux yêu cầu cấu hình hệ thống tối thiểu thấp hơn so với các hệ điều hành khác Để hệ điều hành Linux hoạt động hiệu quả, cần đảm bảo một cấu hình tối thiểu cho hệ thống Tuy nhiên, khuyến cáo này chỉ là mức tối thiểu; thực tế, cấu hình hệ thống càng cao sẽ mang lại hiệu suất tốt hơn.
Linux không yêu cầu cấu hình máy tính mạnh mẽ, nhưng nếu phần cứng quá yếu, có thể gặp khó khăn khi chạy X Window hoặc các ứng dụng đi kèm Để đảm bảo hiệu suất tốt, cấu hình tối thiểu được khuyến nghị nên được sử dụng.
- CPU: Pentium MMX trở lên
- RAM: 64 MB trở lên cho Text mode, 192MB cho mode Graphics
- Đĩa cứng: Dung lượng đĩa còn phụ thuộc vào loại cài đặt
- 2M cho card màn hình nếu muốn sử dụng mode đồ họa
Mục tiêu của bài viết này là hướng dẫn chi tiết quy trình cài đặt hệ thống trên hệ điều hành Linux, giúp người học có thể thực hiện việc cài đặt một cách dễ dàng và hiệu quả.
2.1 Chọn phương thức cài đặt
- CD-Rom: Có thể khởi động từ CD-ROM hoặc khởi động bằng đĩa mềm boot
- Đĩa cứng: Cần sử dụng đĩa mềm boot (dùng lệnh dd hoặc mkbootdisk để tạo đĩa mềm boot)
- FS image: Sử dụng đĩa khởi động mạng Kết nối tới NFS sever
- FTP: Sử dụng đĩa khởi động mạng Cài trực tiếp qua kết nối FTP
- HTTP: Sử dụng đĩa khởi động mạng Cài trực tiếp qua kết nối HTTP
2.2 Chọn chế độ cài đặt
Chúng ta có thể chọn các chế độ:
- Linux text: chế độ text (Text mode)
- [Enter]: chế độ đồ họa (Graphical mode)
2.3 Chọn ngôn ngữ hiển thị trong quá trình cài đặt
Chọn ngôn ngữ “English” rồi chọn Next
Chọn loại bàn phím của mình, chọn Next
Chọn loại Mouse phù hợp với mouse của mình Khi chọn lưu ý cổng gắn mouse là serial hay PS/2, chọn Next
2.6 Lựa chọn loại màn hình
Hệ điều hành thường tự động nhận diện loại màn hình hiển thị Nếu không, bạn cần cấu hình lại màn hình hiển thị trong hộp thoại bên phải và chọn Next.
2.7 Lựa chọn loại cài đặt
Một số loại cài đặt thông dụng:
- Workstation: Cài đặt hệ điều hành phục vụ cho công việc của một máy trạm
- Server: Cài đặt hệ điều hành phục vụ cho máy chủ
- Custom: có thể tích hợp các tùy chọn trên một cách tùy ý
Hệ thống tự động phân vùng ổ đĩa một cách hợp lý để cài đặt hệ điều hành, thường tạo ra hai phân vùng chính là /boot và /, cùng với phân vùng swap.
- Manually partition with Disk Druid: Chia partition bằng tiện ích Disk Druid Đây là cách chia partition dưới dạng đồ họa dễ dùng
- Nếu ta là người mới học cách cài đặt thì nên lựa chọn Automatically partition
- Remove all Linux partitions on this system: loại bỏ tất cả các Linux partition có sẵn trong hệ thống
- Remove all partitions on this system: loại bỏ tất cả các partition có sẵn trong hệ thống
Retain all existing partitions and utilize only the available free space for partitioning.
Tùy theo từng yêu cầu riêng mà ta có thể lựa chọn các yêu cầu trên cho phù hợp, sau đó chọn Next
2.10 Chia Partition bằng Disk Druid
Trong bước 8 ta chọn Manually partition with Disk Druid để thực hiện phân chia phân vùng sử dụng tiện ích Disk Druid
Disk Druid hiển thị các partition của đĩa dưới chế độ đồ họa ở phía trên, ta có thể chọn từng partition để thao tác
Chi tiết các partition gồm kích thước, loại hệ thống tập tin, thư mục được mount vào được mô tả trong hình sau:
- New: Tạo một partition mới, chỉ định tên phân vùng (mount point), loại filesystem (ext3) và kích thước (size) tính bằng Mbyte (tùy chọn)
- Edit: Thay đổi lại các tham số của phân vùng được chọn
- Delete: Xóa phân vùng được chọn
- Reset: Phục hồi lại trạng thái đĩa như trước khi thao thác
- Make RAID: Sử dụng với RAID (Redundant Array of Independent Disks) khi ta có ít nhất 3 đĩa cứng
2.11 Cài đặt chương trình Boot Loader
Boot Loader là chương trình giúp người dùng chọn hệ điều hành để khởi động thông qua một menu Khi lựa chọn, Boot Loader sẽ xác định các tệp cần thiết để khởi động hệ điều hành và chuyển quyền điều khiển cho nó Boot Loader có thể được cài đặt vào Master Boot Record hoặc vào sector đầu tiên của phân vùng.
Linux cho phép sử dụng chương trình Boot Loader là GRUB hoặc LILO Cả 2 Boot Loader đều hỗ trợ quản lý nhiều hệ điều hành trên một hệ thống
Chọn cài đặt Boot Loader vào Master Boot Record (MBR) khi chưa có chương trình Boot Loader nào được cài đặt hoặc khi bạn chắc chắn rằng Boot Loader hiện tại có khả năng khởi động các hệ điều hành khác trên máy Việc cài đặt lên MBR sẽ thay thế các chương trình Boot Loader trước đó bằng Boot Loader mới.
Chọn cài Boot Loader vào sector đầu tiên của partition cài đặt khi đã có chương trình Boot Loader tại MBR mà không muốn thay thế nó Trong trường hợp này, chương trình Boot Loader hiện tại sẽ điều khiển trước và chuyển tiếp đến chương trình Boot Loader của Linux khi cần khởi động hệ điều hành này.
- Nếu không cài chương trình Boot loader thì phải sử dụng đĩa mềm boot để khởi động hệ điều hành
- Có thể đặt mật khẩu cho boot loader thông qua nút Change password
Cấu hình TCP/IP có thể thực hiện qua dịch vụ DHCP để thiết lập địa chỉ động, hoặc người dùng có thể chọn cấu hình cụ thể bằng cách nhập các thông số mạng cần thiết trong mục chỉnh sửa.
- IPAddress: Chỉ định địa chỉ IP của host cài đặt
- Netmask Address: subnet mask cho địa chỉ IP trên
Active on boot: Card mạng được kích hoạt khi hệ điều hành khởi động
Khi khai báo tên máy chủ, nếu có tên DNS đầy đủ, hãy sử dụng tên đó Trong trường hợp không kết nối mạng, bạn có thể đặt tên cho máy thông qua mục nhập thủ công Nếu không nhập tên nào, giá trị mặc định sẽ là localhost.
Miscellaneous Settings: chỉ định địa chỉ gateway và Primary DNS, và một số thông số khác
Các trường không có giá trị thì các trường đó không được sử dụng trong hệ thống
Trong Linux, Firewall được tích hợp để bảo vệ hệ thống khỏi các truy cập bất hợp pháp từ bên ngoài Để thiết lập, bạn cần chọn "Enable Firewall" và sau đó xác định loại dịch vụ mà bạn cho phép truy cập từ bên ngoài vào Firewall.
2.14 Chọn ngôn ngữ hỗ trợ trong Linux
Trong Linux, người dùng có khả năng cài đặt và sử dụng nhiều ngôn ngữ khác nhau Bạn có thể chọn ngôn ngữ mặc định là tiếng Anh (Mỹ) cùng với các ngôn ngữ bổ sung để sử dụng theo nhu cầu.
2.15 Cấu hình khu vực địa lý của hệ thống
Các vị trí chia theo châu lục Ta có thể chọn mục này một cách thông qua việc định vị chuột tại đúng vị trí trên bản đồ
2.16 Đặt mật khẩu cho người quản trị
Trên hệ điều hành Linux, người quản trị được gọi là root và mật khẩu của user root yêu cầu có chiều dài tối thiểu là 6 ký tự Cần lưu ý rằng mật khẩu phân biệt chữ hoa và chữ thường Khi nhận được thông báo “Root password accepted”, điều đó có nghĩa là mật khẩu đã được chấp nhận.
Nếu không sử dụng password mạng có thể bỏ qua cấu hình này nhưng vẫn sử chế độ chọn mặc nhiên (chọn Enable MD5 passwords và Enable shadow passwords)
- Enable MD5 passwords: cho phép password sử dụng tới 256 ký tự thay vì chỉ tới 8 ký tự
- Enable shadow passwords: cung cấp cơ chế lưu trữ password an toàn
Password được lưu trữ trong tập tin /etc/shadow và chỉ có root mới được đọc
- Enable NIS: cho phép một nhóm máy trong một NIS domain sử dụng chung tập tin passwd và group Chọn các tham số sau:
+ NIS domain: Xác định NIS domain mà máy này tham gia
+ Use broadcast to find NIS server: Cho phép sử dụng thông điệp quảng bá để tìm NIS server
+ NIS Server: Xác định NIS server
+ Enable LDAP: Hệ thống sử dụng LDAP cho một vài hoặc tất cả các phép chứng thực
+ LDAP Server: Xác định LDAP server (dùng địa chỉ IP)
+ LDAP Base DN: cho phép tìm kiếm thông tin người dùng dựa trên DN
+ Use TLS (Transport Layer Security) lookups: cho phép LDAP gởi tên người dùng và password mã hóa tới LDAP server trước khi chứng thực
- Enable Kerberos: là hệ thống cung cấp các dịch vụ chứng thực trên mạng Các lựa chọn:
+ Realm: cho phép truy xuất tới mạng sử dụng Kerberos
+ KDC: cho phép truy xuất tới Key Distribution Center (KDC)
+ Admin Server: cho phép truy xuất tới server chạy kadmin
+ Enable SMB Authentication: Cài PAM để dùng một Samba server chứng thực cho các client
+ SMB Server: Xác định samba server mà các máy trạm kết nối tới để chứng thực
+ SMB Workgroup: Xác định workgroup mà samba server được cấu hình tham gia
2.18 Chọn các chương trình và Package cài đặt
Chọn các chương trình cần cài đặt: everything: cài tất cả các chương trình,
Minimal: chỉ cài một số chương trình hoặc phần mềm thông dụng
Nếu nắm rõ các package cần thiết cho các chương trình mong muốn thì chọn
Select individual packages Ta có thể chọn Details để chọn chi tiết các thành phần trong từng phần mềm hoặc nhóm các công cụ
2.19 Định dạng filesystem và tiến hành cài đặt
QUẢN TRỊ NGƯỜI DÙNG VÀ NHÓM
Thông tin của người dùng
Mục tiêu của bài viết này là trình bày cơ chế quản lý người dùng trong hệ điều hành Linux, giúp người học hiểu rõ cách thức quản lý và lưu trữ thông tin người dùng trên hệ thống Việc nắm vững cơ chế này không chỉ hỗ trợ trong việc bảo mật thông tin mà còn nâng cao hiệu quả quản lý người dùng, từ đó cải thiện hiệu suất hoạt động của hệ thống.
Trong Linux, tài khoản root là tài khoản có quyền cao nhất, thường được sử dụng bởi người quản trị cho các mục đích cấu hình và bảo trì hệ thống Để quản lý hệ thống hiệu quả, cần tạo tài khoản cho người dùng càng sớm càng tốt Đối với các server quan trọng với nhiều dịch vụ khác nhau, nên tạo các superuser phù hợp cho từng dịch vụ, tránh việc sử dụng tài khoản root cho các công việc này Ví dụ, một superuser cho công việc backup chỉ cần quyền đọc (read-only) mà không cần quyền ghi.
Tài khoản root có quyền hạn lớn và thường là mục tiêu cho các cuộc tấn công, vì vậy người dùng cần thận trọng khi sử dụng Họ không nên kết nối qua telnet hoặc từ xa mà không có công cụ bảo mật an toàn.
Trong hệ điều hành Linux, chúng ta có thể tạo tài khoản với tên khác nhưng có quyền truy cập như root bằng cách gán UserID bằng 0 Việc phân biệt giữa tài khoản root và tài khoản người dùng thông thường có thể thực hiện qua dấu nhắc của shell Để thay đổi tài khoản đang đăng nhập, bạn có thể sử dụng lệnh "su [tên tài khoản]".
Ví dụ: login: nsd1 Password:******
[nsd1@DanaVTC nsd1]$ su - Password: ******
Dòng thứ ba trong ví dụ ([nsd1@DanaVTC nsd1]$) cho thấy người sử dụng thường (nsd1) đang kết nối, trong khi dòng cuối cùng với dấu # cho biết các lệnh đang được thực hiện với quyền root.
1.2 User Để đăng nhập và sử dụng hệ thống Linux cần phải có 1 tài khoản Trừ tài khoản root, các tài khoản khác do người quản trị tạo ra
Mỗi tài khoản người dùng cần có tên sử dụng (username) và mật khẩu (password) riêng biệt Thông tin tài khoản người dùng trong hệ thống được lưu trữ trong tập tin /etc/passwd.
Tập tin /etc/passwd là một tệp văn bản quan trọng trong hệ thống Unix/Linux, cho phép mọi người đọc nhưng chỉ có quyền truy cập của root mới có thể thay đổi nội dung của nó.
The passwd file contains essential user account information in a Linux system, listing entries such as root, bin, daemon, and various service users Each entry includes the username, password placeholder, user ID (UID), group ID (GID), user description, home directory, and default shell For example, the root user has UID 0 and resides in the /root directory with /bin/bash as the shell, while the 'nobody' user has UID 99 and a home directory set to / Other users, like 'nthung' and 'natan', also have their respective home directories and shells defined This structure is crucial for system administration and user management.
Trong đó, các thông tin bao gồm:
Dòng đầu tiên trong tệp /etc/passwd chứa thông tin về tài khoản người dùng root, với tất cả các tài khoản có user_ID = 0 đều có quyền tương tự như root Sau đó, danh sách tiếp tục với các tài khoản hệ thống không có thực, không thể đăng nhập vào hệ thống, và cuối cùng là các tài khoản người dùng thông thường.
- Cột 1: Tên người sử dụng;
Mã liên quan đến mật khẩu của tài khoản được lưu trữ trong tệp /etc/shadow trên hệ điều hành Linux, và chỉ có người dùng root mới có quyền truy cập vào tệp này.
- Cột 3, cột 4: Mã định danh tài khoản (user ID) và mã định danh nhóm (group ID);
- Cột 5: Tên đầy đủ của người sử dụng;
- Cột 6: Thư mục cá nhân (Home Directory);
- Cột 7: Chương trình sẽ chạy đầu tiên sau khi người dùng đăng nhập vào hệ thống
1.2.2 Username và UserID Để quản lý người dùng, Linux sử dụng tên người dùng (user name) và định danh người dùng (user ID) để đăng nhập và truy xuất tài nguyên
Tên người dùng là chuỗi ký tự duy nhất xác định một người dùng, trong khi số định danh người dùng được sử dụng để kiểm soát hoạt động của họ Theo quy định, người dùng với định danh 0 là quản trị viên (root), trong khi các tài khoản hệ thống sử dụng số định danh từ 1 đến 99 Đối với người dùng bình thường, số định danh bắt đầu từ 100 đến 500.
Mỗi người dùng đều có mật khẩu riêng có thể thay đổi theo ý muốn, trong khi đó, quản trị viên có quyền thay đổi mật khẩu của người dùng khác.
Mật khẩu người dùng được lưu trong tập tin /etc/passwd
Group ID (GID) là một mã số dùng để xác định nhóm của người dùng trên hệ thống Nó cho phép nhận diện người dùng thuộc nhóm nào Trên hệ điều hành Linux, GID thường được tự động tạo ra khi một người dùng mới được khởi tạo, với giá trị bắt đầu từ 500 trở lên.
Khi người dùng đăng nhập vào hệ thống, họ sẽ được đưa đến thư mục cá nhân (home directory) của mình, nơi mà mỗi người dùng có một thư mục riêng và toàn quyền truy cập Thư mục này lưu trữ dữ liệu cá nhân và thông tin hệ thống cần thiết cho hoạt động của người dùng, bao gồm biến môi trường, script khởi động, và profile khi sử dụng X Window Thông thường, home directory của người dùng nằm trong /home, trong khi của root là /root Tuy nhiên, vị trí của thư mục cá nhân có thể được thay đổi thông qua lệnh useradd hoặc usermod.
Quản lý người dùng
Mục tiêu: Trình bày các thao tác quản trị người dùng thông qua tài khoản người dùng
2.1 Tạo tài khoản người dùng Để tạo tài khoản, root có thể sử dụng lệnh useradd với cú pháp:
#useradd [-c mô_tả_người_dùng] [-d thư_mục_cá_nhân] [-m]
[-g nhóm_người_dùng] [tên_tài_khoản]
- Tham số –m sử dụng để tạo thư mục cá nhân nếu nó chưa tồn tại
- Chỉ có root được phép sử dụng lệnh này
Ví dụ: # useradd –c “Nguyen van B“ nvb
78 Để đặt mật khẩu cho tài khoản, dùng lệnh passwd
Changing password for user nvb New password: ****
Retype new password: **** passwd: all authentication tokens updated successfully Lưu ý:
- Đặt với độ dài tối thiểu 6 ký tự;
- Phối hợp giữa ký tự hoa, thường, ký số và ký tự đặc biệt
- Không nên đặt password liên quan đến tên tuổi, ngày sinh,… của mình và người thân
Khi nhiều người dùng chia sẻ dữ liệu và chức năng, họ nên được nhóm lại trong cùng một nhóm Mặc định, mỗi tài khoản Linux khi được tạo sẽ có một nhóm riêng, với tên nhóm trùng khớp với tên tài khoản Ví dụ, trong tập tin /etc/passwd, dòng nvb:x:1013:1013::/home/nvb:/bin/bash cho thấy người dùng nvb có user_ID 1012 và thuộc nhóm 1013.
Xem tập tin /etc/group ta thấy:
# more /etc/group root:x:0:root
Lúc này, có thể kết nạp tài khoản nvb vào nhóm users bằng cách thay số 1013 bằng 100, là group_ID của nhóm users
Bạn có thể sử dụng lệnh `useradd –d` để kiểm tra các thông số mặc định khi tạo tài khoản người dùng, những thông tin này được lưu trữ trong thư mục `/etc/default/useradd`.
GROUP0 HOME=/home INACTIVE=-1 EXPIRESHELL=/bin/bash SKEL=/etc/skel
2.2 Thay đổi thông tin của tài khoản Để thay đổi thông tin của tài khoản, có thể thay đổi từ tập tin /etc/passwd hoặc dùng lệnh usermod Cú pháp lệnh usermod:
#usermod [-c thông_tin_người_dùng] [-d thư_mục_cá_nhân] [-m]
[-g nhóm_ người_dùng] [tên_tài_khoản]
Ví dụ: Cho tài khoản nvb vào nhóm admin
2.3 Tạm khóa tài khoản người dùng Để tạm thời khóa tài khoản trong hệ thống ta có thể dùng nhiều cách:
Khóa (locking) Mở khóa (unlock) passwd –l passwd –u usermod –L usermod –U
Để tạm khóa tài khoản, bạn có thể chỉnh sửa tập tin /etc/shadow bằng cách thay thế từ khóa x bằng dấu * hoặc gán /bin/false làm shell mặc định cho người dùng trong tập tin /etc/passwd.
Lệnh userdel được sử dụng để xóa một tài khoản người dùng trên hệ thống Ngoài ra, người dùng cũng có thể xóa tài khoản bằng cách xóa dòng dữ liệu tương ứng trong tập tin /etc/passwd Cú pháp thực hiện lệnh này rất quan trọng để đảm bảo quá trình xóa tài khoản diễn ra chính xác.
Ví dụ: xóa tài khoản nvb (dùng tùy chọn –r để xóa toàn bộ thông tin liên quan tới user đó): #userdel –r nvb
Nhóm người dùng
Mục tiêu: Khi nhiều người dùng có cùng một chức năng, cùng chia xẻ nhau dữ liệu, có chung quyền trên tài nguyên, thường được nhóm thành một nhóm
Trong hệ điều hành Linux, mỗi nhóm được xác định bởi tên và định danh riêng, cho phép nhiều người dùng tham gia Mặc dù người dùng có thể thuộc nhiều nhóm khác nhau, nhưng tại một thời điểm, họ chỉ có thể là thành viên của một nhóm duy nhất.
Thông tin về nhóm lưu tại tập tin /etc/group Mỗi dòng định nghĩa một nhóm, các trường trên dòng cách nhau bởi dấu :
::
3.1 Tạo nhóm Để tạo một nhóm, có thể chỉnh sửa trực tiếp trong tập tin /etc/group hoặc dùng lệnh groupadd
Cú pháp: #groupadd [tên-nhóm]
3.2 Thêm người dùng vào nhóm
Để thêm người dùng vào nhóm, bạn có thể chỉnh sửa tệp tin /etc/group, trong đó các tên tài khoản người dùng được ngăn cách bởi dấu “;”, hoặc sử dụng lệnh để thêm người dùng vào nhóm.
#usermod –g [tên-nhóm tên-tài-khoản]
3.3 Hủy nhóm Để hủy nhóm, có thể xóa trực tiếp nhóm trong tập tin /etc/group, hoặc dùng lệnh:
3.4 Xem thông tin về user và group
Cú pháp: #id
Lệnh cho phép xem thông tin về tài khoản hay nhóm trong hệ thống
Trong đó, tham số -g cho phép xem thông tin về nhóm
Ví dụ: xem groupID của một user vanphong: #id –g vanphong Để xem tên nhóm của một user nào đó, dùng lệnh: groups
Ví dụ: [root@server root]# groups root root: root bin daemon sys adm disk wheel Câu hỏi
1 Trình bày các loại tài khoản trên Linux
2 Cho biết ý nghĩa các thành phần trên tập tin /etc/passwd
BT1 Quản lý người dùng
1 Tạo các nhóm người dùng sau đây : tiep_thi,kinh_doanh,ban_hang
2 Tạo các tài khoản người dùng và nhóm người sau đây
Tài khoản Tên đầy đủ Nhóm chính Thành viên
Matiem Mai An Tiem tiep_thi tiep_thi,kinh_doanh dtdiem Doan thi diem dtdiem dtdiem
3 Them người dùng dtidiem vao nhóm ban_hang
4 Liệt kê tất cả các nhóm của dtdiem
5 Đăng nhập vào tài khoản dtdiem
6 Liệt kê tất cả nhóm của dtdiem
7 Tạo thư mục du_lieu trong thư mục người dùng của dtdiem
8 Ls-l xem chủ sở hữu và nhóm sở hữu của nó
9 Đăng nhập vào tài khoản matiem
10 Tạo 1 thư mục con tên toto bên trong /home/dtdiem Kết quả?
12 Xem người dùng hiện tại
14 Xem người dùng hiện tại
15 Đổi nhóm chính cho dtdiem là kinh_doanh
16 Đăng nhập vào tài khoản dtdiem
17 Liệt kê tất cả các nhóm của người dùng dtdiem Chú ý thứ tự của các nhóm
18 Tạo thư mục con data bên trong thư mục ng dùng dtdiem ( / home/dtdiem)
19 Làm thế nào để biết chủ sở hữu và nhóm sỡ hữu data,cho biết chủ sở hữu và
20 Đổi nhóm chính (tạm thời) của dtdiem thành ban_hang
21 Tạo tập tin xyz trong thư mục người dùng của dtdiem
25 Đăng nhập vào tài khoản matiem Kết quả
26 Mở khóa tài khoản matiem
27 Đăng nhập vào tài khoản matiem Kết quả
1 Tạo nhóm người dùng ban–giam-hieu giao vien,sinh vien
Tài khoản Tên đày đủ Nhóm chính
Huỳnh tuyết hoa ban giám hiệu giáo viên sinh viên ban giám hiệu,giáo viên, giáo viên sinh viên
3 Nhóm chính của người dùng hthoa là gì?
4 Đổi nhóm chính của hthoa thành “giáo_viên”
5 Đổi danh sách nhóm người dùng hthoa thành ban_giam_hieu, giao-vien, sinh- vien
6 Đăng nhập vào tk hthoa
7 Cho biết thư mục hiện hành là gì
8 Đi đến thư mục người dùng của hthoa
9 Tao tm giao_an trong thư mục ng dùng of hthoa?
10 Xem quyền truy xuất , chủ sở hữu nhóm sở hữu của tm giao-an
11 Đổi nhóm chính ( thời) của người dùng hthoa thành ban-giam-hieu
12 Tạo 1 tm người dùng tên cong_van trong thư mục người dùng của hthoa
13 Xem quyền truy xuất, chủ sở hữu, nhóm sở hữu của cong-van
14 Tạo 1 tm tin-thong-bao trong thư mục người dùng của hthoa
15 Xem quyền truy xuất, chủ sỏ hữu, nhóm sở hữu của tin-thong-bao
16 Đổi nhóm sở hữu of tm thong-bao thành s-v
17 Xem quyền truy xuất, chủ sở hữu, nhóm sở hữu of tm thong-bao
18 Copy tập tin /etc/password vào thư mục thong-bao
19 Bỏ quyền đọc (r) ra khỏi t.tin passwd) Kết quả là gì? Bạn có thấy nội dung của file passwd ko?
20 Liệt kê nội dung t.tin passwd không?
21 Thêm quyền đọc (r) cho chủ sở hữu và nhóm sở hữu của ttin passwd trong tin thông báo
22 Lặp lại câu 20 kết quả là gì ? tại sao?
23 Đăng nhập vào tk ng dùng cvtam
24 Thử đọc nội dung của t.tin password trong tin thong-bao (cat thong.bao/passwd) Có thể đọc được ko?
26 Đổi nhóm sở hữu của tập tin thong.bao/passwd thành sinh_vien
27 Lặp lại câu 23,24 lúc này bạn có thể xem được nội dung tập tin thong_bao/passwd không? Tại sao?
29 Đăng nhập vào tài khoản của tttung
30 Tạo 1 thư mục tên toto trong thư mục giao_an, bạn có tạo được không? Tại sao?
BT2 Quản lý tiến hành
1 Mở 1 terminal hoặc konsole (terminal 1)
2 Xem các tiến trình của người dùng hiện hành
3 Xem tất cả các tiến trình đang thực thi
4 Xem tất cả các tiến trình dạng cây
5 Từ terminal 1 chạy chương trình gedit bằng cách gõ lệnh gedit
6 Click chuột trở về terminal 1 Có thể gõ tiếp lệnh ko?
7 Tạm ngưng chương trình gedit bằng cách bấm tổ hợp phím ctrl + z bạn thấy gì ở terminal 1? Có thể gõ tiếp lệnh không?
8 Click chuột trở về cửa sổ gedit Bạn có thể soạn thảo bên trong cửa sổ này không? Tại sao?
9 Click chuột trở về terminal gõ lệnh jobs để xem có bao nhiêu công việc đang thực hiện ghi lại số hiệu job của chương trình gedit
10 Đưa chương trình gedit thực hiện trở lại bằng cách cho nó chạy ở chế độ nền Quay lại cửa sổ gedit, thử gõ vài kí tự Điều gì xảy ra?
11 Mở thêm 1 chương trình mới (xcalc: máy tính điện tử) và cho chạy ở chế độ nền
Những trọng tâm cần chú ý trong bài
-Hiểu cơ chế quản lý người dùng trong hệ điều hành Linux;
-Thực hiện việc tạo lập, quản lý người dùng
Bài mở rộng và nâng cao
1 Quản lý người dùng Linux trên giao diện text
- Xem thông tin chi tiết liên quan đến người dùng trong tập tin /etc/passwd
- Xem thông tin chi tiết liên quan đến nhóm người dùng trong tập tin /etc/group
- Xem thông tin chi tiết về mật khẩu trong tập tin /etc/shadow
Tạo nhóm học viên với các người dùng hv1, hv2, hv3 và thiết lập mật khẩu cho từng người dùng mới Tiếp theo, tạo nhóm admin bao gồm các người dùng admin1, admin2 và đặt mật khẩu cho họ Cuối cùng, thay đổi UID của hai người dùng admin1 và admin2 thành 0.
Thay đổi thông tin mô tả của người dùng
Hv1, hv2 và hv3 lần lượt là các học viên trong hệ thống, trong khi admin1 và admin2 đóng vai trò là những người quản trị.
- Thay đổi mật khẩu cho những người dùng trên
- Khóa tài khoản người dùng hv3
- Thử đăng nhập bằng tài khoản hv3
- Mở khóa tài khoản người dùng hv3
- Thử đăng nhập bằng tài khoản hv3
- Xóa tài khoản người dùng hv3
2 Quản lý người dùng trên giao diện đồ họa
- Tạo người dùng và nhóm:
- Thay đổi các thuộc tính liên quan đến người dùng
- Thay đổi nhóm của người dùng
- Giới hạn thời gian sử dụng tài khoản
- Tạm khóa tài khoản người dùng
- Giới hạn thời hạn sử dụng mật khẩu
Yêu cầu về đánh giá kết quả học tập
+ Về kiến thức: -Hiểu cơ chế quản lý người dùng trong hệ điều hành Linux; Thực hiện việc tạo lập, quản lý người dùng
+ Về kỹ năng: Tạo và quản lý tập tin & thư mục; Sử dụng các lệnh liên quan đến tập tin và thư mục;
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc
+ Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp
Kỹ năng quan trọng bao gồm đánh giá khả năng thực hành trong việc tạo và quản lý tập tin cũng như thư mục, sử dụng các lệnh liên quan đến chúng, thực hiện việc tạo lập và quản lý người dùng, đồng thời thực hiện các thao tác an toàn với máy tính.
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc
CẤU HÌNH MẠNG
Cấu hình địa chỉ IP cho card mạng
Mục tiêu: Trình bày các thao tác : Xem địa chỉ IP, cấu hình địa chỉ IP, kiểm tra trạng thái của tất cả các card mạng
Lệnh ifconfig cho phép xem thông tin địa chỉ IP của PC
Ví dụ: để xem thông tin cấu hình mạng, dùng lệnh ifconfig -a
# 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) Trong đó, eth0 là tên của card mạng trong, lo là tên của loopback interface
1.2 Thay đổi địa chỉ IP
Trong bài 4 – mục 4, trình tiện ích cho phép thiết lập cấu hình mạng; ngoài ra, có thể sử dụng các cách sau để thay đổi địa chỉ IP:
Sử dụng lệnh: ifconfig netmask up
[root@bigboy tmp]# ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up
Sau khi sử dụng lệnh này, hệ thống sẽ tạm thời lưu trữ thông tin cấu hình trong bộ nhớ, nhưng thông tin này sẽ bị mất khi hệ thống khởi động lại Để giữ lại thông tin sau khi reboot, cần thêm lệnh vào tập tin /etc/rc.local.
Hoặc: Thay đổi thông tin cấu hình mạng trực tiếp trong file /etc/sysconfig/network- scripts/ifcfg-eth0
Gán địa chỉ IP tĩnh (tham khảo file ifcfg-eth0)
#Advanced Micro Devices [AMD]|79c970 [PCnet32LANCE]
Gán địa chỉ IP động (tham khảo file ifcfg-eth0)
1.3 Tạo nhiều địa chỉ IP trên card mạng
Phương thức tạo nhiều địa chỉ IP trên card mạng được gọi là IP alias Địa chỉ IP alias phải có tên theo định dạng: tên-giao-diện-cha:X, trong đó X là số thứ tự của giao diện phụ.
Sử dụng một trong các cách sau để tạo Alias IP:
- 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:
# ifconfig ifcfg-eth0:0 192.168.1.99 netmask 255.255.255.0 up
Tạo một tệp tin mới có tên /etc/sysconfig/network-scripts/ifcfg-eth0:0 từ tệp /etc/sysconfig/network-scripts/ifcfg-eth0, sau đó cập nhật thông tin địa chỉ trong tệp này.
- Bước 3: Bật và tắt alias interface thông qua lệnh ifconfig
Hoặc dùng lệnh /etc/init.d/network restart
- Bước 4: Kiểm tra thông tin cấu hình alias interface dùng lệnh ifconfig:
# ifconfig 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)
To create a subinterface configuration file, copy the existing file from /etc/sysconfig/network-scripts/ifcfg-eth0 to /etc/sysconfig/network-scripts/ifcfg-eth0:X, where X represents the subinterface number.
- 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 phải thay đổi)
Lệnh netstat cho phép kiểm tra trạng thái của tất cả các card mạng
Ngoài ra, có thể dùng lệnh netstat –rn để xem bảng routing table của router.
Truy cập từ xa
Mục tiêu: Trình bày cơ chế hoạt động của dịch vụ truy cập từ xa
Khi cấu hình hệ thống kết nối mạng, máy chủ cung cấp nhiều dịch vụ Internet, mỗi dịch vụ thường gắn liền với một daemon hoạt động trong chế độ background Các daemon này liên kết với một cổng và chờ đợi yêu cầu kết nối từ chương trình client Khi có kết nối, daemon tạo ra một tiến trình con để xử lý và tiếp tục lắng nghe các yêu cầu khác Tuy nhiên, nếu có quá nhiều daemon, CPU sẽ bị quá tải Để giải quyết vấn đề này, Linux sử dụng một super-server gọi là Xinetd.
Mỗi dịch vụ Internet đều gắn liền với một cổng chẳng hạn như: smtp – 25, pop3 – 110, dns – 53 Việc phân bổ này do một tổ chức qui định
Xinetd là một daemon server Internet, chịu trách nhiệm quản lý tập trung tất cả các dịch vụ Internet thông qua các cổng tương ứng Khi nhận được yêu cầu kết nối từ client, Xinetd sẽ chuyển tiếp yêu cầu đến dịch vụ phù hợp và tiếp tục lắng nghe các yêu cầu khác Xinetd được khởi động cùng với hệ điều hành thông qua script /etc/rc.d/init.d/xinetd, sau đó nó đọc thông tin từ tập tin cấu hình /etc/xinetd.conf và truy cập thư mục /etc/xinetd, nơi lưu trữ cấu hình cho tất cả các dịch vụ Mỗi dịch vụ có một tập tin cấu hình riêng với tên trùng khớp, ví dụ như dịch vụ telnet.
{ disable = yes flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID }
Những thuộc tính trong tập tin bao gồm:
Disable Tạm đình chỉ dịch vụ này Có 2 giá trị: yes, no
Socket_type Loại socket Trong trường hợp này là stream – một loại socket cho những kết nối connection-oriented (chẳng hạn như TCP)
Wait Thường chỉ liên quan đến những kết nối có loại socket là datagram Giá trị của nó có thể là:
- nowait nghĩa là xinetd sẽ tiếp tục nhận và xử lý những yêu cầu khác trong lúc xử lý kết nối này
- wait nghĩa là tại một thời điểm xinetd chỉ có thể xử lý một kết nối tại một cổng chỉ định
User Chỉ ra user chạy dịch vụ này Thông thường là root
Server Chỉ ra đường dẫn đầy đủ đến nơi quản lý dịch vụ
When xinetd is initialized, it accesses the /etc/services file to identify the corresponding ports for each service The contents of this file include various services and their associated protocols, such as echo on ports 7 for both TCP and UDP, discard on port 9 for both TCP and UDP, systat on port 11 for both TCP and UDP, daytime on port 13 for both TCP and UDP, and qotd on port 17 for TCP.
100 msp 18/tcp# message send protocol msp 18/udp# message send protocol chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp-data 20/udp
Port 21 is designated for FTP, which operates over both TCP and UDP, while FSP also utilizes this port Additionally, SSH, the Remote Login Protocol, operates on port 22 for TCP and UDP connections Telnet is assigned to port 23, functioning over both TCP and UDP as well.
The private mail system operates using SMTP on both TCP and UDP ports 25, facilitating email communication Additionally, the time service is available through TCP and UDP on port 37, providing accurate time synchronization Resource location is managed via RLP on port 39, supporting both TCP and UDP protocols Lastly, nameserver functionality is established on port 42, adhering to IEN 116 standards for efficient domain name resolution.
Mỗi dòng trong tập tin mô tả cho một dịch vụ, bao gồm những cột sau:
- Cột 1: tên của dịch vụ;
- Cột 2: số cổng và giao thức mà dịch vụ này hoạt động;
- Cột 3: danh sách những tên gọi khác của dịch vụ này
Sau khi chỉnh sửa các tập tin cấu hình của từng dịch vụ trong thư mục /etc/xinetd, bạn cần thực hiện lệnh để đọc lại nội dung của các tập tin cấu hình.
/etc/rc.d/init.d/xinetd restart
Dịch vụ Telnet
Mục tiêu: Trình bày cách cài đặt, cấu hình và các phương án bảo mật đối với dịch vụ truy cập từ xa Telnet
Người dùng có thể gặp khó khăn khi làm việc trực tiếp trên máy Linux Dịch vụ telnet giúp hỗ trợ làm việc từ xa, nhưng để đảm bảo an toàn cho hệ thống, người dùng nên tránh sử dụng telnet và ưu tiên làm việc trực tiếp trên máy Linux.
Khi cài đặt Linux, dịch vụ telnet thường đã được cài sẵn Nếu dịch vụ này chưa được cài, bạn có thể dễ dàng cài đặt telnet server bằng lệnh: rpm –i telnet-server-0.17-20.i386.rpm.
Có nhiều cách cấu hình telnet server, sau đây là hai cách cấu hình cơ bản nhất:
Để cài đặt dịch vụ telnet, bạn cần dựa vào tập tin cấu hình Sau khi cài đặt xong, trong thư mục /etc/xinetd.d sẽ xuất hiện tập tin telnet, chứa các thông tin cấu hình cần thiết cho dịch vụ này.
{ disable = yes flags = REUSE socket_type = stream wait = no user = root server =/usr/sbin/in.telnetd log_on_failure += USERID }
Nếu tùy chọn disable được đặt là "no", thì máy chủ TELNET sẽ khởi động Ngược lại, nếu tùy chọn disable là "yes", máy chủ TELNET sẽ không khởi động Sau khi chỉnh sửa tệp cấu hình, bạn có thể khởi động hoặc dừng máy chủ bằng các lệnh tương ứng.
/etc/rc.d/init.d/xinetd restart Hoặc dùng lệnh:
- Cách 2: Cấu hình telnet Server bằng dòng lệnh: chkconfig telnet on
Kiểm tra telnet thông qua lệnh:
102 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
3.4 Bảo mật dịch vụ telnet
3.4 1 Cho phép telnet server hoạt động trên tcp port khác
Telnet traffic không được mã hóa, vì vậy việc cho telnet server hoạt động trên TCP port 23 không an toàn Để tăng cường bảo mật, bạn có thể cấu hình telnet server để hoạt động trên một TCP port khác Các bước thực hiện như sau:
- Bước 1: Mở tập tin /etc/services và thêm dòng
# Local services stelnet 7777/tcp # "secure" telnet
- Bước 2: Chép file telnet thành file stelnet
# cp /etc/xinetd.d/telnet /etc/xinetd.d/stelnet
- Bước 3: Thay đổi một số thông tin trong file file /etc/xinetd.d/stelnet service stelnet
{ 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
- 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:
3.4.2 Cho phép một số địa chỉ truy xuất telnet
Ta hiệu chỉnh một số thông số sau:: service telnet
{ flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no only_from = 192.168.1.100 127.0.0.1 192.168.1.200 }
SSH
Mục tiêu: Trình bày cách cài đặt và sử dụng dịch vụ truy cập từ xa SSH với phương thức mã hóa dữ liệu
Chương trình Telnet trên Linux cho phép người dùng đăng nhập từ xa vào hệ thống, nhưng nhược điểm lớn là tên người dùng và mật khẩu không được mã hóa khi truyền qua mạng Điều này tạo ra rủi ro cao, vì thông tin đăng nhập có thể bị đánh cắp, gây nguy hiểm cho an toàn hệ thống.
Phần mềm Secure Remote Access trên Linux khắc phục nhược điểm của telnet bằng cách cho phép đăng nhập từ xa với mật khẩu được mã hóa, mang lại mức độ bảo mật cao hơn nhiều so với telnet.
4.1 Cài đặt SSH Server trên Server Linux
Dùng lệnh rpm để cài package openssh-server *.rpm rpm –ivh openssh-server.*.rpm
Tập tin cấu hình /etc/ssh/sshd_config và /etc/ssh/ssh_config Để start hay stop server dùng lệnh sau:
/etc/init.d/sshd start/stop/restart
4.2 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 của lệnh:
$ssh [tùy_chọn] [tên/IP_máy] [tùy_chọn] [lệnh]
Ví dụ: $ssh [–l ]
4.3 Quản trị hệ thống Linux thông qua SSH client for Windows
The SSH client for Windows is specifically designed to enable users to manage and use Unix/Linux systems directly from the Windows operating system You can download this software from the official website at [ssh.com/support/downloads](http://www.ssh.com/support/downloads/).
Phần mềm này hỗ trợ cho người dùng có thể làm việc từ xa, cung cấp dịch vụ sftp
Hình 6.1Màn hình “SSH Client for Windows”
1 Trình bày các cách thay đổi địa chỉ IP (lệnh ifconfig, thay đổi từ file /etc/sysconfig/network-scripts/ifcfg-eth0)
2 Trình bày các cách tạo nhiều địa chỉ IP trên card mạng (IP alias)
Bài 1: Cho hệ thống theo hình vẽ sau:
1 Thay đổi tên máy, sau đó khởi động lại bằng lệnh init 6
3 Xem trạng thái kết nối vật lý của NIC
4 Đặt địa chỉ mạng và cập nhật
5 Dùng lệnh ping và ifconfig để kiểm tra cấu hình mạng
6 Kiểm tra cáp đã gắn vào card mạng hay chưa
Bài 2: Cho hệ thống theo hình vẽ sau:
Thực hiện các yêu cầu sau:
1 Thêm địa chỉ IP cho card mạng eth0 với:
2 Chỉ định default route cho hệ thống
4 Thống kê kết nối mạng
Những trọng tâm cần chú ý trong bài
- Nắm được cách khai báo và thay đổi cấu hình mạng cho máy tính;
- Truy cập và điều khiển máy tính từ xa;
Bài mở rộng và nâng cao
Bài 3: Cho hệ thống theo hình vẽ sau:
Cài đặt và cấu hình các dịch vụ hỗ trợ:
1 Cho phép mọi người kết nối từ xa vào máy chủ Linux qua telnet
2 Cho phép mọi người kết nối từ xa vào máy chủ Linux qua ssh
3 Cho phép mọi người kết nối từ xa vào máy chủ Linux qua VNC
Yêu cầu về đánh giá kết quả học tập
- + Về kiến thức: Nắm được cách khai báo và thay đổi cấu hình mạng cho máy tính; Truy cập và điều khiển máy tính từ xa;
+ Về kỹ năng: Tạo và quản lý tập tin & thư mục; Sử dụng các lệnh liên quan đến tập tin và thư mục;
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc
+ Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp
Kỹ năng quan trọng bao gồm khả năng đánh giá và thực hiện khai báo cũng như thay đổi cấu hình mạng cho máy tính Ngoài ra, việc truy cập và điều khiển máy tính từ xa cũng là một kỹ năng cần thiết Cuối cùng, thực hiện các thao tác an toàn với máy tính nhằm bảo vệ dữ liệu và hệ thống là yếu tố không thể thiếu trong quá trình sử dụng công nghệ.
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc
CÀI ĐẶT DỊCH VỤ TRÊN MÁY CHỦ
Dịch vụ SAMBA
Mục tiêu của chương trình là hỗ trợ người học trong việc chia sẻ tài nguyên hệ thống Linux với các hệ thống khác Người học sẽ được hướng dẫn thực hiện các thao tác như cài đặt, cấu hình và truy xuất vào các tài nguyên đã được chia sẻ.
Samba là một công cụ hữu ích giúp chia sẻ tài nguyên giữa hệ thống Linux và các hệ thống khác như Windows Nó cho phép Linux gia nhập vào các môi trường Windows, bao gồm việc kết nối với PDC trên Windows và tham gia vào Windows Workgroup.
Bộ Samba bao gồm nhiều thành phần quan trọng, trong đó daemon smbd cung cấp dịch vụ in ấn và tập tin, với tập tin cấu hình là smb.conf Daemon nmbd hỗ trợ dịch vụ tên NETBIOS, cho phép các máy tính khác truy cập và sử dụng tài nguyên từ máy chủ Samba Ngoài ra, trình smbclient hoạt động như một client thông thường, tương tự như ftp, và được sử dụng để truy cập tài nguyên trên các server tương thích khác.
Có thể cài đặt Samba trong quá trình cài đặt Linux hoặc sau đó bằng tiện ích RPM Các gói này được tích hợp trong đĩa CD Fedora, bao gồm: system-config-samba-1.2.15-0.fc2.1 để hỗ trợ cấu hình trên giao diện X window, samba-3.0.7-2.FC2 là gói chính của Samba, samba-client-3.0.7-2.FC2 dành cho Samba Client, samba-common-3.0.7-2.FC2 cung cấp các thư viện cần thiết cho Samba, và samba-swat-3.0.7-2.FC2 hỗ trợ cấu hình Samba qua Web.
Có thể khởi động dịch vụ samba tại thời điểm boot của hệ thống chkconfig
Ta có thể start/stop/restart samba thông qua lệnh:
108 Để kiểm tra samba có hoạt động trong hệ thống hay không
Tập tin cấu hình /etc/samba/smb.conf Đây là một tập tin có dạng text Các thành phần trong file cấu hình:
[global] Chứa các tham số cấu hình chung của samba server
[printers] Chứa các tham số sử dụng cho việc cấu hình máy in
[homes] Chỉ định SMB chia xẻ thư mục home directory của user
[netlogon] Chia xẻ logon script
1.3.1 Đoạn [global] Đoạn này kiểm soát tất cả tham số cấu hình chung của server smb Đoạn này cũng cung cấp giá trị mặc định cho những đoạn khác:
[global] workgroup = LINUX ; chỉ ra nhóm mà máy này sẽ tham gia server string = Samba Server ; hosts allow = 192.168.1 192.168.2 127 ; host được phép truy xuất đến samba
Guest account = pcguest ; cung cấp username cho account khách trên server Account này để nhận diện những user nào được dùng các dịch vụ samba dành cho khách
Log file = /var/log/samba/smb.%m ; xác định vị trí tập tin log của từng client truy cập samba
Kích thước tối đa của một tập tin log được đặt là 50 KB Việc mã hóa mật khẩu khi đăng nhập vào máy chủ Samba là cần thiết, với tùy chọn "encrypt passwords" được thiết lập thành "yes" Tất cả mật khẩu gửi từ Windows 9x đều được mã hóa, do đó việc lựa chọn mã hóa là quan trọng để bảo mật thông tin.
Nếu giá trị cấu hình là "no", máy chủ Samba sẽ từ chối mọi yêu cầu đăng nhập từ người dùng Ngược lại, nếu giá trị là "yes", chỉ những người dùng có mật khẩu được lưu trong tệp /etc/samba/smbpasswd mới có thể truy cập máy chủ Samba Tệp smbpasswd lưu trữ danh sách các người dùng được phép truy cập vào server SMB.
Một số biến cần tham khảo:
Tên biến Mô tả giá trị
%S Tên của dịch vụ hiện hành, nếu có
%P Thư mục gốc của dịch vụ hiện hành, nếu có
%u tên user của dịch vụ hiện hành
%g tên của nhóm chính của %u
%U tên phiên làm việc của user
%G tên của nhóm chính của %U
%H thư mục gốc của user
%h tên của host mà Samba đang chạy
%m tên NETBIOS của máy khách
%L tên NETBIOS của máy chủ
%M tên Internet của máy khách
%I Địa chỉ IP của máy khách
%T ngày và giờ hiện hành
%a kiến trúc của máy từ xa Chỉ có một số máy được nhận diện là Win9x, WinNT, Win2k
Mặc định, SMB cho phép chia sẻ thư mục home của từng người dùng trong hệ thống, giúp người dùng dễ dàng truy cập vào thư mục cá nhân của mình từ máy trạm.
The configuration for home directories specifies that the path is set to %H, allowing read and write access for valid users defined by %S To permit group access, use the syntax @group_name The directories are not browseable, but they are writable, and the create mask is set to 0750, ensuring proper permissions.
1.3.3 Chia xẻ máy in dùng SMB Để chia xẻ máy in, ta mô tả đoạn [printers] trong file /etc/smb.conf
[printers] comment = All Printers path = /var/spool/samba browseable = no public = yes guest ok = no writable = no printable = yes ; cho phép in
Sau khi cấu hình mặc định cho server Samba, bạn có thể tạo nhiều thư mục dùng chung và xác định quyền truy cập cho từng cá nhân hoặc nhóm.
The configuration snippet creates a shared directory named "dirshare" located at /usr/local/share Access to this directory is restricted to the user "hv1," as indicated by the "public" setting being set to "no." Additionally, the directory is marked as writable, allowing the designated user to modify its contents.
Swat là một công cụ hữu ích giúp cấu hình SAMBA thông qua giao diện Web Để sử dụng Swat, người dùng cần cài đặt thêm gói samba-swat-3.0.7-2.FC2.rpm trong hệ điều hành Fedora Core.
1.4.1 Tập tin cấu hình SAMBA SWAT
Trước khi cấu hình SAMBA-SWAT, cần thiết lập một số thông số: disable = no only_from = 172.29.14.149 localhost
Trong file /etc/xinetd.d/swat để khởi động dịch vụ SWAT và cho phép các host nào có quyền truy xuất SAMBA SWAT qua Web service swat
{ disable = no port = 901 socket_type = stream wait = no only_from = 172.29.14.149 localhost user = root server = /usr/sbin/swat log_on_failure += USERID
1.4.2 Truy xuất SWAT từ Internet Explorer
Truy xuất SMB SWAT thông qua địa chỉ http://172.29.14.150:901 từ IE; Sau đó, chỉ định username (root nếu ta muốn quản lý SMB), và mật khẩu để đăng nhập:
Hình7.1 Màn hình đăng nhập
Sau khi đăng nhập thành công
Hình7.2 Giao diện Samba SWAT
Cung cấp các tài liệu tham khảo về samba Quản lý thông tin cấu hình
Quản lý tài nguyên chia sẻ bao gồm việc quản lý máy in, cấu hình loại server, Wins và các tham số khác Đồng thời, cần theo dõi trạng thái của SAMBA và các kết nối liên quan Để đảm bảo hiệu quả, hãy xem xét các thông tin cấu hình trong file smb.conf.
Dịch vụ DNS
Mục tiêu: Trình bày cơ chế hoạt động của dịch vụ DNS, cách cấu hình dịch vụ DNS trên máy chủ Linux
Để các máy tính trong mạng có thể giao tiếp và trao đổi thông tin, chúng cần biết địa chỉ IP của nhau Tuy nhiên, khi số lượng máy tính tăng lên, việc ghi nhớ các địa chỉ IP trở nên khó khăn Mỗi máy tính không chỉ có địa chỉ IP mà còn có tên (computer name), mà con người dễ dàng nhớ hơn nhờ tính trực quan Do đó, giải pháp ánh xạ địa chỉ IP thành tên máy tính đã được đề xuất để đơn giản hóa việc nhận diện và giao tiếp giữa các thiết bị trong mạng.
Ban đầu, mạng ARPAnet, tiền thân của Internet, chỉ có quy mô nhỏ với vài trăm máy tính, vì vậy chỉ cần một tập tin HOSTS.TXT để lưu trữ thông tin ánh xạ giữa tên máy và địa chỉ IP Tên máy được biểu diễn dưới dạng chuỗi văn bản không phân cấp Tập tin này được duy trì tại một máy chủ, trong khi các máy chủ khác giữ bản sao của nó Tuy nhiên, khi mạng mở rộng, việc sử dụng tập tin HOSTS.TXT bắt đầu bộc lộ nhiều nhược điểm.
- Lưu lượng mạng và máy chủ duy trì tập tin HOSTS.TXT bị quá tải do hiệu ứng “cổ chai”
Xung đột tên trong tập tin HOSTS.TXT xảy ra khi có hai máy tính cùng tên, điều này không được phép Tuy nhiên, do tên máy không phân cấp và thiếu cơ chế uỷ quyền quản lý, việc tạo ra hai tên trùng nhau vẫn có thể xảy ra, dẫn đến nguy cơ xung đột tên.
- Không đảm bảo sự toàn vẹn: việc duy trì 1 tập tin trên mạng lớn rất khó khăn
Ví dụ như khi tập tin HOSTS.TXT vừa cập nhật chưa kịp chuyển đến máy chủ ở xa thì đã có sự thay đổi địa chỉ trên mạng
Tập tin HOSTS.TXT không thích hợp cho mạng lớn do thiếu khả năng phân tán và mở rộng Để khắc phục những nhược điểm này, dịch vụ DNS đã được phát triển Paul Mockapetris, từ Viện Khoa học Thông tin USC, là người thiết kế cấu trúc dịch vụ DNS, với các khuyến nghị RFC 882 và 883 được đưa ra sau đó.
1034 và 1035 cùng với 1 số RFC bổ sung như bảo mật trên hệ thống DNS, cập nhật động các bản ghi DNS…
Lưu ý rằng trên các máy chủ hiện tại, tập tin hosts.txt vẫn có thể được sử dụng để phân giải tên máy tính thành địa chỉ IP, tương tự như cách thức hoạt động của tập tin /etc/hosts trong hệ điều hành Linux.
Dịch vụ DNS hoạt động theo mô hình Client-Server, trong đó máy chủ được gọi là nameserver và phần client là trình phân giải tên resolver Nameserver lưu trữ thông tin cơ sở dữ liệu của DNS, trong khi resolver chỉ là các hàm thư viện dùng để tạo và gửi các truy vấn đến nameserver DNS được triển khai như một giao thức tầng Application trong mạng TCP/IP.
DNS là một cơ sở dữ liệu phân tán, cho phép quản trị viên cục bộ quản lý dữ liệu nội bộ trong phạm vi của họ Điều này giúp dữ liệu trở nên dễ dàng truy cập hơn.
Hệ thống mạng theo mô hình Client - Server có 113 dịch vụ, với hiệu suất được cải thiện nhờ vào cơ chế nhân bản (replication) và lưu tạm (caching) Một hostname trong domain là sự kết hợp của các từ được phân cách bằng dấu chấm, ví dụ như cntt.danavtc.edu, trong đó "cntt" là hostname và "danavtc.edu" là domain name Domain name được phân bổ theo cơ chế phân cấp tương tự như hệ thống tập tin Unix/Linux.
Cơ sở dữ liệu của DNS được cấu trúc như một cây đảo ngược, trong đó mỗi nút là gốc của một cây con Mỗi cây con này đại diện cho một phân vùng con trong toàn bộ cơ sở dữ liệu DNS.
Mỗi miền (domain) có thể được chia thành các miền con (subdomain), với mỗi miền mang một tên (domain name) xác định vị trí của nó trong cơ sở dữ liệu DNS Tên miền là chuỗi các tên nhãn, được phân cách bởi dấu chấm, đi ngược lên nút gốc của cây DNS Phần bên phải của mỗi tên miền được gọi là top-level domain; ví dụ, trong cntt.danavtc.edu, edu là top-level domain Dưới đây là bảng liệt kê các top-level domain cùng với mô tả của chúng.
.com Các tổ chức, công ty thương mại
.org Các tổ chức phi lợi nhuận
.net Các trung tâm hỗ trợ về mạng
.edu Các tổ chức giáo dục
.gov Các tổ chức thuộc chính phủ
.mil Các tổ chức quân sự
.int Các tổ chức được thành lập bởi các hiệp ước quốc tế
Do sự quá tải của các tên miền đã tồn tại, nhiều top-level domain mới đã được phát sinh Dưới đây là danh sách các top-level domain mới.
.arts Những tổ chức liên quan đến nghệ thuật và kiến trúc
.nom Những địa chỉ cá nhân và gia đình
.rec Những tổ chức có tính chất giải trí, thể thao
.firm Những tổ chức kinh doanh, thương mại
.info Những dịch vụ liên quan đến thông tin
Mỗi quốc gia đều sở hữu một tên miền cấp cao (top-level domain), ví dụ như tên miền của Việt Nam là vn và của Mỹ là us Các quốc gia có các cơ chế tổ chức và phân cấp tên miền khác nhau, điển hình là cấu trúc tổ chức tên miền tại Việt Nam.
2.2 Cách phân bố dữ liệu quản lý Domain Name
Các root name server (.) quản lý các top-level domain trên Internet Tên máy và địa chỉ IP của các name server này được công khai và được liệt kê trong bảng Những name server này có thể được đặt ở nhiều vị trí khác nhau trên toàn cầu.
Tên máy tính Địa chỉ IP
H.ROOT-SERVERS.NET 128.63.2.53 B.ROOT-SERVERS.NET 128.9.0.107 C.ROOT-SERVERS.NET 192.33.4.12 D.ROOT-SERVERS.NET 128.8.10.90 E.ROOT-SERVERS.NET 192.203.230.10 I.ROOT-SERVERS.NET 192.36.148.17 F.ROOT-SERVERS.NET 192.5.5.241 F.ROOT-SERVERS.NET 39.13.229.241 G.ROOT-SERVERS.NET 192.112.88.4
Một tổ chức thường đăng ký một hoặc nhiều tên miền và cài đặt một hoặc nhiều máy chủ tên (name server) để duy trì cơ sở dữ liệu cho tất cả các máy tính trong miền Các máy chủ tên này được đăng ký trên Internet, trong đó một máy chủ tên được gọi là Máy chủ tên chính (Primary Name Server) Nhiều Máy chủ tên phụ (Secondary Name Server) được sử dụng như bản sao lưu cho Máy chủ tên chính; khi Máy chủ chính gặp sự cố, Máy chủ phụ sẽ đảm nhận việc phân giải tên Máy chủ tên chính cũng có khả năng tạo ra các miền con (subdomain) và ủy quyền cho các Máy chủ tên khác quản lý những miền con này.
2.3 Cơ chế phân giải tên
2.3.1 Phân giải tên thành IP
Máy chủ root name server là thiết bị quản lý các nameserver ở cấp độ top-level domain Khi có truy vấn về một tên miền, root name server sẽ cung cấp tên và địa chỉ IP của nameserver quản lý top-level domain Thực tế, nhiều root server cũng là máy chủ quản lý top-level domain, và các nameserver này sẽ tiếp tục cung cấp danh sách nameserver có quyền trên các second-level domain tương ứng Điều này cho thấy vai trò thiết yếu của root name server trong quá trình phân giải tên miền; nếu không có sự liên lạc giữa các root name server, mọi yêu cầu phân giải sẽ không thể thực hiện Hình ảnh minh họa dưới đây mô tả quá trình phân giải tên miền grigiri.gbrmpa.gov.au trên mạng Internet.
Dịch vụ DHCP
Mục tiêu: Trình bày cơ chế hoạt động của dịch vụ DHCP, cách cấu hình dịch vụ DHCP trong việc quản trị hệ thống mạng
DHCP (Dynamic Host Configuration Protocol) là dịch vụ quan trọng trong quản lý mạng lớn và cho người dùng di động DHCP Server có nhiệm vụ cấp phát địa chỉ IP cho các thiết bị trong mạng, trong khi DHCP client là các thiết bị nhận địa chỉ IP và thông tin mạng từ DHCP Server.
3.1 Một số lưu ý trên DHCP
- Phải có một địa chỉ IP tĩnh;
- Không phải là một DHCP client;
- Cấp phát địa chỉ IP cho những máy tính trong một khoảng địa chỉ IP mà người quản trị đã định nghĩa;
- Có thể cung cấp địa chỉ default gateway, DNS server, tên domain và NetBIOS name server cho máy tính;
- Không có hai máy nhận cùng địa chỉ IP;
- Địa chỉ IP cấp cho DHCP client sẽ được làm mới khi máy tính khởi động lại
Người quản trị có thể tiết kiệm thời gian và chi phí bằng cách không cần đặt địa chỉ IP cho từng máy tính trong mạng, cũng như không phải cung cấp thông tin cho từng thiết bị.
3.3 Cấu hình DHCP server Để cấu hình DHCP server cần phải cài package dhcpd.*.rpm này trong đĩa CD Linux
To install DHCP, use the command: #rpm –ivh dhcpd.*.rpm Completing the DHCP configuration requires creating and editing the configuration file located at /etc/dhcpd.conf The main configuration settings in the dhcpd.conf file include: ddns-update-style interim; default-lease-time 600; max-lease-time 7200; option subnet-mask 255.255.255.0; option broadcast-address 192.168.1.255; option routers 192.168.1.254; option domain-name-servers 192.168.1.1, 192.168.1.2; option domain-name "example.com"; and defining the subnet as 192.168.1.0 with a netmask of 255.255.255.0.
Tập tin /var/lib/dhcp/dhcpd.leases được sử dụng bởi daemon dhcpd để lưu trữ thông tin về các địa chỉ IP đã được cấp phát.
Sau khi thiết lập những tập tin cấu hình, ta cần khởi động dịch vụ bằng lệnh:
Dịch vụ Web
Mục tiêu: Trình bày các giao thức giao tiếp giữa trình duyệt web và server, cách thức hoạt động, cài đặt và cấu hình Web server
HTTP là giao thức thiết lập kết nối giữa trình duyệt Web và máy chủ, cho phép chúng giao tiếp hiệu quả Giao thức này chuẩn hóa các thao tác cơ bản mà máy chủ Web cần thực hiện để phục vụ người dùng.
HTTP là một giao thức đơn giản, tương tự như các giao thức chuẩn khác trên Internet, với thông tin điều khiển được truyền dưới dạng văn bản thô qua kết nối TCP Điều này cho phép kết nối HTTP có thể được thay thế bằng lệnh "telnet" chuẩn.
> telnet www.extropia 80 GET /index.html HTTP/1.0
Cổng 80 là cổng mặc định dành cho Web server "lắng nghe" các kết nối được gửi đến Để đáp ứng lệnh HTTP GET, Web server trả về cho client trang "index.html" thông qua phiên làm việc telnet này, và sau đó đóng kết nối Thông tin trả về dưới dạng code HTML:
The protocol primarily executes two operations: request and response One of the most significant advancements in HTTP/1.1 is its support for persistent connections, allowing for longer-lasting communication between the client and server.
Trong HTTP/1.0, mỗi đối tượng mà trình duyệt muốn tải xuống yêu cầu thiết lập một kết nối riêng đến máy chủ, dẫn đến việc tiêu tốn băng thông, đặc biệt khi nhiều trang web chứa nhiều hình ảnh Việc thiết lập kết nối cho từng hình ảnh là không hiệu quả, vì nó tạo ra nhiều gói dữ liệu trao đổi giữa trình duyệt và máy chủ trước khi dữ liệu hình ảnh được truyền tải Thay vào đó, việc mở một kết nối TCP để truyền tải tài liệu HTML và sau đó truyền từng hình ảnh theo thứ tự sẽ thuận tiện hơn, giúp giảm thiểu số lần thiết lập kết nối TCP.
4.1.2 Web Server và cách hoạt động Ở mức độ cơ bản, Web server chỉ phục vụ các nội dung tĩnh Nghĩa là khi Web server nhận 1 yêu cầu từ Web browser, nó sẽ ánh xạ đường dẫn này (Uniform Resource Locator - URL) thành một tập tin cục bộ trên máy Web server Máy chủ sau đó sẽ nạp tập tin này từ đĩa và đưa nó thông qua mạng đến Web browser của người dùng Web browser và web server sử dụng giao thức HTTP trong quá trình trao đổi dữ liệu Các trang tài liệu HTML là một văn bản thô (raw text) chứa các thẻ định dạng (HTML tag)
Trường Cao Đẳng Nghề ĐN
Ngày nay, Web Server đã phát triển với khả năng truyền tải thông tin phức tạp hơn giữa Web Server và Web Browser, đặc biệt là nội dung động Phiên bản đầu tiên của Web Server hoạt động theo mô hình cơ bản.
- Tiếp nhận các yêu cầu từ browsers
- Trích nội dung từ đĩa
- Chạy các chương trình CGI
- Truyền dữ liệu ngược lại cho client
Chạy nhanh là điều cần thiết cho các website đơn giản; tuy nhiên, khi có nhiều người truy cập hoặc khi xử lý nhiều trang web động, server có thể gặp phải vấn đề hiệu suất do thời gian tính toán kết quả.
Khi một chương trình CGI mất 30 giây để tạo nội dung, web server không thể phục vụ các trang khác trong thời gian đó Mặc dù mô hình này khả thi, nhưng cần được thiết kế lại để phục vụ nhiều người dùng cùng lúc Để giải quyết vấn đề này, web server thường áp dụng hai phương pháp chính: đa tiểu trình (multi-threading) và đa tiến trình (multi-processing), hoặc kết hợp giữa hai phương pháp này.
Web client là các trình duyệt web như Internet Explorer và Netscape Communicator, giúp hiển thị thông tin trang web cho người dùng Khi người dùng gửi yêu cầu, web client sẽ chuyển tiếp đến Web Server, nơi xử lý và trả kết quả về để hiển thị Tất cả yêu cầu đều được xử lý bởi Web Server.
Web động là các trang web được thiết kế để phản hồi trực tiếp hoặc gián tiếp với dữ liệu do người dùng nhập vào.
Cách cổ điển và phổ biến nhất để tạo nội dung động là sử dụng Common Gateway Interface (CGI) CGI quy định cách mà máy chủ web thực thi một chương trình cục bộ, sau đó nhận kết quả và gửi trả lại cho trình duyệt web của người dùng đã gửi yêu cầu.
Trình duyệt web không nhận biết được nội dung của thông tin động, vì CGI thực chất là một giao thức mở rộng của máy chủ web Hình ảnh dưới đây minh họa quá trình khi trình duyệt web gửi yêu cầu đến một trang web động được tạo ra từ chương trình CGI.
Một giao thức mở rộng nữa của HTTP là HyperText Transmission Protocol Secure (HTTPS) dùng để bảo mật các các thông tin “nhạy cảm” khi chuyển chúng qua mạng
Apache là một phần mềm có nhiều tính năng mạnh và linh hoạt dùng để làm Web Server
- Hỗ trợ đầy đủ những giao thức HTTP trước đây như HTTP/1.1;
- Có thể cấu hình và mở rộng với những module của công ty thứ ba;
- Cung cấp source code đầy đủ với license không hạn chế;
- Chạy trên nhiều hệ điều hành như Windows NT/9x, Netware 5.x, OS/2 và trên hầu hết các hệ điều hành Unix
Ta chỉ cần cài đặt package httpd-2.0.40-21.i386.rpm (trên Fedora) trong hệ điều hành Linux
Vị trí cài đặt Apache trong môi trường Linux là /etc/httpd Trong thư mục này lưu giữ những tập tin cấu hình của Apache
4.2.3 Tạm dừng và khởi động lại Apache Để tạm dừng hay khởi động lại apache dùng script sau:
#/etc/init.d/httpd start/stop/restart Hoặc dùng lệnh:
4.3.4 Sự chứng thực, cấp phép, điều khiển việc truy cập
Khi nhận yêu cầu truy cập tài nguyên, web server sẽ thực hiện các bước xử lý để trả kết quả cho client Apache sử dụng nhiều phương pháp khác nhau để quản lý truy cập, bao gồm chứng thực, cấp phép và điều khiển truy cập.
4.3.4.1 Basic Authentication Đối với những thông tin cần bảo mật, khi có yêu cầu truy xuất thông tin này, Web Server phải chứng thực những yêu cầu này có hợp lệ hay không Thông thường, thông tin chứng thực bao gồm username và password
QUẢN LÝ MÁY CHỦ LINUX BẰNG WEBMIN
Giới thiệu
Mục tiêu: Giới thiệu ứng dụng hỗ trợ quản trị hệ thống Linux qua giao diện web
Webmin là ứng dụng quản trị hệ thống Unix/Linux qua giao diện Web, được phát triển bởi Jamie Cameron Người dùng có thể dễ dàng đăng nhập vào hệ thống để thực hiện các thao tác quản trị một cách hiệu quả Với Webmin, quản trị viên có khả năng quản lý và điều khiển hệ thống một cách thuận tiện.
- Tổ chức tài khoản người dùng;
- Tổ chức và cài đặt các dịch vụ như: apache, DNS, Mail,…;
- Cập nhật các thông số cấu hình cho hệ thống;
- Thực thi lệnh trên SHELL;
- Quản trị hệ thống từ xa qua telnet/ssh;
- Quản lý hệ thống tập tin và thư mục.
Cài đặt Webmin
Mục tiêu: Trình bày các thao tác cài đặtcông cụ Webmin
2.1 Cài đặt từ file nhị phân
Webmin được cung cấp miễn phí tại Website http://www.webmin.com Ta download package webmin-1.190-1.noarch.rpm sau đó thực hiện lệnh: rpm -ivh webmin-1.190-1.noarch.rpm
2.2 Cài đặt từ file nguồn *.tar.gz
# tar zxvf webmin-0.87.tar.gz [root@delilah webmin-1.050]#./setup.sh
Login name (default admin): root Login password:
The Perl SSLeay library is not installed SSL not available
Start Webmin at boot time (y/n): n Sau khi cài đặt hoàn tất Webmin ta truy xuất Server theo địa chỉ: http://delilah.swell:10000/
Cấu hình Webmin
Mục tiêu: Trình bày các thao tác đăng nhập, cấu hình và quản trị các đối tượng qua ứng dụng webmin
Sau khi cài xong Webmin ta có thể dùng Web Browser để truy xuất vào Webmin Server thông qua địa chỉ http://server:10000/
Hình 8.1 Màn hình đăng nhập
Nhập username: root và mật khẩu tương ứng để logon vào hệ thống
Thay đổi mật khẩu cho Webmin Password bằng dòng lệnh:
#/usr/libexec/webmin/changepass.pl /etc/webmin root 123456 Restart Webmin bằng dòng lệnh:
Tìm hiểu file cấu hình Webmin /etc/webmin/miniserv.conf cho phép ta thay đổi một số thông tin cấu hình Webmin Server
#chỉ định port number port000 root=/usr/libexec/webmin
#chỉ định Webmin Type mimetypes=/usr/libexec/webmin/mime.types addtype_cgi=internal/cgi realm=Webmin Server
#chỉ định logfile lưu trữ log cho Webmin logfile=/var/webmin/miniserv.log
#lưu trữ error log errorlog=/var/webmin/miniserv.error
#chỉ định pid file pidfile=/var/webmin/miniserv.pid logtime8 ppath ssl=1
#khai báo biến môi trường lưu trữ thông tin cấu hình Webmin env_WEBMIN_CONFIG=/etc/webmin env_WEBMIN_VAR=/var/webmin atboot=0 logout=/etc/webmin/logout-flag
#listen port listen000 denyfile=\.pl$ log=1 blockhost_failures=5 blockhost_time` syslog=1 session=1
The Webmin user configuration file is located at /etc/webmin/miniserv.users, while the key file can be found at /etc/webmin/miniserv.pem Password information is stored in the /etc/shadow file, with specific indices for user and password management: user index at 0, password index at 1, password change index at 2, and password mode index at 4 Additionally, the password delay is set to 1 second, and the preroot is defined as mscstyle3.
3.3 Cấu hình Webmin qua Web Browser
Sau khi đăng nhập vào Webmin Server ta chọn biểu tượng Webmin Configuration
Cho phép hay cấm truy xuất Webmin từ host nào đó trên mạng thông qua IP Access Control
Allow from all addresses: cho phép tất cả các host khác truy xuất Webmin
To enhance security, Webmin should only permit access from specified IP addresses, ensuring that only hosts listed in the ListBox can utilize the service For instance, you can define a network address using the format 172.29.1.0/255.255.255.0 to restrict access effectively.
Deny from listed addresses: cho phép tất cả các host khác được truy xuất
Webmin nhưng cấm các host nằm trong ListBox
Save: Lưu trữ lại những gì ta thay đổi
Port and Addresses: Cho phép hiệu chỉnh Webmin hoạt động trên địa chỉ IP và
Port, nếu ta muốn Webmin hoạt động trên cổng khác thì ta có thể vào mục này để hiệu chỉnh lại cho phù hợp
Bind to IP address và Listen on port chỉ định Webmin listen 10000 tại địa chỉ
IP(mặc định Webmin listen port 10000 trên tất cả các IP của Server)
Operating System and Environment: Chỉ định loại hệ điều hành và một số đường dẫn chương trình
Index Page Options: hiệu chỉnh màn hình chính của thực đơn Webmin
Chọn ngôn ngữ sử dụng cho Webmin
Chọn Webmin Themes để hiệu chỉnh giao diện sử dụng cho Webmin như icons, colours, background, và cách trình bày Web page cho Webmin
Tạo Webmin User thông qua mục Create a new Webmin user
Ta nhập username, password, và đặt một số quyền hạn cho User…
Webmin là công cụ chính để quản trị hệ thống, trong khi Usermin cung cấp giao diện web cho người dùng, cho phép họ dễ dàng sử dụng hệ thống Usermin mang lại nhiều tính năng hữu ích cho người dùng, giúp quản lý tài khoản và dịch vụ một cách thuận tiện.
- sử dụng mail client qua Web(web-based mail client)
- Quản lý Java file applet
- Cấu hình SSH configuration và client modules
- Cài đặt bằng file nhị phân
Trước khi cài Usermin ta phải cài Authen-PAM Perl module
[root@server openwebmail]# rpm -ivh usermin-1.120-1.noarch.rpm warning: usermin-1.120-1.noarch.rpm: V3 DSA signature:
Operating system is Redhat Linux Fedora 2
Usermin install complete You can now login to http://server:20000/ as any user on your system
Cài đặt Usermin thông qua file tar.gz
# cp usermin-0.6.tar.gz /usr/local
3.4.3 Sử dụng Usermin Để login vào Usermin Server ta sử dụng địa chỉ http://server:20000/
Nhập username và password để login vào hệ thống
Mail: hỗ trợ các thao tác về việc sử dụng mail cho User
(Sau đây là ví dụ về sử dụng Usermin để đọc mail)
Login: hỗ trợ user có thể sử dụng command shell, logon script…
Application: hỗ trợ cho user sử dụng một số ứng dụng như SQL, upload và download file…
Others: Hỗ trợ cho user có thể xem cấu trúc file, mount file, hiểu chỉnh lệnh
1 Webmin là gì? Cho biết các thao tác quản trị thông qua webmin
2 Bảo mật Webmin với Apache và Let's Encrypt
1.Cài đặt Webmin trên Ubuntu 18.04
Thêm vào kho lưu trữ Webmin cài đặt và cập nhật Webmin bằng cách sử dụng trình quản lý gói : /etc/apt/sources.list
Mở tệp trong trình chỉnh sửa của bạn: sudoedit /etc/apt/sources.list
Sau đó thêm dòng này vào cuối tệp để thêm kho lưu trữ mới: /etc/apt/sources.list deb http://download.webmin.com/download/repository sarge contrib
Lưu tệp và thoát khỏi trình chỉnh sửa
To enhance your system's trust in the new repository, add the PGP key for Webmin by executing the following commands in your terminal:```bashwget http://www.webmin.com/jcameron-key.ascsudo apt-key add jcameron-key.asc```
Tiếp theo, cập nhật danh sách các gói để bao gồm kho lưu trữ Webmin: sudo apt update
Sau đó cài đặt Webmin: sudo apt install webmin
Khi quá trình cài đặt kết thúc, bạn sẽ thấy được kết quả như sau:
OutputWebmin install complete You can now login to https://your_server_ip:10000 as root with your root password, or as any user who can use `sudo`
Bây giờ, hãy truy cập an toàn vào Webmin bằng cách đặt nó phía sau máy chủ web Apache và thêm chứng chỉ TLS / SSL hợp lệ
Để bảo mật Webmin với Apache và Let's Encrypt, bạn cần truy cập Webmin qua cổng 10000 và đảm bảo cổng này được mở trên tường lửa Một giải pháp khác là sử dụng máy chủ ảo Apache để yêu cầu proxy đến máy chủ Webmin đang chạy trên cổng 10000 Để thực hiện điều này, máy chủ ảo cần được bảo mật bằng chứng chỉ TLS/SSL từ Let's Encrypt Bạn có thể tạo một tệp máy chủ ảo Apache mới trong thư mục cấu hình của Apache bằng lệnh: sudoedit /etc/apache2/sites-available/your_domain.conf.
Thêm phần sau vào tệp, thay thế địa chỉ email và tên miền bằng:
/etc/apache2/sites-available/your_domain.conf
Cấu hình này yêu cầu Apache chuyển hướng yêu cầu đến máy chủ Webmin tại địa chỉ http://localhost:10000 Hãy chắc chắn rằng các liên kết nội bộ được tạo ra từ Webmin cũng được xử lý qua Apache Sau khi hoàn tất, hãy lưu tệp và thoát khỏi trình chỉnh sửa.
Làm Webmin ngừng sử dụng TLS / SSL, vì sử dụng Apache
Mở tâ ̣p tin /etc/webmin/miniserv.conf sudoedit /etc/webmin/miniserv.conf
Thay đổi 1 đến một 0 Điều này sẽ cho Webmin ngừng sử dụng SSL
Thêm miền của chúng tôi vào danh sách các miền được phép Mở tâ ̣p tin /etc/webmin/config: sudoedit /etc/webmin/config
Thêm dòng sau vào cuối tệp, thay thế your_domain với tên miền tensv.com
Lưu tệp và thoát khỏi trình chỉnh sửa
Tiếp theo, khởi động lại Webmin để áp dụng các thay đổi cấu hình: sudo systemctl restart webmin
Sau đó kích hoạt Apache proxy_http module: sudo a2enmod proxy_http kết quả:
OutputConsidering dependency proxy for proxy_http:
To activate the new configuration, run the command `sudo a2ensite your_domain` to enable the newly created Apache virtual host, followed by `systemctl restart apache2` to restart the Apache server.
Bạn sẽ thấy đầu ra sau cho biết trang web của bạn được bật:
To activate the new configuration, you need to run: systemctl reload apache2
Bây giờ khởi động lại Apache hoàn toàn để kích hoạt proxy_http mô-đun và máy chủ ảo mới: sudo systemctl restart apache2
Để truy cập trang đăng nhập Webmin, hãy nhập địa chỉ http://your_domain vào trình duyệt của bạn Tuy nhiên, lưu ý rằng bạn KHÔNG nên đăng nhập vào Webmin vì SSL chưa được kích hoạt.
Cấu hình một chứng chỉ để kết nối được mã hóa trong khi sử dụng Webmin Sử dụng Let's Encrypt
To obtain a TLS/SSL certificate for your domain and configure Apache to redirect traffic to the secure website, use the command: `sudo certbot apache email your_email -d your_domain agree-tos redirect noninteractive`.
OutputSaving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apache
Performing the following challenges: http-01 challenge for your_domain
Created an SSL vhost at /etc/apache2/sites-available/your_domain-le-ssl.conf Enabled Apache socache_shmcb module
Deploying Certificate to VirtualHost /etc/apache2/sites-available/your_domain-le-s sl.conf
Enabling available site: /etc/apache2/sites-available/your_domain-le-ssl.conf Enabled Apache rewrite module
Redirecting vhost in /etc/apache2/sites-enabled/your_domain.conf to ssl vhost in / etc/apache2/sites-available/your_domain-le-ssl.conf
- Congratulations! You have successfully enabled https://your_domain
You should test your configuration at: https://www.ssllabs.com/ssltest/analyze.html?d=your_domain
Chứng chỉ đã được cài đặt và Apache được cấu hình để chuyển hướng các yêu cầu từ http://your_domain đến https://your_domain
Webmin cung cấp các mô-đun để quản lý toàn bộ hệ thống, bao gồm cả Máy chủ DNS BIND và việc thêm người dùng Để truy cập Webmin, bạn chỉ cần vào http://your_domain và đăng nhập bằng tài khoản người dùng hoặc tài khoản có quyền sudo Một trong những chức năng quan trọng là quản lý người dùng và nhóm.
Vào Hệ thống và sau đó nhấp vào Người dùng và nhóm nút Làm theo các hướng dẫn sau để tạo người dùng:
1 Điền vào Tên người dùng với deploy
2 Lựa chọn Tự động cho Tên người dùng
3 Điền vào Tên thật với một tên mô tả như Deployment user
4 Dành cho Trang chủ, lựa chọn Tự động
5 Dành cho Vỏ, lựa chọn / bin / bash từ danh sách thả xuống
6 Dành cho Mật khẩu, lựa chọn Mật khẩu thông thường và nhập mật khẩu bạn chọn
7 Dành cho Nhóm chính, lựa chọn Nhóm mới có cùng tên với người dùng
8 Dành cho Nhóm phụ, lựa chọn sudo từ Tất cả các nhóm và nhấn -> để thêm nhóm vào trong nhóm danh sách
9 nhấn Tạo nên để tạo người dùng mới này b.Cập nhật gói
Webmin cho phép bạn cập nhật tất cả các gói của mình thông qua giao diện người dùng
Những trọng tâm cần chú ý trong bài
- Biết cài đặt và sử dụng Webmin;
- Sử dụng webmin để quản lý cấu hình hệ thống;
Bài mở rộng và nâng cao
1.Cài đặt Webmin từ một Package Đầu tiên, bạn tải về Webmin package từ Debian package bằng lệnh wget sau:
# wget http://prdownloads.sourceforge.net/webadmin/webmin_1.900_all.deb
Thực hiện cài đặt tất cả các gói phụ thuộc trên Ubuntu serer bằng lệnh sau
# apt install perl libnet-ssleay-perl openssl libauthen-pam-perl libpam-runtime libio-pty-perl apt-show-versions python
Cuối cùng, bạn thực hiện cài đặt Webmin bằng lệnh bên dưới:
Webmin sẽ được tự động cài đặt vào trong thư mục /usr/share/webmin
2 Cài đặt Webmin sử dụng APT repository Để cài đặt Webmin bằng APT repository, đầu tiên bạn mở file /etc/apt/sources.list
# gedit /etc/apt/sources.list
Thêm nội dung bên dưới vào file và lưu lại deb https://download.webmin.com/download/repository sarge contrib
Sau đó, bạn tải về và cài đặt GPG key để ký cho Webmin packages:
# wget http://www.webmin.com/jcameron-key.asc
# apt-key add jcameron-key.asc
Cuối cùng, cài đặt Webmin bằng cách thực thi lần lượt những lệnh sau:
# apt install apt-transport-https
3 Start Webmin và kích hoạt chức năng khởi động cùng server Để start Webmin, bạn có thể sử dụng lệnh sau:
# systemctl start webmin Để kích hoạt Webmin khởi động cùng CentOS, bạn sử dụng lênh sau
Webmin allows for user account setup, Apache web service configuration, DNS management, Postfix mail service configuration, and Dovecot IMAP and POP3 setup, among many other services.
Bạn truy cập vào trang quản trị Webmin từ trình duyệt với giao thức https, địa chỉ IP server và port 10000 https://IP-server:10000
Thông tin tài khoản quản trị mặc định của Webmin là tài khoản quản trị server với tên đăng nhập là root Trong giao diện chính của Webmin, người dùng có thể xem các thông tin cơ bản về hệ thống.
Yêu cầu về đánh giá kết quả học tập
+ Về kiến thức: Biết cài đặt và sử dụng Webmin; Sử dụng webmin để quản lý cấu hình hệ thống
+ Về kỹ năng: Nắm được cách cấu hình và sử dụng webmin để quản lý cấu hình hệ thống
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc
+ Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp
Kỹ năng quan trọng trong việc khai báo và thay đổi cấu hình hệ thống bao gồm việc sử dụng Webmin để quản lý cấu hình một cách hiệu quả Đồng thời, việc thực hiện các thao tác an toàn với máy tính cũng là một yếu tố cần thiết để đảm bảo an ninh và hiệu suất của hệ thống.
+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.