Tải bản đầy đủ (.pdf) (37 trang)

mini project quản trị hệ thống cài đặt và cấu hình server desktop 70

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.79 MB, 37 trang )

<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">

<b>TRƯỜNG ĐẠI HỌC CẦN THƠ</b>

<b>TRƯỜNG CÔNG NGHỆ THÔNG TIN && TRUYỀN THÔNGBỘ MÔN CÔNG NGHỆ PHẦN MỀM</b>

<b>MINI PROJECT</b>

<b>QUẢN TRỊ HỆ THỐNG</b>

<b>Mã số sinh viên: B2104821</b>

</div><span class="text_page_counter">Trang 2</span><div class="page_container" data-page="2">

<b>Mục Lục</b>

1. Cài đặt và cấu hình Server/Desktop (70%)____________________________________5 1.1. (10%) Sử dụng phần mềm VirtualBox/VMware/UTM/Parallels/…:____________5 - Tạo 1 NAT Network tên "QTHT" có địa chỉ mạng là 192.168.1.0/24. Tắt dịch vụ DHCP có sẵn trên NAT Network "QTHT".___________________________________5 1.2. (10%) Để quản lý các bộ phận và người dùng trong cơng ty, hãy tạo các nhóm người dùng (group) và người dùng (user) trên server như sau. Cấp quyền sudo cho người dùng Gia Cát Lượng.______________________________________________10 1.3. (10%) Cài đặt và cấu hình dịch vụ SSH để cho phép điều khiển từ xa Server.___12 - Chỉ có thành viên ban giám đốc và tài khoản <Mã số sinh viên> mới có quyền điều khiển từ xa Server. Tài khoản root không được nối kết tới server từ xa.____________12 - Chỉ cho phép chứng thực bằng private key, không cho phép chứng thực bằng

password. Tạo private/public key cho người dùng <Mã số sinh viên> để có thể SSH tới server._______________________________________________________________12 1.4. (10%) Tạo thư mục /data trên server và phân quyền sao cho thành viên ban giám đốc có tồn quyền (read, write và execute), các trưởng phịng có quyền read và execute, các nhân viên khơng có bất cứ quyền gì. Ngồi ra chỉ chủ sở hữu tập tin có quyền xóa hoặc đổi tên tập tin trong thư mục /data.____________________________16 1.5. (5%) Cài đặt và cấu hình tường lửa trên Server để cho phép:_________________18 - Có thể truy cập các dịch vụ DNS, DHCP, SSH, Web, SAMBA trên Server. Các dịch vụ khác KHÔNG cập truy cập được._______________________________________18 1.6. (5%) Cài đặt và cấu hình dịch vụ DHCP trên Server để cấu hình mạng tự động cho các máy Desktop trong nhánh mạng:_______________________________________21 - Địa chỉ IP của desktop: trong dãy 192.168.1.100/24 đến 192.168.1.254/24________21 - Địa chỉ gateway: 192.168.1.1___________________________________________21 - DNS server: 192.168.1.2 và 8.8.8.8_______________________________________21

<i>1.7. (5%) Cài đặt và cấu hình dịch vụ máy chủ Web trên Server sử dụng Docker. Tạo một trang web cho cơng ty có tên miền lautamquoc.com với nội dung trang chủ giới </i>

thiệu về các thành viên trong công ty.______________________________________22 1.8. (5%) Cài đặt và cấu hình dịch vụ SAMBA trên Server. Cấu hình chỉ cho phép:__26 - Thành viên ban giám đốc và trưởng phịng có thể truy cập vào thư mục /data trên Server._______________________________________________________________26 - Tất cả người dùng có thể truy cập vào thư mục cá nhân của họ (/home/<username>) trên Server.___________________________________________________________26 - Trên Desktop tạo ổ cứng ảo nối kết tới dịch vụ SAMBA trên Server.____________26 1.9. (5%) Cài đặt và cấu hình dịch vụ DNS trên Server để phân giải tên miền

<i>Tên miền: www.lautamquoc.com <----> IP: 192.168.1.2 (Server IP)_____________29</i>

</div><span class="text_page_counter">Trang 3</span><div class="page_container" data-page="3">

<i>Tên miền: gateway.lautamquoc.com <----> IP: 192.168.1.1____________________29</i>

