CodeGym /Các khóa học /Docker SELF /Tạo người dùng và nhóm, cấu hình quyền truy cập, quản lý ...

Tạo người dùng và nhóm, cấu hình quyền truy cập, quản lý tiến trình

Docker SELF
Mức độ , Bài học
Có sẵn

Tạo người dùng và nhóm, cấu hình quyền truy cập, quản lý tiến trình

1. Đặt vấn đề

Rồi, giờ chúng ta sẽ bắt đầu một buổi thực hành cường độ cao, nơi bạn có thể áp dụng tất cả các kiến thức đã học ở các bài giảng trước. Chúng ta sẽ tạo người dùng, gom họ vào nhóm, thiết lập quyền truy cập độc nhất và quản lý các quy trình trong hệ thống. Và nếu bạn nghĩ: "Tất cả những điều này để làm gì?", hãy thử tưởng tượng bạn là một quản trị viên hệ thống hoặc một kỹ sư DevOps, và nhiệm vụ của bạn là cấu hình server cho nhóm làm việc chung. Hoặc chỉ đơn giản là cứu chiếc máy tính của bạn khỏi tình trạng hỗn loạn! Trong thế giới thực, những tình huống như vậy xảy ra khá thường xuyên.

Mục tiêu của bạn là cấu hình hệ thống cho những người dùng và quy trình sau:

  1. Tạo hai người dùng: user1user2. Họ sẽ làm việc cùng nhau trong nhóm developers.
  2. Cấu hình một file (ví dụ, project.txt) sao cho chỉ có thành viên của nhóm developers mới có thể chỉnh sửa nó.
  3. Tạo một vài quy trình (ví dụ, sử dụng lệnh sleep) và học cách kết thúc chúng khi cần thiết.
  4. Xem các quy trình đang hoạt động để xác định quy trình nào tiêu tốn nhiều tài nguyên nhất.

Nghe như một kế hoạch phải không? Hãy cùng nhau thực hiện từng bước nhé.


2. Bước 1: Tạo người dùng

1. Tạo người dùng

Đầu tiên, tạo hai người dùng:

sudo adduser user1
sudo adduser user2

Khi thực hiện các lệnh này, hệ thống sẽ yêu cầu bạn thiết lập mật khẩu và nhập mô tả cho mỗi người dùng. Chúng ta sẽ không điền dữ liệu thừa, bạn có thể chỉ cần nhấn Enter.

Mỗi người dùng sẽ tự động được tạo một thư mục chính trong /home. Bạn có thể kiểm tra điều này:

ls /home
Ghi chú:

Nếu bạn làm việc cục bộ, đừng quên sử dụng sudo để có quyền quản trị viên. Và nếu bạn đang sử dụng WSL, hãy sẵn sàng rằng có thể có sự khác biệt với người dùng ở đó. Ví dụ, trong WSL, người dùng mặc định đã là quản trị viên hệ thống.


3. Bước 2: Tạo nhóm và thêm người dùng

1. Tạo nhóm

Để các người dùng có thể cùng làm việc trên các dự án, chúng ta thêm họ vào một nhóm. Đầu tiên, hãy tạo một nhóm developers:

sudo groupadd developers

2. Thêm người dùng vào nhóm

Bây giờ, chúng ta thêm các người dùng user1user2 vào nhóm developers. Sử dụng lệnh usermod cho tác vụ này:

sudo usermod -aG developers user1
sudo usermod -aG developers user2

3. Kiểm tra thành viên trong nhóm

Để đảm bảo rằng người dùng đã được thêm đúng vào nhóm, hãy chạy lệnh:

groups user1
groups user2

Bạn sẽ thấy rằng user1user2 là thành viên của nhóm developers.


4. Bước 3: Làm việc với tệp và quyền truy cập

1. Tạo tệp cho dự án

Hãy tạo một tệp project.txt trong thư mục home của một trong các người dùng (ví dụ, user1):

