Tất cả người dùng mới được gán vào một nhóm mặc định (hoặc nhóm chính -
primary). Tồn tại hai qui ước.
Theo cách truyền thống, nhóm chính này chung cho tất cả người dùng được gọi là nhóm users với ID của nhóm là (GID) 100. Một số nhà cung cấp sản phẩm Linux
như Suse và Debian cũng tuân thủ với qui ước này.
Theo cách sắp sếp, nhóm người dùng riêng (User Private Group - UPG) này được
đưa ra bởi RedHat và việc thay đổi qui ước này sẽ không làm thay đổi cách thức làm
việc nhóm của UNIX. Với UPG, mỗi người dùng mới sẽ thuộc về nhóm mặc định
của mình. Nhóm có cùng tên với tên đăng nhập (mặc định) và GID sẽ nằm trong
phạm vi từ 500 đến 60000 (giống với UIDs).
Thành viên trong nhóm:
Một người dùng có thể thuộc về một hoặc nhiều nhóm bất kỳ. Tuy nhiên, tại một thời điểm (ví dụ khi tạo một tệp mới) thì chỉ duy nhất một nhóm là nhóm có tác động.
Thơng tin về danh sách tất cả các nhóm mà một người dùng thuộc về có thể được liệt kê qua câu lệnh groups hoặc id.
Ví dụ đối với người dùng root:
Liệt kê tất cả ID:
id
v ► uid=0(root) gid=0(root) groups=0(root), 1(bin), 2(daemon), 3(sys),
4(adm), 6(disk), 10(wheel), 600(sales)
Liệt kê tất cả các nhóm:
groups
v ► root bin daemon sys adm disk wheel sales
Chuyển nhóm hiện thời:
Lệnh tham gia (chuyển) vào nhóm sẽ làm thay đổi nhóm tác động của người dùng
(user’s effective group) và bắt đầu một tiến trình mới mà từ đó người dùng có thể
thốt ra khỏi nhóm (logout). Điều này có thể được thực hiện qua câu lệnh newgrp.
Ví dụ: tham gia nhóm sales
newgrp sales
Nếu câu lệnh groups được sử dụng thì nhóm đầu tiên trong danh sách sẽ chẳng còn là root mà là sales
Tạo một nhóm mới
Cơng cụ groupadd được sử dụng để quản trị các nhóm. Câu lệnh này sẽ thêm một thực thể vào file /etc/group
Ví dụ: tạo một nhóm devel
groupadd devel
Thêm một người dùng vào một nhóm:
Các cơng việc quản trị có thể được thực hiện bằng cơng cụ gpasswd. Có thể thêm
(-a) hoặc gỡ bỏ (-d) người dùng từ một nhóm và gán một người quan trị (-A). Công cụ này ban đầu được thiết kế để thiết lập một mật khẩu đơn vào một nhóm, cho phép tất cả các thành viên trong cùng một nhóm đăng nhập với cùng một mật khẩu. Vì lý do an ninh, tính năng này khơng cịn được sử dụng nữa.
Ví dụ: thêm người dùng rufus vào nhóm devel
gpasswd -a rufus devel
3. File cấu hình
File /etc/passwd và /etc/shadow:
Tên của tất cả người dùng trong hệ thống được lưu giữ trong file /etc/passwd có cấu trúc như sau:
1. Tên truy cập
3. UID 4. GID
5. Đoạn text mô tả người dùng 6. Thư mục gốc của người dùng 7. shell của người dùng
7 trường trên được ngăn cách bởi dấu hai chấm như được minh hoạ trong ví dụ sau
đây.
/etc/passwd entry with encrypted passwd:
george:$1$K05gMbOv$b7ryoKGTd2hDrW2sT.h:Dr G Micheal:/home/georges:/bin/bash
Để dấu mật khẩu đã mã hố từ người dùng thơng thường bạn nên sử dụng file
shadow. File /etc/shadow sẽ chứa tên người dùng và mật khẩu đã mã hoá và chỉ có thể đọc được bởi người dùng root.
Nếu bạn khơng có file shadow trong /etc thì bạn có thể sử dụng câu lệnh sau đây:
/usr/sbin/pwconv (passwd -> shadow)
Câu lệnh này sẽ bỏ ‘x’ trong trường thứ hai của file /etc/passwd và tạo file /etc/shadow. Nếu bạn khơng muốn sử dụng mật khẩu bóng (shadow password), bạn có thể làm như sau:
Chú ý: Khi sử dụng file mật khẩu bóng (shadow password) /etc/passwd thì có thể
đọc được với quyền (644) và file /etc/passwd phải được cấm nhiều hơn (600 hoặc
thậm chí 400). Tuy nhiên, khi sử dụng pwunconv thì phải bảo đảm thay đổi quyền
trên file /etc/password (600 hoặc 400).
File /etc/group and gshadow:
Cũng tương tự như trên, thông tin của nhóm được lưu giữ trong file /etc/group. File này có 4 trường được ngăn cách nhau bởi dấu hai chấm.
1. Tên nhóm
2. Mật khẩu nhóm (hoặc x nếu file gshadow tồn tại) 3. GID
4. Dấu phẩy ngăn cấch danh sách các thành viên
Ví dụ /etc/group entry:
java:x:550:jade, eric, rufus
Cũng như với người dùng, file /etc/gshadow cũng được tạo khi sử dụng mật khẩu bóng nhóm (shadow group passwords). Các tiện ích này được sử dụng để chuyển đổi xuôi hoặc ngược các file shadow hoặc non-shadow như sau:
/usr/sbin/grpconv creates the /etc/gshadow file
File /etc/login.defs và /etc/skel/
File /etc/login.defs chứa các thông tin sau đây: - thư mục mail (the mail spool directory):
MAIL_DIR
- các điều khiển thời gian của mật khẩu:
PASS_MAX_DAYS, PASS_MIN_DAYS, PASS_MAX_LEN, PASS_WARN_AGE
• giá trị max/min của UID tự động lựa chọn trong useradd: UID_MIN, UID_MAX
• giá trị max/min đối với lựa chọn tự động GID trong groupadd: GID_MIN, GID_MAX
• tự động tạo một thư mục gốc với useradd: CREATE_HOME
Thư mục /etc/skel chứa các file mặc định và sẽ được copy tới thư mục gốc của
người dùng mới được tạo: .bashrc, .bash_profiles, ..