Bài tập lớn linux và phần mềm mã nguồn mở

24 22 0
Bài tập lớn linux và phần mềm mã nguồn mở

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

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

Thông tin tài liệu

Nghiên cứu về Hệ điều hành Linux và phân tích, xây dựng bài toán về quản lý tài khoản nhóm người dùng cho phép thực hiện thêm các user vào hệ thống trên môi trường Linux.Linux là một hệ điều hành phát triển dựa vào hệ điều hành Unix và được phát hành miễn phí. Hệ điều hành này được cài đặt từ máy tính cá nhân đến các server chuyên dụng. Thành phần cơ bản của Linux là hạt nhân Linux (Linux kernel), là nhân hệ điều hành được phát triển bởi Linus Torvalds. Linux được công bố lần đầu tiên vào tháng 9 năm 1991 với phiên bản 0.01. Linux hiện có khá nhiều các bản phân phối khác nhau tất cả đều có một đặc điểm chung là có một Linux kernel bên trong. Kiến trúc của Linux chia làm 3 thành phần: Kernel, Shell, Applications

TRƯỜNG ĐẠI HỌC TÀI NGUYÊN VÀ MÔI TRƯỜNG HÀ NỘI KHOA CÔNG NGHỆ THÔNG TIN KỲ THI KẾT THÚC HỌC PHẦN Tên đề tài: “Nghiên cứu Hệ điều hành Linux phân tích, xây dựng tốn quản lý tài khoản nhóm người dùng cho phép thực thêm user vào hệ thống môi trường Linux.” Họ tên sinh viên : Mã sinh viên : Lớp : ĐH9C3 Tên học phần : Linux phần mềm nguồn mở Giảng viên hướng dẫn : Hà Nội, tháng 05 năm 2022 MỤC LỤC LỜI MỞ ĐẦU CHƯƠNG I: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX CHƯƠNG II: QUẢN LÝ NHÓM NGƯỜI DÙNG TRÊN MÔI TRƯỜNG LINUX CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH KẾT LUẬN 17 TÀI LIỆU THAM KHẢO 18 PHỤ LỤC 19 LỜI MỞ ĐẦU Hiện nay, với trào lưu phát triển mạnh mẽ tảng hệ điều hành mở dựa Linux (Fedora, Ubuntu, SuSE, OpenSolaris…) Các ứng dụng mã nguồn mở (Open source software) phát triển mạnh để đáp ứng nhu cầu sử dụng phần mềm hệ điều hành Song song với ứng dụng cho hệ điều hành họ Unix, nhà lập trình ứng dụng mã nguồn mở phát triển ứng dụng cho dòng hệ điều hành khác dòng hệ điều hành thương mại Windows, Mac ứng dụng hồn tồn miễn phí Điểm mạnh ứng dụng mã nguồn mở miễn phí người sử dụng Ngồi việc cho khơng phần mềm, mã nguồn phần mềm cho khơng nhằm tạo điều kiện cho cộng đồng đóng góp phát triển thêm theo tiêu chí người dùng phát triển phần mềm Ngồi ra, với đặc điểm miễn phí, phần mềm mã nguồn mở cịn giúp cho quốc gia, cơng ty giảm thiểu chi phí mua phần mềm thương mại với giá trời, tạo điều khiện giảm tỷ lệ vi phạm quyền phần mềm Điều tạo cho phần mềm mã nguồn mở ưu cạnh tranh bối cảnh kinh tế CHƯƠNG I: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX 1.1 Giới thiệu Linux Linux hệ điều hành phát triển dựa vào hệ điều hành Unix phát hành miễn phí Hệ điều hành cài đặt từ máy tính cá nhân đến server chuyên dụng Thành phần Linux hạt nhân Linux (Linux kernel), nhân hệ điều hành phát triển Linus Torvalds Linux công bố lần vào tháng năm 1991 với phiên 0.01 Linux có nhiều phân phối khác tất có đặc điểm chung có Linux kernel bên Linux ban đầu phát triển cho máy tính cá nhân dựa kiến trúc Intel x86, sau ported sang nhiều tảng hệ điều hành khác Do thống trị Android điện thoại thông minh, Linux có sở cài đặt lớn tất hệ điều hành có mục đích chung Mặc dù sử dụng khoảng 2.3% máy tính để bàn, Chromebook, chạy Chrome OS dựa nhân Linux, thống trị thị trường giáo dục K–12 Mỹ chiếm gần 20% doanh số notebook 300 đô la Mỹ Linux hệ điều hành hàng đầu máy chủ (hơn 96,4% số triệu hệ điều hành máy chủ web hàng đầu Linux), dẫn đầu hệ thống big iron hệ thống mainframe, hệ điều hành sử dụng siêu máy tính TOP500 (kể từ tháng 11 năm 2017, loại bỏ tất đối thủ cạnh tranh) Linux chạy hệ thống nhúng, tức thiết bị có hệ điều hành thường tích hợp vào firmware thiết kế riêng cho hệ thống Điều bao gồm routers, điều khiển tự động hóa, cơng nghệ nhà thơng minh (giống Google Nest), TV (các smartTv Samsung LG dùng Tizen WebOS, tương ứng), tơ (ví dụ, Tesla, Audi, Mercedes-Benz, Hyundai, Toyota dựa Linux), máy quay video kỹ thuật số, video game consoles, smartwatches Hệ thống điện tử Falcon Dragon sử dụng phiên Linux tùy biến Linux ví dụ bật phần mềm tự nguồn mở việc phát triển mã nguồn mở Mã nguồn dùng, sửa đổi phân phối - thương mại phi thương mại - theo điều khoản giấy phép tương ứng, ví dụ GNU General Public License 1.2 Kiến trúc Linux Kiến trúc Linux chia làm thành phần: Kernel, Shell, Applications – Kernel: Đây phần quan trọng ví trái tim HĐH, phần kernel chứa module, thư viện để quản lý giao tiếp với phần cứng ứng dụng – Shell: Shell chương trình có chức thực thi lệnh từ người dùng từ ứng dụng – tiện ích yêu cầu chuyển đến cho Kernel xử lý – Applications: Là ứng dụng tiện ích mà người dùng cài đặt Server Ví dụ: ftp, samba, Proxy, … 1.3 Ưu điểm nhược điểm hệ điều hành Linux ❖ Ưu điểm: • Hồn tồn miễn phí • Độ an tồn cao • Tính linh hoạt cao • Hướng dẫn sử dụng phong phú • Chạy ổn định máy tính cấu hình yếu ❖ Nhược điểm: ▪ Địi hỏi người dùng phải thành thạo, thời gian để làm quen ▪ Phần cứng hỗ trợ ▪ Các phần mềm cịn hạn chế ▪ Thiếu chuẩn hóa 1.4 Các distro phổ biến Linux ➢ Debian Debian distro chứa số lượng phần mềm lớn Debian xây dựng tổ chức nguyên tình nguyện cống hiến để phát triển phần mềm tự đẩy mạnh lý tưởng cộng đồng phần mềm tự Debian có tiếng mối liên kết chặt chẽ với triết lí Unix phần mềm tự Nó có tiếng phong phú cho chọn lựa: Phiên phát hành có 29000 gói phần mềm cho 11 kiến trúc máy tính, từ kiến trúc ARM thường gặp hệ thống nhúng kiến trúc máy tính lớn s390 IBM kiến trúc thường gặp máy tính cá nhân đại x86 Power ➢ Ubuntu Hệ điều hành Ubuntu phân phối Linux phổ biến Mark Shuttleworth sáng lập công ty Canonical ông tài trợ Hệ điều hành sử dụng phổ biến ưa chuộng có giao diện đẹp, thân thiện, dễ sử dụng, kho phần mềm ứng dụng phong phú đáp ứng hầu hết yêu cầu người dùng, version cập nhật liên tục Ubuntu chia làm loại: Ubuntu Desktop Ubuntu Server ➢ CentOS CentOS viết tắt Community Enterprise Operating System CentOS phân phối hệ điều hành tự dựa Linux kernel Có nguồn gốc hoàn toàn từ phân phối RHEL CentOS thường sử dụng doanh nghiệp tính ổn định vịng đời End-of-Life dài CHƯƠNG II: QUẢN LÝ NHĨM NGƯỜI DÙNG TRÊN MƠI TRƯỜNG LINUX 2.1 Định nghĩa nhóm người dùng • Nhóm người dùng (Group) tập hợp nhiều user lại • Mỗi user ln thành viên group • Khi tạo user mặc định group tạo • Mỗi group cịn có định danh riêng gọi GID • Định danh group thường sử dụng giá trị 500 2.2 Quản lý nhóm người dùng • Kiểm tra danh sách group: Thông tin group file /etc/group, tương tự để hiển thị danh sách group sử dụng command cat ➔ cat /etc/group Thông tin group file /etc/group sau: [Group name]:[Group password]:[GID]:[Group members] • Tạo group: Tạo group: sudo groupadd group-name Tạo nhiều group: sudo groupadd group1, group2, group3 • Liệt kê danh sách User Groups sudo groups sudo groups user1 • Xóa group: sudo groupdel group1 CHƯƠNG III: XÂY DỰNG CHƯƠNG TRÌNH 3.1 Giới thiệu Shell Script Linux Thường shell tương tác, có nghĩa chấp nhận lệnh đầu vào từ người dùng thực thi chúng Tuy nhiên, muốn thực thi loạt lệnh, để làm phải gõ tất lệnh vào Terminal Điều làm cho lệnh dài gây khó hiểu Vì shell nhận lệnh làm đầu vào từ file, viết lệnh file thực thi chúng shell, tránh công việc lặp lặp lại Các file gọi Shell Script Shell Programs Các Shell script tương tự batch file MS-DOS Mỗi shell script lưu với phần mở rộng tệp sh (hoặc bash) Một shell script có cú pháp giống ngơn ngữ lập trình khác Nếu bạn có kinh nghiệm với ngơn ngữ lập trình dễ dàng bắt đầu với Shell script bao gồm thành phần sau: ▪ Shell Keywords – if, else, break etc ▪ Shell commands – cd, ls, echo, pwd, touch etc ▪ Functions ▪ Control flow – if then else, case, shell loops,… 3.2 Chương trình quản lý nhóm người dùng ❖ Chạy chương trình: Để chạy chương trình cần sử dụng user root Nếu chạy chương trình người dung bình thường chương trình đưa thơng báo đưa người dùng chuyển sang user root ❖ Menu chương trình: Hình 3.2 Menu chương trình ❖ Chức hiển thị danh sách nhóm tài khoản: Hình 3.3, 3.4 Danh sách nhóm người dùng ❖ Chức thêm nhóm mới: Hình 3.5 Thêm nhóm người dùng Hình 3.6 Kết thêm nhóm người dùng thành cơng ❖ Chức xố nhóm người dung: Hình 3.7 Chức xố nhóm người dùng Hình 3.8 Kết xố nhóm ❖ Chức tìm kiếm nhóm: ▪ Trường hợp nhóm cần tìm kiếm khơng tồn tại: Hình 3.9 Kết tìm kiếm nhóm khơng tồn Hình 3.10 Kết tìm kiếm nhóm thành cơng 10 ❖ Chức chỉnh sửa tên nhóm: Hình 3.11 Chức đổi tên nhóm Hình 3.12 Đổi tên nhóm thành cơng 11 ❖ Chức chỉnh sửa GID: Hình 3.13 Chức thay đổi GID ❖ Chức xem GID người dùng: Hình 3.14 Chức xem GID người dùng 12 ❖ Liệt kê danh sách nhóm người dùng: Hình 3.15 Chức xem danh sách nhóm người dùng ❖ Chức thêm tài khoản vào nhóm: Hình 3.16 Chức thêm người dùng vào nhóm 13 ❖ Thốt chương trình: Hình 3.17 Thốt chương trình ❖ Code chương trình: Hình 3.18 Code chương trình (dịng - 37) 14 Hình 3.19 Code chương trình (dịng 38 - 71) Hình 3.20 Code chương trình (dịng 72 - 99) 15 Hình 3.21 Code chương trình (dịng 100 - 121) 16 KẾT LUẬN Qua trình làm tập lớn này, em áp dụng kiến thức học học hỏi thêm nhiều kiến thức Cơ nắm kiến thức linux phần mềm mã nguồn mở Do thời gian không nhiều nên số danh mục chưa hồn thiện cịn số hạn chế, mong thầy nhận xét để em trau dồi kiến thức cho thân hoàn thiện chức Em xin chân thành cảm ơn! 17 TÀI LIỆU THAM KHẢO Giáo trình quản trị hệ thống linux 1,2 Tiếng việt Hệ điều hành linux Jason Cannon, Linux for beginners Ahmed Akabary, Learn Linux Quickly 18 PHỤ LỤC ❖ Code chương trình #!/bin/bash clear echo "Ten SERVER - $(hostname)" if [ $(id -u) == ] then while : clear echo " " echo " MENU " echo " " echo "1 Hien thi danh sach nhom tai khoan (group)" echo "2 Them nhom moi" echo "3 Xoa nhom tai khoan" echo "4 Tim kiem nhom tai khoan" echo "5 Chinh sua ten nhom tai khoan" echo "6 Thay doi GID cua nhom" echo "7 Xem group cua nguoi dung" echo "8 Danh sach Groups cua User" echo "9 Them tai khoan vao nhom" echo "10 Thoat" read -p "Lua chon cac gia tri tu [1-9]: " select case $select in 1) echo "Danh sach nhom tai khoan (group) he thong " echo " -" cat /etc/group read -p "Nhan ENTER de tiep tuc chuong trinh" readEnterkey ;; 2) read -p "Nhap ten group can them: " newgroupname groupadd $newgroupname cat /etc/group echo "Them group cong" echo " -" 19 cat /etc/group read -p "Nhan ENTER de tiep tuc chuong trinh" readEnterkey ;; 3) read -p "Nhap ten group can xoa: " delgrname while [ `cat /etc/group | grep $delgrname:x -c ` -eq ] echo "Nhom khong ton tai" read -p "Nhap ten group can xoa: " delgrname done groupdel $delgrname cat /etc/group echo "Xoa group cong" echo " -" read -p "Nhan ENTER de tiep tuc chuong trinh" readEnterkey ;; 4) read -p "Nhap ten group can tim: " sgr if [ `grep -i $sgr:x /etc/group -c` -eq ] then echo "Khong co group ten $sgr!" else echo "Group $sgr co ton tai!" echo "" grep $sgr:x /etc/group fi read -p "Nhan ENTER de tiep tuc chuong trinh" readEnterkey ;; 5) read -p "Nhap ten nhom tai khoan can doi: " editgr while [ `cat /etc/group | grep $editgr:x -c ` -eq ] echo "Nhom khong ton tai" read -p "Nhap ten nhom tai khoan can doi: " editgr done read -p "Nhap ten nhom moi: " newgr groupmod -n $newgr $editgr cat /etc/group echo "Ten group da duoc cap nhat!" 20 read -p "Nhan ENTER de tiep tuc chuong trinh" readEnterkey ;; 6) read -p "Nhap ten nhom can doi GID: " namegr while [ `cat /etc/group | grep $namegr:x -c ` -eq ] echo "Nhom khong ton tai" read -p "Nhap ten nhom can doi GID: " namegr done echo "GID hien tai la: `grep -i $namegr:x /etc/group`" read -p "Nhap GID moi: " ngid groupmod -g $ngid $namegr echo "GID da duoc cap nhat!" grep $namegr:x /etc/group read -p "Nhan ENTER de tiep tuc chuong trinh" readEnterkey ;; 7) read -p "Nhap ten nguoi dung can xem: " guser echo "GID nhom cua nguoi dung $guser la: `id -g $guser`" read -p "Nhan ENTER de tiep tuc chuong trinh" readEnterkey ;; 8) read -p "Nhap ten user can xem nhom: " name while [ `cat /etc/passwd | grep $name:x -c ` -eq ] echo "Nguoi dung khong ton tai" read -p "Nhap ten user can xem nhom: " name done groups $name read -p "Nhan ENTER de tiep tuc chuong trinh" readEnterkey ;; 9) read -p "Nhap ten nguoi dung moi: " uname read -p "Nhap ten nhom cho nguoi dung moi: " gname while [ `cat /etc/group | grep $gname:x -c ` -eq ] echo "Nhom khong ton tai" read -p "Nhap ten nhom cho nguoi dung moi: " gname done useradd $uname -g $gname 21 echo "Nguoi dung moi duoc them thuoc nhom sau: " groups $uname id $uname read -p "Nhan ENTER de tiep tuc chuong trinh" readEnterkey ;; 10) echo "Thoat khoi chuong trinh!" exit esac done else echo "Phai chuyen sang user root de chay chuong trinh!" sudo su fi 22

Ngày đăng: 14/04/2023, 21:14

Tài liệu cùng người dùng

Tài liệu liên quan