1.10. (5%) Sử dụng dịch vụ cron và shell script tự động thực hiện công việc sao lưu dữ liệu mỗi ngày, mỗi tuần, mỗi tháng trên Server như sau:________________________32 + Các thư mục cần sao lưu sao lưu: /home, /data, /etc__________________________32 + Nơi lưu dữ liệu sao lưu: /mnt/backup_____________________________________32 2. Hình thức bài báo cáo bài tập tổng hợp (30%)________________________________36 Viết báo cáo trình bày các bước thực hiện cơng việc 1.1 đến 1.10.__________________36 Trình bày rõ ràng đầy đủ từng bước thực hiện và có hình ảnh minh hoạ. Báo cáo ít lỗi chính tả, trình bày đẹp; có hình ảnh minh họa rõ, chi tiết, có mục lục, …_____________36

</div><span class="text_page_counter">Trang 4</span><div class="page_container" data-page="4">

- Bài tập tổng hợp chiếm 15% điểm đánh giá môn học.

- Mọi sao chép bài của nhau giữa các sinh viên sẽ nhận 0đ cho điểm của phần bài tập tổng hợp.

- Thời gian nộp báo cáo dự kiến: trước khi thi cuối kỳ (tuần 19), nộp qua Google classroom của môn học. File báo cáo phải có định dạng PDF.

<b>Mơ tả bài tập tổng hợp:</b>

Công ty Tam Quốc chuyên kinh doanh buffet lẩu cay Tứ Xuyên có nhu cầu cài đặt các dịch vụ mạng phục vụ cho công việc của công ty như sau:

</div><span class="text_page_counter">Trang 6</span><div class="page_container" data-page="6">

<b>1. Cài đặt và cấu hình Server/Desktop (70%)</b>

<b><small>1.1. (10%) Sử dụng phần mềm VirtualBox/VMware/UTM/Parallels/…:</small></b>

<b><small>- Tạo 1 NAT Network tên "QTHT" có địa chỉ mạng là 192.168.1.0/24.Tắt dịch vụ DHCP có sẵn trên NAT Network "QTHT".</small></b>

- Tạo 2 máy ảo với thông tin như sau:

</div><span class="text_page_counter">Trang 7</span><div class="page_container" data-page="7">

<b>Host name</b> <sup>Server</sup> <b>Host name</b> <sup>Desktop</sup>

Hoặc tùy chỉnh theo cấu hình máy của sinh viên

<b>CPU/RAM/DISK 1core/2G/20G </b>

Hoặc tùy chỉnh theo cấu hình máy của sinh

- Trong quá trình cài hệ điều hành CentOS 9 Stream, tạo 1 tài khoản với username là <Mã số sinh viên>; firstname và lastname là họ tên của sinh viên. Cấp quyền quản trị (sudo) cho tài khoản. Sử dụng tài khoản vừa tạo để thực hiện bài tập tổng hợp (không dùng tài khoản root).

- Tắt dịch vụ tường lửa trên Server.

<b>SERVER:</b>

</div><span class="text_page_counter">Trang 8</span><div class="page_container" data-page="8">

+ Đổi tên hostname: Lệnh:

$sudo nmcli general hostname

+ Xem lại cấu hình:

$nmcli -f ipv4.addresses,ipv4.gateway,ipv4.dns con show enp0s3

+ Cập nhật lại các thay đổi:

$nmcli con down enp0s3, $nmcli con up enp0s3

+ Đổi tên hostname:

</div><span class="text_page_counter">Trang 9</span><div class="page_container" data-page="9">

$sudo nmcli general hostname

Ta sẽ cấu hình máy ảo Ubuntu với các thơng số như sau: • Hostname: desktop

• IP, Subnet mask, gateway, DNS : Automatic (DHCP)

+ Đầu tiên để cấu hình động cho Desktop, ta phải cài đặt dịch vụ DHCP Server trên máy Server (làm câu 1.6 trước)

+ Sau khi cài đặt dịch vụ DHCP, tiếp theo từ máy ảo Desktop ta vào Settings > Network > Wired > IPv4 > IPv4 Method: Automatic (DHCP)

+ Kiểm tra IP, Subnetmask, gateway, DNS:

</div><span class="text_page_counter">Trang 10</span><div class="page_container" data-page="10">

+ Ping từ desktop đến server, từ desktop đến internet:

+ Ping từ server đến desktop, từ server đến internet:

</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">

<b><small>1.2. (10%) Để quản lý các bộ phận và người dùng trong cơng ty, hãy tạo cácnhóm người dùng (group) và người dùng (user) trên server như sau. Cấpquyền sudo cho người dùng Gia Cát Lượng.</small></b>

<b>STT Họ TênNhómUsernamePasswordMơ tả</b>

