Buổi 6. Thực hành Nhóm

📝 ĐỀ BÀI

Câu 1.1: Thiết lập Desktop/ Server

Phần mềmNhà sản xuất
Virtualbox_logo.png VituralBoxopen in new windowOracle
icons8-centos.png CentOSopen in new windowRedHat
Lubuntu_logo_only.svg Lubuntuopen in new windowMario Behling

1. Tắt dịch vụ DHCP Server

  • B1: File -> Host Network Manager

  • B2: Tắt DHCP Server như sau (1 trong 2 cách)

2. Cài và cấu hình cho CentOS

a. Thực hiện cài CentOS lên VituralBox (Cài bản không GUI) :

💡 MẸO

CentOS rất nặng, lại còn chạy máy ảo nên để phù hợp cho mọi cấu hình, hãy sử dụng bạn CLI

b. Cài đặt NAT Network

  • B1: Chọn VituralBox -> Preferences
  • B2: Qua cửa sổ Network và nhấn nút tạo NAT Network
  • B3: Cấu hình NAT Network như sau và nhấn OK

c.Chuyển đổi network của máy ảo CentOS qua NAT Network

  • B1: Chọn setting máy ảo CentOS trong VituralBox

  • B2: Chọn Network, đổi sang NAT Network và chọn QTHT như đã cấu hình trước đó

d. Kiểm tra cấu hình mạng trong CentOS

  • B1: Kiểm tra đã cài đặt network-scripts chưa, nếu chưa gõ lệnh :

     $ yum install network-scripts
    
  • B2: Gõ ipconfig -a kiểm tra :

    💡 MẸO

    Xác định device network đang sử dụng là enp0s3, gõ lệnh dưới đây để cấu hình network (dùng tài khoản root) :

     $ nano /etc/sysconfig/network-scripts/ifcfg-enp0s3
    
    Screenshot 2021-05-22 223538.png

    Hoặc cũng có thể sử dụng lệnh mntui để cấu hình giao diện như sau :

  • B3: Gõ lệnh service network restart để khởi động lại network :

  • B4: Dùng lệnh ifconfig -a để kiểm tra sau khi cấu hình :

  • B5: Thực hiện lệnh ping google.com để kiểm tra mạng có truy cập được không

==> Vậy là ta đã thoả yêu cầu cấu hình mạng cho máy ảo CentOS

3. Cài và cấu hình Lubuntu

a. Thực hiện cài Lubuntu 20.04 lên VituralBox

💡 MẸO

Sau khi cài đặt Lubuntu 20.04 tiến hành vào Qterminal

b. Cấu hình network cho Lubuntu

B1: Chọn setting máy ảo Lubuntu trong VituralBox

B2: Chọn Network, đổi sang NAT Network như sau :

c. Kiểm tra network trong Lubuntu

  • B1: Thực hiện lệnh ifconfig -a để kiểm tra cấu hình mạng :

  • B2: Thực hiện lệnh ping google.com để kiểm tra mạng có truy cập được không

==> Như vậy là thoả

Câu 1.2: Tạo các usergroup

Cho danh sách các user như sau:

STTHọ tênNhómUsernamePasswordMô tả
1Lưu bịbangiamdocbi.luuluubiGiám đốc
2Gia Cát Lượngbangiamdocluong.giacatgiacatluongPhó giám đốc
3Quan Vũhanhchanhvu.quanquanvuTrưởng phòng
4Trương Phihanhchanhphi.truongtruongphiNhân viên
5Triệu Vânbanhangvan.trieutrieuvanTrưởng phòng
6Mã Siêubanhangsieu.mamasieuNhân viên
7Hoàng Trungbanhangtrung.hoanghoangtrungNhân viên

1. Tạo Group

  • B1: Thực hiện các lệnh sau :

     # Lệnh tạo 3 nhóm ban giám đốc, hành chánh, ban hang
     $ groupadd bangiamdoc
     $ groupadd hanhchanh
     $ groupadd banhang
    
  • B2: Thực hiện lệnh cat /etc/group để kiểm tra :

2. Tạo các user

  • B1: Thực hiện các lệnh sau :

    # Tạo các người dùng và mật khẩu theo yêu cầu
    $ useradd -m bi.luu -p luubi
    $ useradd -m luong.giacat -p giacatluong
    $ useradd -m vu.quan -p quanvu
    $ useradd -m phi.truong -p truongphi
    $ useradd -m van.trieu -p trieuvan
    $ useradd -m sieu.ma -p masieu
    $ useradd -m trung.hoang -p hoangtrung
    
  • B2: Gõ lệnh cat /etc/passwd để kiểm tra

3. Nhập user vào group phù hợp

  • B1: Thực hiện các lệnh sau :

    # Nhập lưu bị và gia cát lượng vào ban giám độc
    $ usermod -a -G bangiamdoc bi.luu
    $ usermod -a -G bangiamdoc luong.giacat
    # Nhập quan vũ và phi trường vào hành chánh
    $ usermod -a -G hanhchanh vu.quan
    $ usermod -a -G hanhchanh phi.truong
    # Nhập trương phi, triệu vân, mã siêu vào bán hàng
    $ usermod -a -G banhang phi.truong
    $ usermod -a -G banhang sieu.ma 
    
  • B2: Gõ lệnh cat /etc/groups để kiểm tra

4. Cấp quyền root cho nhóm ban giám đốc

  • B1: Thực hiện lệnh nano /etc/sudoers (ở tài khoản root), và cấu hình như sau :

  • B2: Hãy thực hiện các lệnh sau để kiểm tra

    # Đổi qua tài khoản bi.luu vì nó nằm trong group bangiamdoc
    $ su bi.luu
    # gõ câu lệnh kiểm tra thử quyền tài khoản root
    $ sudo nano /etc/shadow
    

Câu 1.3: Tạo /data và phân quyền

1. Tạo thư mục /data và đổi group sở hữu

  • B1: Tạo group truongphong và thêm luubitrieuvan vào :

    $ groupadd truongphong
    $ usermod -a -G truongphong bi.luu
    $ usermod -a -G truongphong trieu.van
    
  • B2: Sử dụng lệnh lần lượt các lệnh dưới đây :

    $ su                         # đổi qua tài khoản root
    $ mkdir /data                # tạo thư mục /data
    $ chgrp truongphong /data    # đổi chủ nhóm sở hữu
    $ chmod 750 /data            # cấp quyền cho thư mục /data
    
  • B3: Sử dụng lệnh ls -l /data để kiểm tra :

2. Kiểm tra phân quyền

  • B1: Tạo file 123.txt bằng lệnh nano /data/123.txt như sau :

  • B2: Phân quyền như sau :

    $ chgrp truongphong /data/123.txt
    $ chmod 750 /data/123.txt
    
  • B3: Thực hiện lệnh ls -l /data/ để kiểm tra

3. Thực hiện kiểm tra

  • B1: Kiểm tra người trong nhóm bangiamdoc có quyền read/write/execute

    $ su bi.luu                #vì lưu bị trong nhóm bangiamdoc
    $ sudo nano /data/123.txt  #kiểm tra
    

    💡 MẸO

    Thử ghi và save lại, nếu thành công là được :

  • B2: Kiểm tra người trong nhóm truongphong có quyền read/execute

    $ su vu.quan              #vì quan vũ trong nhóm trưởng phòng
    $ sudo nano /data/123.txt #kiểm tra
    

    ==> Như vậy thành viên trong truongphong không thể write

  • B3: Kiểm tra nhân viên không có quyền gì

    $ su sieu.ma # vì mã siêu là nhân viên
    $ cat /data/123.txt
    

Câu 1.4: Cài đặt và cấu hình DHCP Server

1. Cài đặt DHCP Server cho CentOS

  • B1: Dùng lệnh yum install dhcp-server để cài đặt :

  • B2: Copy file mẫu và cấu hình bằng lệnh, và cấu hình như sau :

    $ cp /usr/share/doc/dhcp-server/dhcpd.conf.example /etc/dhcp/dhcp.conf
    
  • B3: Thực hiện lênh sau để chạy DHCP Server :

    $ systemctl dhcpd start  #chạy dhcp server
    $ systemctl dhcpd enable #bật dhcp server
    $ systemctl dhcpd status #kiểm tra dhcp server
    $ firewall-cmd --permanent --add-service=dhcp
    $ firewall-cmd --reload
    

