Buổi 2. Quản lý tài khoản, ổ cứng và tập tin

📝 ĐỀ BÀI

1. Cài đặt CentOS

Câu 1

Thực hiện cài đặt CentOS 6 (hoặc CentOS 7, 8) vào máy tính cá nhân (hoặc máy ảo) của bạn (KHÔNG cần chụp màn hình minh hoạ)

Link file ISO CentOS 8open in new window

2. Quản lí tài khoản icons8-networking_manager.png

Câu 2.1

Sử dụng lệnh adduserpasswd để tạo một tài khoản mới với tên đăng nhập có dạng masosinhvien (ví dụ: B1909935) (Chụp màn hình minh hoạicons8-screenshot.png)

Quan sát để thấy rằng khi một tài khoản mới được tạo, thư mục cá nhân trong /home và nhóm cá nhân trong /etc/group ứng với tài khoản đó cũng được tạo theo.

  • Sử dụng tài khoản root để tạo người dùng mới như sau :

  • Sử dụng lệnh ls hiển thị danh sách các file trong thư mục :

  • Sử dụng lệnh cat để xem nội dung bên trong file :

Câu 2.2

Mở file /etc/shadow và cho biết mật khẩu bạn vừa tạo cho tài khoản mới sử dụng giải thuật mã hoá nào ? Dựa vào đâu để biết điều đó ? (Chụp màn hình minh hoạicons8screenshotpng)

Sử dụng lệnh cat để xem nội dung bên trong file :

💡 FACT

icons8-centos.pngCentOS sử dụng sha512.pngSHA512 để mã hoá mật khẩu, vì có ký hiệu $6 trước dãy mật khẩu đã mã hoá

Câu 2.3

Thiết lập ngày hết hạn cho tài khoản2.1 là ngày 31/12/2020 (Chụp màn hình minh hoạicons8screenshotpng)

Sử dụng (Yêu cầu người dùng root) :

  • usermod -e <date> <user> : đặt ngày hết hạn cho tài khoản cụ thể
  • chage -l <user> : Hiển thị thông tin hết hạn tài khoản cụ thể

Câu 2.4

Tạo một nhóm người dùng với tên nhóm là mã lớp của bạn. Thêm tài khoản2.1 vào nhóm vừa tạo (Chụp màn hình minh hoạicons8screenshotpng)

Sử dụng (yêu cầu người dùng root) :

  • groupadd <group> : thêm nhóm người dùng
  • usermod -a -G <group> <user> : thêm người dùng vào nhóm
  • groups <user> : Kiểm tra người dùng thuộc tất cả nhóm nào

Câu 2.5

Thực hiện khoá tài khoản ở 2.1, sau đó đăng nhập thử và quan sát (Chụp màn hình minh hoạicons8screenshotpng)

Sử dụng (yêu cầu người dùng root) :

  • usermod -L <user> : khoá tài khoản người dùng

    ⚠️ LƯU Ý

    Sau khi khoá tài khoản, chuỗi mật khẩu mã hoá sẽ thêm ! vào trước.

  • Sử dụng lệnh su để chuyển tài khoản :

    ⚠️ LƯU Ý

    CentOS 8 khi ta khoá tài khoản, màn hình đăng nhập sẽ không có tài khoản đã khoá

    499567e10988fbd6a299.jpg

Câu 2.6

Mở khoá tài khoản ở 2.1 (Chụp màn hình minh hoạicons8screenshotpng)

Sử dụng (yêu cầu tài khoản root) :

  • usermod -U <user> : Mở khoá tài khoản

    ⚠️ LƯU Ý

    Sau khi mớ khoá, chuỗi mật khẩu sẽ xoá đi ! trước nó ==> trở lại như xưa

  • Sử dụng lệnh su để chuyển đổi tài khoản (từ tài khoản thường) :

    ⚠️ LƯU Ý

    Màn hình đăng nhập đã hiện thị tài khoản

3. Quyền root

Câu 3.1

Quyền root là gì >

Quyền root là quyền thực thi cao dưới người quản trị cao nhất.

Câu 3.2

Nêu các ưu điểm của việc dùng sudo so vời dùng su (chuyển sang tài khoản root)

Có sự khác biệt lớn giữa các lệnh su và sudo:

  • su chuyển bạn sang tài khoản người dùng root.
  • sudo chạy lệnh với đặc quyền root.

Về cơ bản, sudo là một binary setuid là thực hiện lệnh root thay mặt người dùng uỷ quyền khác.

Câu 3.3

Mô tả các bước (Chụp màn hình minh hoạicons8screenshotpng) để cấp quyền sudo cho tài khoản ở 2.1. Sau đó cho một ví dụ để kiểm chứng xem tài khoản này đã thực sự được cấp quyền hay chưa (Chụp màn hình minh hoạicons8screenshotpng)

Để cho riêng người dùng quyền truy cập root, bạn cần thêm người dùng vào nhóm quyền truy cập root.

  • B1 : Gõ lệnh visudo dưới tài khoản root

    7cf08edccfb43dea64a5.jpg

  • B2 : Kéo xuống tìm và chỉnh sửa như sau :

    >

    💡 FACT

    Tuy nhiên tôi khuyên bạn nên cấp quyền root cho group, vì ta có thể dễ dàng quản lí nó, CentOS 8 đã tạo cho ta sẵn nhóm wheel

  • B3: Thêm tài khoản vào nhóm wheel :

==> Vậy là đã xong các bước cấp quyền root cho tài khoản , thử như sau :

==> Vậy là chúng ta không cần tài khoản root vẫn có thể vào file /etc/shadow

Câu 3.4

Thu hồi quyền root của một tài khoản ở 2.1 (Chụp màn hình minh hoạicons8screenshotpng)

Sử dụng gpasswd -d <user> <group> : Xoá người dùng ra khỏi nhóm

6458a4abefc31d9d44d2.jpg

==> Vậy là đã thu hồi quyền root cho tài khoản, thử như sau :

51cca93fe25710094946.jpg

==> Vậy là tài khoản B1909935_CTU không thể truy cập vào file /etc/shadow

4. Đĩa và phân vùng ổ cứng

Câu 4.1

Thêm một ổ cứng vào máy ảo icons8-centos.png CentOS. Nếu đã cài icons8-centos.png CentOS trực tiếp vào máy tính cá nhân thì có thể sử dụng 1 icons8-usb_memory_stick.pngUSB để thay thế.

Cắm icons8usbmemorystickpngUSB vào máy và gõ lệnh sudo fdisk -l để xem thiết bị :

196b4ebaa3d2518c08c3.jpg

78247bb4b6dc44821dcd.jpg

==> Vậy icons8usbmemorystickpngUSB của ta là /dev/sde và có dung lượng 14.3GB

Câu 4.2

Sử dụng lệnh fdiskmkfs để tạo và format một phân vùng trên ổ cứng vừa mới thêm ở 4.1 (Chụp màn hình minh hoạicons8screenshotpng)

B1 : Gõ lệnh fdisk <đưỡng dẫn ổ cứng>

b80fcc8201eaf3b4aafb.jpg

💡 MẸO

m để đọc hướng dẫn

==> Nếu ố cứng có dữ liệu hãy gõ d để xoá ổ cứng

B2 : Gõ n để tạo phân vùng mới

00371ca1d1c923977ad8 (1).jpg

B3:w để ghi phân vùng

bb709fe6528ea0d0f99f.jpg

==> Đã tạo xong phân vùng cần thiết icons8-checkmark.png

💡 Kiểm tra bằng cách gõ fdisk -l <đường dẫn ổ cứng>

97f5187ed51627487e07.jpg

Sử dụng lệnh mkfs.<chuẩn file system> <đưỡng dẫn ổ cứng> để format ổ cứng theo chuẩn file system mình muốn :

37b6493a8452760c2f43.jpg

Câu 4.3

Tạo thư mục mới có tên /data bằng tài khoản root. Mount phân vùng ổ cứng ở 4.2 tới thư mục /data (Chụp màn hình minh hoạicons8screenshotpng)

Sử dụng (yêu cầu tài khoản root)

  • mkdir : tạo thư mục
  • mount <đưỡng dẫn ổ cứng> <đưỡng dẫn thư mục> : Gắn ổ cứng vào đường dẫn cụ thể