1 Lưu Bị bangiamdoc bi.luu luubi Giám đốc 2 Gia Cát Lượng bangiamdoc luong.giacat giacatluong Phó giám đốc 3 Quan Vũ hanhchanh vu.quan quanvu Trưởng phòng 4 Trương Phi hanhchanh phi.truong truongphi Nhân viên 5 Triệu Vân banhang van.trieu trieuvan Trưởng phòng 6 Mã Siêu banhang sieu.ma masieu Nhân viên 7 Hoàng Trung banhang trung.hoang hoangtrung Nhân viên + Để tạo một user mới ta dùng lệnh:

$sudo adduser

+ Để tạo mật khẩu cho usename vừa tạo ta dùng lệnh:

$sudo passwd

</div><span class="text_page_counter">Trang 12</span><div class="page_container" data-page="12">

+ Để tạo nhóm người dùng ta dùng lệnh:

$sudo groupadd

+ Để thêm các user vào 1 nhóm ta dùng lệnh:

$sudo usermod -aG

+ Cấp quyền sudo cho người dùng luong.giacat:

</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13">

• Ta sẽ không cấp quyền sudo trực tiếp cho người dùng luong.giacat, mà ta sẽ thêm người dùng này nhóm có quyền sudo. Ở đây, ta sẽ thêm người dùng luong.giacat vào nhóm wheel.

• Lệnh để thêm một người dùng vào nhóm: $sudo usermod -aG

<b><small>1.3. (10%) Cài đặt và cấu hình dịch vụ SSH để cho phép điều khiển từ xaServer. </small></b>

<b><small>- Chỉ có thành viên ban giám đốc và tài khoản <Mã số sinh viên> mới cóquyền điều khiển từ xa Server. Tài khoản root không được nối kết tới servertừ xa.</small></b>

<b><small>- Chỉ cho phép chứng thực bằng private key, không cho phép chứng thựcbằng password. Tạo private/public key cho người dùng <Mã số sinh viên> đểcó thể SSH tới server.</small></b>

+ Cài đặt dịch vụ SSH:

$sudo dnf install openssh-server -y

+ Khởi động và cho phép dịch vụ SSH tự động thực thi khi khởi động hệ điều hành:

$sudo systemctl start sshd $sudo systemctl enable sshd

+ Kiểm tra trạng thái dịch vụ SSH:

$sudo systemctl status sshd

</div><span class="text_page_counter">Trang 14</span><div class="page_container" data-page="14">

<b>Cấu hình SSH cho phép (hoặc chặn) nhóm (hoặc người) dùng điều khiển server từ xa: </b>

Note 1: nhóm truongphong đã tạo gồm 2 người dùng là Zoro và Sanji

Note 2: AllowGroups và AllowUsers trong file sshd_config.

 AllowGroups: nếu sau này muốn thêm người dùng khác có quyền điều khiển server từ xa thì chỉ cần thêm người dùng này vào nhóm, khơng cần phải mở file cấu hình sshd_config như AllowUsers.

 AllowUsers: nếu muốn thêm người dùng khác có quyền điều khiển server từ xa thì phải mở file cấu hình sshd_config và thêm user này vào

- Tiến hành cấu hình SSH server:

1. Mở file config SSH: $sudo nano /etc/ssh/sshd_config

2. Cho phép nhóm bangiamdoc, b2104821 điều khiển server từ xa, thêm dòng này: AllowGroups bangiamdoc “Enter” AllowUsers b2104821

3. Chặn tài khoản root điều khiển server từ xa: tìm đến dịng “#PermitRootLogin yes”, bỏ ghi chú dấu “#” và thay “yes” thành “no”. Nếu khơng có dịng “#PermitRootLogin” mà chỉ có dịng “#PermitRootLogin prohibit-password” thì ta thêm dòng “PermitRootLogin no”

4. Khởi động lại dịch vụ SSH:

$sudo systemctl restart sshd

</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15">

5. Kiểm tra kết quả:

-Kết nối bằng tài khoan root thất bại

-Kết nối thành công bằng tài khoản b2104821

-Kết nối thành công bằng tài khoản thuộc bangiamdoc

<b>Chỉ cho chứng thực bằng private key, tạo private/public key cho người dùng b2104821</b>

+ Kết nối desktop đến server bằng người dùng b2104821:

+ Tạo keygen SSH:

$ssh-keygen

</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16">

+ Nhận được tập tin chứa private key (dùng cho b2104821) và tập tin chứa public key (dùng

+ Tắt chức năng chứng thực bằng password và mở chứng thực bằng public key:

$sudo nano /etc/ssh/sshd_config

</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17">

Tìm đến dòng PubkeyAuthentication và PasswordAuthentication ta thay đổi như sau:

<b><small>1.4. (10%) Tạo thư mục /data trên server và phân quyền sao cho thành viênban giám đốc có tồn quyền (read, write và execute), các trưởng phịng cóquyền read và execute, các nhân viên khơng có bất cứ quyền gì. Ngồi ra chỉchủ sở hữu tập tin có quyền xóa hoặc đổi tên tập tin trong thư mục /data.</small></b>

+ Tạo thư mục /data:

</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18">

$sudo mkdir /data

+ Để phân quyền như yêu cầu, ta sử dụng kỹ thuật ACL (Access Control List) kết hợp sticky bit.

+ Phân quyền cho thành viên ban giám đốc có toàn quyền (read write execute) trên thư mục /data: Ta dùng lệnh:

$sudo setfacl -m g:bangiamdoc:rwx /data

+ Phân quyền cho trưởng phòng quyền read và execute, các nhân viên khơng có bất cứ quyền gì: Ta có các lệnh để tạo nhóm và phân quyền trên nhóm như sau:

$sudo groupadd truongphong

$sudo usermod -aG truongphong vu.quan

$sudo usermod -aG truongphong van.trieu

$sudo setfacl -m g:hanhchanh:--- /data

$sudo setfacl -m g:banhang:--- /data

$sudo setfacl -m g:truongphong:r-x /data

+ Chủ sở hữu tập tin mới có quyền xóa hoặc đổi tên tập tin:

$sudo chmod +t /data

</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19">

<b><small>1.5. (5%) Cài đặt và cấu hình tường lửa trên Server để cho phép:</small></b>

<b><small>- Có thể truy cập các dịch vụ DNS, DHCP, SSH, Web, SAMBA trênServer. Các dịch vụ khác KHÔNG cập truy cập được.</small></b>

+ Khởi động tường lửa firewalld

$sudo systemctl start firewalld

+ Tạo zone mới có tên là tamquoc

$sudo firewall-cmd –permanent --new-zone=tamquoc

+ Khởi động lại tường lửa để áp dụng zone mới vừa tạo ra

$sudo systemctl restart firewalld

+ Kiểm tra các rule của zone tamquoc:

</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20">

$sudo firewall-cmd --list-all --zone=tamquoc

+ Cho phép các dịch vụ DNS, DHCP, SSH, Web, SAMBA hoạt động trên zone tamquoc

$sudo firewall-cmd --permanent --zone=daihaitrinh --add-service=dns

$sudo firewall-cmd --permanent --zone=daihaitrinh --add-service=dhcp

$sudo firewall-cmd --permanent --zone=daihaitrinh --add-service=ssh

$sudo firewall-cmd --permanent --zone=daihaitrinh --add-service=http

$sudo firewall-cmd --permanent --zone=daihaitrinh --add-service=https

$sudo firewall-cmd --permanent --zone=daihaitrinh --add-service=samba

</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21">

+ Thêm rule chỉ cho phép máy desktop SSH đến server

$sudo firewall-cmd --permanent --zone=tamquoc --add-rich-rule='rule family=ipv4 source address=192.168.1.100/32 port port=22 protocol=tcp accept'

+ Khởi động lại tường lửa, chuyển giao diện mạng sang zone daiahitrinh và kiểm tra các rule đã thiết lập trên zone.

$sudo systemctl restart firewalld

$sudo firewall-cmd --permanent --zone=daihaitrinh –change interface=enp0s3

$sudo firewall-cmd --list-all --zone=tamquoc

+ Kiểm tra kết quả

</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">

<b><small>1.6. (5%) Cài đặt và cấu hình dịch vụ DHCP trên Server để cấu hình mạng tựđộng cho các máy Desktop trong nhánh mạng:</small></b>

<b><small>- Địa chỉ IP của desktop: trong dãy 192.168.1.100/24 đến</small></b>

+ Mở tập tin để tiến hành cấu hình: $sudo nano /etc/dhcp/dhcpd.conf + Nội dung file cấu hình như sau:

+ Khởi động dịch vụ DHCP, cho phép DHCP tự chạy mỗi khi máy khởi động.

$sudo systemctl start dhcpd $sudo systemctl enable dhcpd

</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23">

+ Kiểm tra trạng thái dịch vụ DHCP Server:

$sudo systemctl status dhcpd

<b><small>1.7. (5%) Cài đặt và cấu hình dịch vụ máy chủ Web trên Server </small>sử dụngDocker<small>. Tạo một trang web cho công ty có tên miền </small>lautamquoc.com <small>với nộidung trang chủ giới thiệu về các thành viên trong công ty.</small></b>

+ Chuẩn bị trang web (trangchu.html) được đặt trong thư mục ~/myweb, với nội dung trang chủ giới thiệu về các thành viên trong công ty.

+ Tiến hành tải, chạy và đăng nhập docker

</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">

1. Gỡ bỏ PodMan do sẽ đụng độ với Docker:

$sudo dnf -y remove podman runc

2. Cài đặt công cụ yum-utils:

$sudo dnf install -y yum-utils

3. Thêm địa chỉ repo của Docker vào công cụ yum:

4. Cài đặt Docker: $sudo dnf install docker-ce -y

5. Thêm người dùng hiện tại vào nhóm docker:

$sudo usermod -aG docker $USER

6. Login lại vào shell:

</div><span class="text_page_counter">Trang 25</span><div class="page_container" data-page="25">

$su - $USER

7. Chạy dịch vụ Docker và cho phép Docker khởi động cùng hệ thống:

$sudo systemctl start docker $sudo systemctl enable docker

8. Đăng nhập vào Docker:

$docker login -u

9. Kiểm tra Docker đã hoạt động tốt chưa:

$docker run hello-world

</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26">

+ Triển khai dịch vụ web:

Kiểm tra thơng tin các image httpd có trên docker hub:

$docker search httpd

Tạo container từ image httpd:

$docker run -d -it -p 8080:80 --name lautamquoc httpd

</div><span class="text_page_counter">Trang 27</span><div class="page_container" data-page="27">

Sao chép thư mục ~/myweb chứa nội dung gioithieu.html vào thư mục gốc của dịch vụ web trên Docker container.

$docker cp myweb/ Stawhat:/usr/local/apache2/htdocs/

+ Trên máy desktop, vào địa chỉ 192.168.1.2:8080/myweb/trangchu.html tiến hành kiểm chứng trang web vừa tạo:

<b><small>1.8. (5%) Cài đặt và cấu hình dịch vụ SAMBA trên Server. Cấu hình chỉ chophép:</small></b>

<b><small>- Thành viên ban giám đốc và trưởng phịng có thể truy cập vào thư mục/data trên Server.</small></b>

<b><small>- Tất cả người dùng có thể truy cập vào thư mục cá nhân của họ(/home/<username>) trên Server.</small></b>

<b><small>- Trên Desktop tạo ổ cứng ảo nối kết tới dịch vụ SAMBA trên Server.</small></b>

+ Cài dặt dịch vụ Samba:

$sudo dnf íntall -y samba

</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28">

+ Tạo thư mục cần chia sẻ và phân quyền:

$sudo mkdir lecturers /data

$sudo chown :lecturers /data $sudo chown -R 775 /data

+ Cấu hình dịch vụ Samba:

$sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig

$sudo nano /etc/samba/smb.conf

#Thêm đoạn cấu hình bên dưới vào cuối tập tin

</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">

valid users = @lecturers

+ Thêm người dùng cho dịch vụ Samba:

$sudo smbpasswd -a bi.luu,...

#Đặt mật khẩu Samba cho người dung

+ Cấu hình SELINUX cho phép Samba

$sudo setsebool -P samba_export_all_rw on $sudo setsebool -P samba_enable_home_dirs on

+ Tắt tường lửa:

$sudo systemctl stop firewalld

</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">

+Khởi động cho phép Samba tự động thực thi khi khởi động hệ điều hành:

$sudo systemctl start smb $sudo systemctl enable smb

+ Trên File Explorer của máy Desktop, chọn tính năng “Add a network location” để nối kết tới Samba server sử dụng địa chỉ \\<IP máy CentOS>\data

<b><small>1.9. (5%) Cài đặt và cấu hình dịch vụ DNS trên Server để phân giải tên miền</small></b>

<b><small>Tên miền:</small> www.lautamquoc.com <----> IP: <small>192.168.1.2 (Server IP)Tên miền:</small> gateway.lautamquoc.com <----> IP: <small>192.168.1.1</small></b>

+ Cài đặt BIND và các công cụ cần thiết:

$sudo dnf install bind bind-utils -y

<b>+ Cấu hình DNS server:</b>

$sudo nano /etc/named.conf

</div>

×