2. Kiểm tra Lubuntu sau khi cấu hình DHCP Server

  • B1: Khởi động lại dịch vụ mạng trên Lubuntu bằng lệnh :

    $ systemctl restart NetworkManager
    
  • B2: Gõ ifconfig -a để kiểm tra cấu hình mạng :

==> Đã thành công, dạy IP từ 10.0.2.15 chuyển thành 10.0.2.50 vì đây là IP của DHCP Server do CentOS cấp

Câu 1.5: Cấu hình tưởng lửa trên CentOS

1. Cài đặt và chạy tường lửa

  • B1: Gõ lệnh yum install iptablesyum install iptables-services

  • B2: Thực hiện lệnh sau :

    $ systemctl start iptables # chạy tường lửa
    $ systemctl status iptables # kiểm tra tường lửa
    

2. Cấu hình rule cho tường lửa

💡 MẸO VÀ KIẾN THỨC

Có rất nhiều số port tượng trưng cho mỗi cổng kết nối, tuy nhiên chỉ đề cập những port thông dụng sau :

Cổng sốSử dụng
20FTP (File Transfer Protocol) - Data transfer
21FTP (File Transfer Protocol) - Command control
22SSH (Secure Shell)
25SMTP (Simple Mail Transfer Protocol)
53DNS (Domain Name Server)
67DHCP (Dynamic Host Configuration Protocol)-Server
68DHCP (Dynamic Host Configuration Protocol)-Client
80HTTP (Hypertext Transfer Protocol)
110POP3 (Post Office Protocol)
119NNTP (Network News Transfer Protocol)
123NTP (Network Time Ptotocol)
143IMAP (Internet Message Access Protocol)
161SNMP (Simple Network Management Protocol)
194IRC (Internet Relay Chat)
443HTTPS (HTTP Secure)
  • B1: Thực hiện lần lượt các lệnh sau :

    # cho phép truy cập web
    $ iptables -A INPUT -p tcp --dport 80:443 -j ACCEPT
    # cho phép truy cập SSH
    iptables -A INPUT -p tcp --dport 22 -j ACCEPT
    # cho phép truy cập FTP
    iptables -A INPUT -p tcp --dport 20:21 -j ACCEPT
    # cho phép truy cập DNS
    iptables -A INPUT -p tcp --dport 53 -j ACCEPT
    # cho phép truy cập DHCP
    iptables -A INPUT -p udp --dport 67:68 -j ACCEPT
    # chặn tất cả các cổng khác
    iptables -A INPUT -j DROP
    # cho phép desktop ping tới server
    iptables -A INPUT -p icmp -s 10.0.2.50 -j ACCEPT
    
  • B2: Từ Lubuntu ping tới CentOS

Câu 1.6: Sử dụng dịch vụ SSH

1. Cài đặt và chạy SSH

  • B1: Gõ lệnh yum install openssh để cài đặt SSH :

  • B2: Thực hiện lệnh sau :

    $ systemctl start sshd
    $ systemctl status sshd
    

2. Cấu hình SSH

  • B1: Tạo group nhanvien và thêm thành viên tương ứng

  • B2: Gõ lệnh nano /etc/ssh/sshd_config

  • B3: Gõ lệnh systemctl restart sshd và kiểm tra kết nối

Câu 1.7: Cấu hình DNS cho CentOS

1. Cài đặt DNS tools

  • B1: Gõ lệnh yum install bind bind-utils

  • B2: Thực hiện các lệnh sau :

    $ systemctl start named      # chạy named   
    $ systemctl status named     # kiểm tra named
    

2. Cấu hình DNS

  • B1 : Gõ lệnh nano /etc/named.conf và cấu hình như sau :

    🤔 GIẢI THÍCH

    • Đặt listen-on port 53any có thể lắng nghe từ mọi IP

    • Đặt allow-queryany để cho phép truy vấn từ mọi IP

  • B2 : Cấu hình phân giải xuôi

    $ cp /var/named/named.localhost /var/named/forward.qtht
    $ chgrp named /var/named/forward.qtht
    $ nano /var/named/forward.qtht
    
  • B3 : Cấu hình phân giải ngược :

    $ cp /var/named/forward.qtht /var/named/reverse.qtht
    $ chgrp named /var/named/reverse.qtht
    $ nano /var/named/reverse.qtht
    
  • B4: Chạy lại named và kiểm tra :

    $ systemctl restart named #chạy lại named
    # kiểm tra phân giải xuôi
    $ nslookup www.lautamquoc.com 10.0.2.2
    $ nslookup ftp.lautamquoc.com 10.0.2.2
    #kiểm tra phân giải ngược
    $ nslookup 10.0.2.2 10.0.2.2
    $ nslookup 10.0.2.10 10.0.2.2
    