sudo -u user1 touch /home/user1/project.txt

Lệnh sudo -u cho phép chúng ta thực hiện hành động dưới danh nghĩa của một người dùng khác.

2. Thay đổi chủ sở hữu và nhóm của tệp

Chỉ định chủ sở hữu là user1 và nhóm là developers, để cả hai người dùng có quyền truy cập giống nhau:

sudo chown user1:developers /home/user1/project.txt

3. Thiết lập quyền truy cập

Bây giờ hãy thay đổi quyền truy cập của tệp. Sử dụng lệnh chmod:

sudo chmod 660 /home/user1/project.txt

Chúng ta vừa làm gì vậy? Chúng ta đã cấp quyền đọc và ghi rw- cho chủ sở hữu user1 và nhóm developers, còn tất cả người khác thì không có quyền truy cập.

Bạn có thể kiểm tra quyền truy cập bằng lệnh ls:

ls -l /home/user1/project.txt

Kết quả mong đợi:

-rw-rw---- 1 user1 developers 0 ngày giờ /home/user1/project.txt

5. Bước 4: Chạy tiến trình

1. Chạy tiến trình

Để thử nghiệm, tụi mình sẽ tạo vài tiến trình "chạy lâu" bằng lệnh sleep:

sleep 300 &
sleep 400 &
sleep 500 &

Mỗi lệnh sleep được chạy ở chế độ nền nhờ ký tự &.

Để kiểm tra danh sách tiến trình, dùng lệnh ps:

ps

Để xem thêm thông tin chi tiết hơn, dùng ps aux:

ps aux | grep sleep

6. Bước 5: Kết thúc tiến trình

1. Kết thúc tiến trình bằng PID

Xác định PID của một trong các tiến trình (ví dụ, sleep) và kết thúc nó:

kill PID

Trong đó PID là mã định danh của tiến trình, có thể tìm thấy qua ps.

2. Kết thúc tiến trình bằng tên

Nếu bạn muốn kết thúc tất cả các tiến trình sleep, sử dụng lệnh killall:

killall sleep

3. Sử dụng pkill

Nếu bạn không nhớ chính xác tên của tiến trình, pkill sẽ giúp kết thúc tiến trình bằng cách khớp một phần tên:

pkill slee

7. Bước 6: Theo dõi tiến trình

Để kiểm tra tải của hệ thống, bạn có thể sử dụng:

  1. top — để làm việc trong thời gian thực:

       top
    

    Ở đây bạn có thể quan sát mức sử dụng CPU, bộ nhớ và các tiến trình đang chạy. Sử dụng tổ hợp phím k để kết thúc một tiến trình trực tiếp từ giao diện.

  2. htop — giao diện tiện lợi hơn (nếu bạn đã cài đặt):

    htop
    
    Để thoát, nhấn F10.

8. Checklist

Sau khi hoàn thành tất cả các bước, bạn cần đảm bảo rằng:

  1. Đã tạo hai người dùng user1user2.
  2. Đã tạo và cấu hình nhóm developers, cả hai người dùng đều được thêm vào nhóm này.
  3. Đã tạo tệp project.txt, chỉ khả dụng cho nhóm developers.
  4. Đã tạo và dừng một vài quy trình bằng các lệnh kill, killallpkill.
  5. Bạn đã thành công xem danh sách quy trình trong ps, top hoặc htop.

Nếu tất cả đã hoàn thành — chúc mừng bạn! Bạn đã vượt qua tất cả các bước cơ bản trong việc quản lý người dùng, nhóm, quyền truy cập và quy trình trong hệ thống Linux. Hãy để sức mạnh của dòng lệnh luôn bên bạn!

1
Опрос
Những lệnh đầu tiên trong Linux,  2 уровень,  6 лекция
недоступен
Những lệnh đầu tiên trong Linux
Những lệnh đầu tiên trong Linux
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION