CHƢƠNG 4 QUẢN TRỊ HỆ THỐNG VÀ NGƢỜI DÙNG
4.2. Các lệnh cơ bản liên quan đến nhóm ngƣời dùng
Mỗi ngƣời dùng trong hệ thống Linux đều thuộc vào một nhóm ngƣời dùng cụ thể. Tất cả những ngƣời dùng trong cùng một nhóm có thể cùng truy nhập một trình tiện ích, hoặc đều cần truy cập một thiết bị nào đó nhƣ máy in chẳng hạn.
Một ngƣời dùng cùng lúc có thể là thành viên của nhiều nhóm khác nhau, tuy nhiên tại một thời điểm, ngƣời dùng chỉ thuộc vào một nhóm cụ thể.
Nhóm có thể thiết lập các quyền truy nhập để các thành viên của nhóm đó có thể truy cập thiết bị, file, hệ thống file hoặc tồn bộ máy tính mà những ngƣời dùng khác khơng thuộc nhóm đó khơng thể truy cập đƣợc.
- 45 -
4.2.1. Nhóm người dùng và file /etc/group
Thơng tin về nhóm ngƣời dùng đƣợc lƣu trong file /etc/group, file này có cách bố trí
tƣơng tự nhƣ file /etc/passwd. Ví dụ nội dung của file /etc/group có thể nhƣ sau:
root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon sys:x:3:root,bin,adm adm:x:4:root,adm,daemon disk:x:6:root lp:x:7:daemon,lp mail:x:12:mail huyen:x:500: langnu:x:501:
Mỗi dịng trong file có bốn trƣờng đƣợc phân cách bởi dấu ':'. ý nghĩa của các trƣờng theo thứ tự xuất hiện nhƣ sau:
Tên nhóm ngƣời dùng (groupname)
Mật khẩu nhóm ngƣời dùng (passwd - đƣợc mã hóa), nếu trƣờng này rỗng, tức là nhóm khơng u cầu mật khẩu
Chỉ số nhóm ngƣời dùng (group id)
Danh sách các ngƣời dùng thuộc nhóm đó (users) 4.2.1.2. Thêm nhóm ngƣời dùng
Cho phép hiệu chỉnh thơng tin trong file /etc/group bằng bất kỳ trình soạn thảo văn bản nào có trên hệ thống của để thêm nhóm ngƣời dùng, nhƣng cách nhanh nhất là sử dụng lệnh
groupadd.
Cú pháp lệnh : groupadd [tùy-chọn] <tên-nhóm> Các tuỳ chọn:
g, gid : tùy chọn này xác định chỉ số nhóm ngƣời dùng, chỉ số này phải là duy nhất. Chỉ số mới phải có giá trị lớn hơn 500 và lớn hơn các chỉ số nhóm đã có trên hệ thống. Giá trị từ 0 đến 499 chỉ dùng cho các nhóm hệ thống.
-r : tùy chọn này đƣợc dùng khi muốn thêm một tài khoản hệ thống.
-f : tùy chọn này sẽ bỏ qua việc nhắc nhở, nếu nhóm ngƣời dùng đó đã tồn tại, nó
sẽ bị ghi đè.
Ví dụ: Thêm nhóm ngƣời dùng bằng cách soạn thảo file /etc/group:
installer:x:102:hieu, huy, sang tiengviet:x:103:minh, long, dung
Hai dòng trên sẽ bổ sung hai nhóm ngƣời dùng mới cùng danh sách các thành viên trong nhóm: nhóm installer với chỉ số nhóm là 102 và các thành viên là các ngƣời dùng có tên hieu, huy, sang. Tƣơng tự là nhóm tiengviet với chỉ số nhóm là 103 và danh sách các
thành viên là minh, long, dung. Đây là hai nhóm (102, 103) ngƣời dùng hệ thống. Thêm nhóm ngƣời dùng mới với lệnh groupadd:
# groupadd -r installer
Lệnh trên sẽ cho phép tạo một nhóm ngƣời dùng mới có tên là installer, tuy nhiên các thành viên trong nhóm sẽ phải bổ sung bằng cách soạn thảo file /etc/group.
4.2.1.2. Sửa đổi các thuộc tính của một nhóm ngƣời dùng Cú pháp lệnh: groupmod [tùy-chọn] <tên-nhóm>
Thơng tin về các nhóm xác định qua tham số tên-nhóm đƣợc điều chỉnh. Các tùy chọn:
- 46 -
-n, group_name : thay đổi tên nhóm ngƣời dùng.
4.2.1.3. Xóa một nhóm ngƣời dùng
Nếu khơng muốn một nhóm nào đó tồn tại nữa thì chỉ việc xóa tên nhóm đó trong file
/etc/group. Nhƣng phải lƣu ý rằng, chỉ xóa đƣợc một nhóm khi khơng có ngƣời dùng nào
thuộc nhóm đó nữa.
Cú pháp lệnh: groupdel <tên-nhóm>
Lệnh này sẽ sửa đổi các file tài khoản hệ thống, xóa tất cả các thực thể liên quan đến nhóm. Tên nhóm phải thực sự tồn tại.
4.2.2. Các lệnh cơ bản khác có liên quan đến người dùng
Ngồi các lệnh nhƣ thêm ngƣời dùng, xóa ngƣời dùng..., cịn có một số lệnh khác có thể giúp ích rất nhiều nếu đang làm việc trên một hệ thống đa ngƣời dùng.
4.2.2.1. Đăng nhập với tƣ cách một ngƣời dùng khác khi dùng lệnh su
Đôi lúc muốn thực hiện lệnh nhƣ một ngƣời dùng khác và sử dụng các file hay thiết bị thuộc quyền sở hữu của ngƣời dùng đó. Lệnh su cho phép thay đổi tên ngƣời dùng một cách hiệu quả và cấp cho các quyền truy nhập của ngƣời dùng đó.
Cú pháp lệnh: su <người-dùng>
Nếu đăng nhập với tƣ cách ngƣời dùng bình thƣờng và muốn trở thành siêu ngƣời dùng (root) dùng lệnh sau:
# su root
Khi đó hệ thống sẽ yêu cầu nhập mật khẩu của siêu ngƣời dùng. Nếu cung cấp đúng mật mã, thì sẽ là ngƣời dùng root cho tới khi dùng lệnh exit hoặc CTRL+d để đăng xuất ra khỏi tài khoản này và trở về đăng nhập ban đầu. Tƣơng tự, nếu đăng nhập với tƣ cách root và muốn trở thành ngƣời dùng bình thƣờng có tên là newer thì hãy gõ lệnh sau:
# su newer
sẽ không bị hỏi về mật khẩu khi thay đổi từ siêu ngƣời dùng sang một ngƣời dùng khác. Tuy nhiên nếu đăng nhập với tƣ cách ngƣời dùng bình thƣờng và muốn chuyển đổi sang một đăng nhập ngƣời dùng khác thì phải cung cấp mật khẩu của ngƣời dùng đó.
4.2.2.2. Xác định ngƣời dùng đang đăng nhập
* Xác định hiện tại có những ai đang đăng nhập trên hệ thống.
Cú pháp lệnh: who [tùy-chọn] Các tuỳ chọn:
-H, --heading : hiển thị tiêu đề của các cột trong nội dung lệnh. -m : hiển thị tên máy và tên ngƣời dùng với thiết bị vào chuẩn.
-q, --count : hiển thị tên các ngƣời dùng đăng nhập và số ngƣời dùng đăng nhập.
Ví dụ:
# who
root tty1 Nov 15 03:54 lan pts/0 Nov 15 06:07 #
Lệnh who hiển thị ba cột thông tin cho từng ngƣời dùng trên hệ thống. Cột đầu là tên
của ngƣời dùng, cột thứ hai là tên thiết bị đầu cuối mà ngƣời dùng đó đang sử dụng, cột thứ ba hiển thị ngày giờ ngƣời dùng đăng nhập.
Ngồi who, có thể sử dụng thêm lệnh users để xác định đƣợc những ngƣời đăng nhập
trên hệ thống. Ví dụ: # users
- 47 -
* Trong trƣờng hợp ngƣời dùng không nhớ nổi tên đăng nhập trong một phiên làm việc (điều này nghe có vẻ nhƣ hơi vơ lý nhƣng là tình huống đơi lúc gặp phải), hãy sử dụng lệnh
whoami và who am i.
Cú pháp lệnh: whoami
hoặc who am i
Lệnh who am i sẽ hiện kết quả đầy đủ hơn với tên máy đăng nhập, tên ngƣời dùng đang đăng nhập, tên thiết bị và ngày giờ đăng nhập.
* Xác định thông tin người dùng
Cú pháp lệnh: id [tùy-chọn] [người-dùng]
Lệnh này sẽ đƣa ra thông tin về ngƣời dùng đƣợc xác định trên dịng lệnh hoặc thơng tin về ngƣời dùng hiện thời.
Các tuỳ chọn:
-g, --group : chỉ hiển thị chỉ số nhóm ngƣời dùng. -u, --user : chỉ hiển thị chỉ số của ngƣời dùng. --help : hiển thị trang trợ giúp và thốt.
4.2.2.3. Xác định các q trình đang đƣợc tiến hành
Lệnh w cho phép xác định đƣợc thơng tin về các q trình đang đƣợc thực hiện trên hệ thống và những ngƣời dùng tiến hành q trình đó.
Cú pháp lệnh: w [người-dùng]
Lệnh w đƣa ra thông tin về ngƣời dùng hiện thời trên hệ thống và quá trình họ đang thực hiện. Nếu chỉ ra ngƣời dùng trong lệnh thì chỉ hiện ra các quá trình liên quan đến ngƣời dùng đó.