CodeGym /Các khóa học /Docker SELF /Quản lý nhóm: tạo, thêm và xóa người dùng khỏi nhóm (`gro...

Quản lý nhóm: tạo, thêm và xóa người dùng khỏi nhóm (`groupadd`, `usermod -aG`, `groups`)

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

Quản lý nhóm: tạo, thêm và xóa người dùng khỏi nhóm groupadd, usermod -aG, groups

1. Làm quen với nhóm trong Linux

Nhóm trong hệ điều hành Linux cho phép gom người dùng theo sở thích, trách nhiệm hoặc tiêu chí khác và gán quyền truy cập chung cho họ. Hôm nay chúng ta sẽ tìm hiểu cách làm việc với nhóm, thêm người dùng vào nhóm và quản lý cái này một cách hợp lý. Sẵn sàng chưa? Vậy thì bắt đầu thôi!

Hãy bắt đầu với một ví dụ đời thường. Hãy tưởng tượng bạn đang chơi một trò chơi trực tuyến, nơi có các guild. Trong mỗi guild có các thành viên, và họ có quyền truy cập vào các tài nguyên chung: kho, trò chuyện và các phòng chiến lược. Trong Linux, nhóm đóng vai trò tương tự. Nhóm cho phép:

  1. Đơn giản hóa quản lý quyền truy cập vào tệp và tài nguyên cho nhiều người dùng cùng lúc.
  2. Phân chia người dùng thành các đội dựa trên vai trò hoặc nhiệm vụ của họ.
  3. Giảm thiểu đau đầu cho quản trị viên hệ thống.

Khi hệ thống kiểm tra xem người dùng có thể truy cập tệp hay không, nó kiểm tra ba cấp độ quyền: chủ sở hữu tệp, nhóm và những người còn lại. Nếu người dùng thuộc nhóm được chỉ định cho tệp và nhóm có quyền truy cập, thì người dùng sẽ hạnh phúc, và quản trị viên sẽ hài lòng.


2. Lệnh cơ bản để quản lý nhóm

Linux cung cấp một số công cụ đơn giản và mạnh mẽ để làm việc với nhóm: groupadd, usermod, groups, groupdelgpasswd. Chúng ta sẽ tìm hiểu từng bước một.

1. Tạo nhóm mới groupadd

Tạo một nhóm mới trong hệ thống dễ ợt. Để làm điều này, sử dụng lệnh groupadd. Ví dụ, nếu bạn muốn tạo nhóm có tên là developers, hãy thực hiện như sau:

sudo groupadd developers

Xong rồi! Nhóm đã được tạo. Để đảm bảo rằng nó thực sự tồn tại, bạn có thể kiểm tra tệp /etc/group — cái này giống như danh sách liên hệ của tất cả nhóm trong hệ thống:

cat /etc/group | grep developers

Bạn sẽ thấy một dòng tương tự như sau:

developers:x:1001:

Đây là ý nghĩa của các thành phần:

  • developers — tên của nhóm.
  • x — trường dành cho mật khẩu (thường không dùng).
  • 1001 — đây là Group ID (GID) duy nhất.
  • Khoảng trống sau dấu hai chấm thứ hai — chỗ này để thêm thành viên của nhóm.
Câu đùa để giải trí:

Nếu GID là số điện thoại của nhóm, thì /etc/group là danh bạ điện thoại của nhóm đó.


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

Bây giờ, chúng ta sẽ thêm các nhà phát triển vào nhóm mới developers. Để làm điều này, sử dụng lệnh usermod với tùy chọn -aG. Ví dụ, thêm người dùng john:

sudo usermod -aG developers john

Quan trọng cần nhớ:

  • Khóa -a có nghĩa là append (thêm vào). Nếu bỏ qua nó, bạn có thể vô tình xóa người dùng khỏi tất cả các nhóm ngoài nhóm được chỉ định.
  • Khóa -G chỉ định nhóm mà người dùng sẽ được thêm vào.

Để kiểm tra người dùng thuộc những nhóm nào, sử dụng lệnh groups:

groups john

Hoặc chi tiết hơn một chút, sử dụng lệnh id:

id john

Kết quả sẽ trông giống như sau:

uid=1002(john) gid=1002(john) groups=1002(john),1001(developers)

3. Xóa người dùng khỏi nhóm

Khi một trong các "nhà phát triển" của bạn quyết định chuyển nghề làm barista, bạn cần gỡ họ khỏi nhóm. Để làm điều này, sử dụng lệnh gpasswd:

sudo gpasswd -d john developers

Sau đó, người dùng john sẽ không còn được liệt kê trong nhóm developers. Đừng quên kiểm tra lại bằng lệnh groups john để chắc chắn rằng họ đã chính thức rời đi.


4. Xóa nhóm groupdel

Nếu nhóm không còn cần thiết, bạn có thể xóa nó bằng lệnh groupdel. Ví dụ:

sudo groupdel developers
Chú ý!

Nếu vẫn còn người dùng trong nhóm, điều này sẽ không ảnh hưởng đến họ. Họ chỉ không thể tham chiếu đến nhóm này nữa.


3. Bài tập thực hành

Hãy thử tạo và cấu hình các nhóm thực tế như một admin thực thụ nhé.

Kịch bản:

  1. Tạo một nhóm designers.
  2. Tạo hai người dùng mới: alicebob.
  3. Thêm hai người dùng này vào nhóm designers.
  4. Kiểm tra xem người dùng thực sự được thêm vào nhóm chưa.
  5. Xóa người dùng alice ra khỏi nhóm designers.

Giải pháp:

Bước 1. Tạo nhóm

sudo groupadd designers

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

sudo adduser alice
sudo adduser bob

Bước 3. Thêm người dùng vào nhóm

sudo usermod -aG designers alice
sudo usermod -aG designers bob

Bước 4. Kiểm tra thêm

groups alice
groups bob

Bước 5. Xóa alice khỏi nhóm

sudo gpasswd -d alice designers

4. Đặc điểm và lỗi thường gặp

Làm việc với nhóm – giống như chơi với mèo con: tưởng chừng dễ dàng, nhưng chỉ cần lơ là, chúng sẽ làm loạn hết cả lên:

  1. Tuỳ chọn -aG. Quên không đặt -a, bạn có thể vô tình xóa người dùng ra khỏi tất cả các nhóm, ngoại trừ nhóm mới. Điều này đặc biệt "vui vẻ" nếu người dùng đó thuộc nhóm hệ thống, như sudo.

  2. Thay đổi có hiệu lực sau khi đăng xuất và đăng nhập lại. Nếu người dùng không thấy nhóm mới ngay sau khi được thêm vào – đừng hoảng! Họ cần đăng xuất và đăng nhập lại để nhận quyền mới.

  3. Tuân thủ quy tắc đặt tên. Không sử dụng khoảng trắng hoặc ký tự đặc biệt trong tên nhóm. Các tên như awesome@group hoạt động kém và gây đau khổ cho quản trị viên.

  4. Kiểm tra quyền truy cập. Nhóm đã được tạo và thêm vào? Tuyệt, nhưng nếu tệp không có quyền cho nhóm, bạn đã làm thất vọng người dùng. Hãy coi đây như một nguyên tắc: quyền cần được kiểm tra và thiết lập riêng biệt.

Trong cuộc sống thực tế

Trong các dự án thực tế, quản lý nhóm được sử dụng để:

  • Phân quyền truy cập vào tài nguyên máy chủ cho lập trình viên, kiểm thử viên và quản trị viên.
  • Cài đặt các thư mục làm việc chung cho các nhóm.
  • Quản lý quyền truy cập vào cơ sở dữ liệu, tệp cấu hình, script và tất nhiên, máy pha cà phê (ừ thì, cái này Linux chưa làm được đâu).

Bây giờ, khi bạn đã biết cách tạo và quản lý nhóm trong Linux, bạn sẵn sàng để thực hiện việc quản trị hệ thống của mình một cách thanh lịch và hiệu quả.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION