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:
- Đơ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.
- 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ọ.
- 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
, groupdel
và gpasswd
. 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.
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
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:
- Tạo một nhóm
designers
. - Tạo hai người dùng mới:
alice
vàbob
. - Thêm hai người dùng này vào nhóm
designers
. - Kiểm tra xem người dùng thực sự được thêm vào nhóm chưa.
- Xóa người dùng
alice
ra khỏi nhómdesigners
.
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:
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
.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.
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.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ả.
GO TO FULL VERSION