c3d6965b5b33a96df022.jpg

Câu 4.4

Thực hiện lệnh df -h để xem kết quả (Chụp màn hình minh hoạicons8screenshotpng)

8942f4cf39a7cbf992b6.jpg

💡 CHÚ Ý

Ổ cứng /dev/sde15G, khả dụng 14G và đã sử dụng 41M(1%) đã được mount vào trong /data

5. Phân quyền trên hệ thống tập tin

Câu 5.1

Tạo nhóm người dùng quantri, thêm người dùng ở 2.1 vào nhóm quantri

Làm theo câu 2.4 trên :

d0e5c2e90b81f9dfa090.png

Câu 5.2

Chuyển nhóm chủ sỡ hữu của thư mục /data sang quantri. Phân quyền cho thư mục /data là chủ sở hữu có toàn quyền read, writeexecute, nhóm chủ sở hữu có quyền readexecute, những người khác không có quyền gì (Chụp màn hình minh hoạicons8screenshotpng)

  • Sử dụng lệnh chgrp <group> <đưỡng dẫn> : thay đổi nhóm sử dụng cho thư mục cụ thể

    8225745b5d30af6ef621.png

    💡 MẸO

    Như bạn đã thấy quyền sở hữu nhóm đổi qua quantri

  • Sử dụng lệnh chmod <option> <đưỡng dẫn thư mục> : thay đổi quyền cho thư mục

    4243ac3d855677082e47.png

    💡 FACT

    • drwxr là toàn quyền cho user
    • x là quyền thực thi cho group
    • --- là không có quyền gì cho other

Câu 5.3

Dùng tài khoản root tạo tập tin /data/file1.txt. Sau đó dùng tài khoản ở 2.1 tạo tập tin /data/file2.txt. Quan sát và cho biết kết quả trong 2 trường hợp (Chụp màn hình minh hoạicons8screenshotpng)

🤔 Sử dụng lệnh nano hoặc gedit để tạo file và ghi :

  • Người dùng root :

    af4067354e5ebc00e54f.jpg

  • Người dùng B1909935_CTU :

    a2ea37821ee9ecb7b5f8.jpg

    ⚠️ LƯU Ý

    Ngay lập tức sẽ lỗi vì B1909935_CTU nằm trong group quantri chỉ có quyền x (thực thi), không có quyền w (ghi)

Câu 5.4

Dùng tài khoản 2.1 mởthay đổi nội dung tập tin /data/file1.txt, cho biết kết quả (Chụp màn hình minh hoạicons8screenshotpng)

Sử dụng lệnh nano ở tài khoản B1909935_CTU :

4922ca4ae321117f4830.jpg

⚠️ LƯU Ý

Sẽ phát sinh ra lỗi không có quyền ghi

==> Vì chủ sở hữu của file1.txtroot, và người dùng khác chỉ có quyền r (đọc) ==> B1909935_CTU không thể ghi

6f608306aa6d5833017c.png

Câu 5.5

Cấp quyền cho tài khoản 2.1 có thể thay đổi nội dung tập tin /data/file1.txt (Chụp màn hình minh hoạicons8screenshotpng)

Sử dụng lệnh chmod <option> <đường dẫn thư mục> để cấp quyền cho thư mục

4d648802a16953370a78.jpg

Câu 5.6

Tạo thêm một tài khoản mới, dùng tài khoản này mở tập tin /data/file1.txt, cho biết quả kết quả (Chụp màn hình minh hoạicons8screenshotpng)

Làm theo câu 2.1 để tạo người dùng mới

6e3cd55afc310e6f5720.jpg

Sử dụng lệnh sau để mở thư mục /data/file1.txt

$ nano /data/file1.txt 
# Thực thi lệnh ở người dùng newStudent vừa tạo

⚠️ LƯU Ý

Sẽ đưa ra lỗi không thể truy cập vào /data

🤔 Vì trong câu 5.2, chúng ta thiết lập /data, người khác không có quyền gì cả và nhóm sở hữu là quantri, tài khoản newStudent không thuộc nhóm đó.

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