Câu 1.8: Cấu hình máy chủ Web

1. Cài đặt Apacheweb browser

Vì sử dụng CentOS bản không GUI nên ta phải cài thêm browser console

  • B1: Bật gói powertools (lynx nằm trong gói powertools)

    $ yum config-manager --set-enabled powertools
    $ yum install lynx
    $ lynx google.com  #test thử  lynx
    
  • B2 : Cài đặt và chạy Apache

    $ yum install httpd
    $ systemctl start httpd  #chạy httpd
    $ systemctl status httpd #check httpd
    
  • B3 : Gõ lệnh lynx 10.0.2.2 để truy cập vào Apache

==> Vậy là thành công

2. Chạy một trang web cá nhân

  • B1: Tạo thư mục /var/www/html/tamquoc (tamquoc kà tên web)

  • B2: Viết code index.htmlstyle.css

    $ nano /var/www/html/tamquoc/index.html
    
    $ nano /var/www/html/tamquoc/style.css
    
  • B3: Gõ lynx 10.0.2.2/tamquoc :

==> Đã thành công

3. Kiểm tra web domain

  • B1 : Hãy chắc rằng named đạng chạy và iptables đang tắt

    $ systemctl status named
    $ systemctl status iptables
    
  • B2: Gõ ping -c 5 www.lautamquoc.com để kiểm tra

  • B3: Gõ lynx www.lautamquoc.com/tamquoc để truy cập tới web :

    ==> Đã thành công

Câu 1.9: Sử dụng dịch vụ FTP

1. Cài đặt FTP trên CentOS

  • B1 : Gõ lệnh yum install vsftpd

  • B2 : Gõ lần lượt các lệnh sau :

    $ systemctl start vsftpd  # chạy ftp
    $ systemctl status vsftpd # kiểm tra ftp
    
  • B3: Thực hiện các lệnh để cho phép cổng 21 trên firewall

    $ firewall-cmd --reload
    $ firewall-cmd --permanent --add-port=21/tcp
    $ firewall-cmd --permanent --add-service=ftp
    $ systemctl enable vsftpd
    $ 
    

2. Cấu hình FTP

  • B1 : Thực hiện lần lượt các lệnh sau :

    # trước khi làm phải backup file lại 
    $ cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
    # cấu hình file 
    $ nano /etc/vsftpd/vsftpd.conf
    

    Và cấu hình như sau :

    anonymous_enable=NO
    local_enable=YES
    write_enable=NO
    local_umask=022
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    xferlog_std_format=YES
    chroot_local_user=YES
    anon_upload_enable=NO
    anon_writeable_chroot=YES
    anon_mkdir_write_enable=YES
    anon_world_readable_only=YES
    listen=YES
    pam_server_name=vsftpd
    userlist_enable=YES
    local_root=/data
    
  • B2: Gõ lệnh ftp 10.0.2.2 để kết nối và kiểm tra :

Câu 1.10: Cấu hình file Backup

  • B1: Thực hiện các lệnh sau :

    $ mkdir /mnt/backup #tạo mục backup
    $ nano /tmp/backupeveryday.sh   #tạo mục backup hàng ngày
    $ nano /tmp/backupeveryweek.sh  #tạo mục backup bằng tuần
    $ nano /tmp/backupeverymonth.sh #tạo mục backup hằng tháng
    
  • B2: Test nhẹ 3 file backup

    $ bash /tmp/backupeveryday.sh
    $ bash /tmp/backupeveryweek.sh
    $ bash /tmp/backupeverymonth.sh
    

    Đây là kết quả sau khi thực thi

  • B3: Cấu hình Crontab, gõ lệnh như sau :

    $ export EDITOR=nano #đổi thành nano thay vì xài vim 
    $ crontab -e
    

==> Như thế là xong đợi ngày lành tháng tốt rồi nó chạy !!!

Cập nhật lúc :
Tác giả: Zenfection, Zenfection