Hệ ñiều hành UNIX-Linux
Chương 5. Quản lý tài khoản người dùng
1
Unix operating system - Nguyen Tri Thanh - Sep-10
Tài khoản người dùng (cid:1) Hệ ñiều hành ña người dùng cần phân biệt người dùng khác
nhau
(cid:1) Mọi truy cập hệ thống Linux ñều thông qua tài khoản người
dùng
(cid:1) Mỗi người sử dụng ñược gắn với tên duy nhất (cid:1) Khi cài ñặt hệ ñiều hành Linux root sẽ ñược tự ñộng tạo ra
ñược xem là thuộc về siêu người dùng
(cid:1) Chỉ nên ñăng nhập root khi thực sự cần thiết, và hãy ñăng
2
Unix operating system - Nguyen Tri Thanh - Sep-10
nhập vào hệ thống với t- cách là một người dùng bình thường.
Các file liên quan ñến tài khoản
(cid:1) Danh sách người dùng cũng như các thông tin tương ứng
ñược lưu trữ trong file /etc/passwd
mail:x:8:12:mail:/var/spool/mail: games:x:12:100:games:/usr/games: gopher:x:13:30:gopher:/usr/lib/gopher-data: bien:x:500:0:Nguyen Thanh Bien:/home/bien:/bin/bash sangnm:x:17:100:Nguyen Minh Sang:/home/sangnm:/bin/bash lan:x:501:0:Lan GNU:/home/lan:/bin/bash (cid:2) Tên người dùng (username) (cid:2) Mật khẩu người dùng (không lưu trực tiếp ở ñây) (cid:2) Chỉ số người dùng (user id) (cid:2) Các chỉ số nhóm người dùng (group id) (cid:2) Tên ñầy ñủ hoặc các thông tin khác về tài khoản người dùng (cid:2) Thư mục ñể người dùng ñăng nhập (cid:2) Shell ñăng nhập (chương trình chạy lúc ñăng nhập) (cid:2) Mật khẩu của các tài khoản ñược lưu trữ trong file /etc/shadow
3
Unix operating system - Nguyen Tri Thanh - Sep-10
Thêm người dùng
useradd [tùy-chọn]
(cid:2) -c, comment : soạn thảo trường thông tin về người dùng. (cid:2) -d, home_dir : tạo th- mục ñăng nhập cho người dùng. (cid:2) -e, expire_date : thiết ñặt thời gian (YYYY-MM-DD) tài khoản
người dùng sẽ bị hủy bỏ.
(cid:2) -f, inactive_days : tùy chọn này xác ñịnh số ngày trước khi mật khẩu của người dùng hết hiệu lực khi tài khoản bị hủy bỏ (cid:2) -g, initial_group : tùy chọn này xác ñịnh tên hoặc số khởi tạo
ñăng nhập nhóm người dùng
(cid:2) -G, group : danh sách các nhóm phụ mà người dùng cũng là
thành viên thuộc các nhóm ñó
(cid:2) -m : với tùy chọn này, thư mục cá nhân của người dùng sẽ ñược
tạo nếu nó chưa tồn tại.
4
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1) Tùy chọn
Thêm người dùng (tiếp)
useradd -D [tùy-chọn] (cid:1) Khi tùy chọn -D ñược sử dụng, lệnh useradd sẽ bỏ qua các giá
nhân ñể tạo tên th- mục cá nhân mới
(cid:2) -e, default_expire_date : thay ñổi thời hạn hết giá trị của tài
khoản người dùng
(cid:2) -f, default_inactive : xác ñịnh thời ñiểm hết hiệu lực của mật
khẩu ñăng nhập khi tài khoản người dùng bị xóa bỏ (cid:2) -g, default_group : thay ñổi chỉ số nhóm người dùng (cid:2) -s, default_shell : thay ñổi shell ñăng nhập
5
Unix operating system - Nguyen Tri Thanh - Sep-10
trị ngầm ñịnh và cập nhật các giá trị mới (cid:2) -b, default_home : thêm tên người dùng vào cuối th- mục cá
Tạo tài khoản không sử dụng lệnh useradd
(cid:2) vipw mở trình soạn thảo trên hệ thống và hiệu chỉnh bản sao tạm
của file /etc/passwd
(cid:2) Việc sử dụng file tạm và khóa file sẽ có tác dụng như một cơ chế khóa ñể ngăn việc hai người dùng cùng soạn thảo file một lúc (cid:2) Lúc ñó sẽ thêm dòng thông tin mới về người dùng cần tạo. Hãy
cẩn thận trong việc soạn thảo tránh nhầm lẫn (cid:2) Trường mật khẩu nên ñể trống và tạo mật khẩu sau (cid:2) Khi file này ñược lwu, vipw sẽ kiểm tra sự ñồng nhất trên file bị
thay ñổi
(cid:2) Nếu tất cả mọi thứ thích hợp thì có nghĩa là file /etc/passwd ñã
ñược cập nhật.
6
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1) Soạn thảo file /etc/passwd bằng vipw
Tạo tài khoản không sử dụng lệnh useradd
# mkdir /home/new
(cid:1) Tạo thư mục cá nhân của người dùng mới với lệnh mkdir
(cid:1) Sao chép các file từ thư mục /etc/skel/ thư mục lưu trữ các file
cần thiết cho người dùng) vào thư mục cá nhân vừa tạo
(cid:1) Thay ñổi quyền sở hữu và các quyền truy nhập file /home/new
với các lệnh chown và chmod # chown new /home/new # chmod go=u,go-w /home/new
# passwd new
7
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1) Thiết lập mật khẩu của người dùng với lệnh passwd
Thay ñổi thuộc tính người dùng
home_phone] [-m other] [-r service] [-q] [-u] [-v] [user]
(cid:1)Lệnh thay ñổi thông tin cá nhân người dùng chfn [-D binddn] [-P path] [-f name] [-o office] [-p phone] [-h
chsh [-D binddn] [-P path] [-s shell] [-l] [-q] [-u] [-v] [user]
ư
(cid:1)Thay ñổi shell ñăng nhập.
8
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1)Thay ñổi mật khẩu passwd user
Thay ñổi thuộc tính người dùng
usermod [tùy-chọn]
(cid:2)-c, comment : thay ñổi thông tin cá nhân của tài khoản người dùng. (cid:2)-d, home_dir : thay ñổi th- mục cá nhân của tài khoản người dùng. (cid:2)-e, expire_date : thay ñổi thời ñiểm hết hạn của tài khoản người dùng (YYYY-MM-DD). (cid:2)-g, initial_group : tùy chọn này thay ñổi tên hoặc số khởi tạo ñăng ư nhập nhóm người dùng. Tên nhóm phải tồn tại, và số của nhóm phải tham chiếu ñến một nhóm ñã tồn tại (cid:2)-G, group : thay ñổi danh sách các nhóm phụ mà người dùng cũng là thành viên thuộc các nhóm ñó (cid:2)-l, login_name : thay ñổi tên ñăng nhập của người dùng. Trong một số trường hợp, tên thư mục riêng của người dùng có thể sẽ thay ñổi ñể tham chiếu ñến tên ñăng nhập mới. (cid:2)-s, shell : thay ñổi shell ñăng nhập. (cid:2)-u, uid : thay ñổi chỉ số người dùng.
9
Unix operating system - Nguyen Tri Thanh - Sep-10
Xóa bỏ một người dùng (lệnh userdel)
userdel [-r]
10
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1) Xóa bỏ các thông tin về người dùng ñược ñưa ra trên dòng lệnh. người dùng này phải thực sự tồn tại. (cid:1) Tuỳ chọn -r có ý nghĩa: các file tồn tại trong thư mục riêng của người dùng cũng như các file nằm trong các thư mục khác có liên quan ñến người dùng bị xóa bỏ cùng lúc với thư mục người dùng (cid:1) Lệnh userdel sẽ không cho phép xóa bỏ người dùng khi họ ñang ñăng nhập vào hệ thống (cid:1)Ngoài ra cũng có thể xóa bỏ tài khoản của một người dùng bằng cách hiệu chỉnh lại file /etc/passwd
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ể
11
Unix operating system - Nguyen Tri Thanh - Sep-10
-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 toà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
Nhóm người dùng
root:x:0:root bin:x:1:root,bin,daemon daemon:x:2:root,bin,daemon
(cid:1) Nhóm người dùng chứa trong file /etc/group, file này có cách bố trí tương tự như file /etc/passwd
(cid:2) Tên nhóm người dùng (groupname) (cid:2) 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 yêu cầu mật khẩu (cid:2) Chỉ số nhóm người dùng (group id) (cid:2) Danh sách các người dùng thuộc nhóm ñó (users)
12
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1) Ý nghĩa từng trường
Thêm nhóm người dùng (cid:1) 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 (cid:1)Sử dụng lệnh
groupadd [tùy-chọn]
(cid:1)Tuỳ chọn
(cid:2) -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
(cid:2) -r : tùy chọn này ñược dùng khi muốn thêm một tài khoản
hệ thống
(cid:2) -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 ñè
# groupadd -r installer
13
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1)Ví dụ
Sửa ñổi các thuộc tính của một nhóm người dùng (cid:1)Sửa ñổi một nhóm người dùng
groupmod [tùy-chọn]
groupdel
(cid:1)Xóa một nhóm người dùng (lệnh groupdel) (cid:1)Xóa tên nhóm ñó trong file /etc/group (chỉ xóa ñược một nhóm khi không có người dùng nào thuộc nhóm ñó nữa) (cid:1)Ngoài ra có thể sử dụng lệnh groupdel ñể xóa một nhóm người dùng
(cid:2) 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
14
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:2) Tên nhóm phải thực sự tồn tại
Xác ñịnh người dùng ñang ñăng nhập
who [tùy-chọn]
(cid:2) -H, --heading : hiển thị tiêu ñề của các cột trong nội dung lệnh. (cid:2) -m : hiển thị tên máy và tên người dùng với thiết bị vào chuẩn. (cid:2) -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.
(cid:1) Tuỳ chọn
# who root tty1 Nov 15 03:54 lan pts/0 Nov 15 06:07
15
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1)Ví dụ
Xác ñịnh người dùng ñang ñăng nhập (cid:1)Liệt kê danh sách những người dùng ñang ñăng nhập
# users lan root
whoami who am i
(cid:1)Khi không nhớ biết tên ñăng nhập trong một phiên làm việc, hãy sử dụng lệnh whoami và who am i
# whoami lan # # who am i may9!lan pts/0 Nov 15 06:07
(cid:1)Ví dụ
16
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1)Có sự khác nhau một chút giữa whoami và who am i. khi ta ñăng nhập bằng 1 tài khoản rồi dùng lệnh su ñể chuyển sang một tài khoản khác
Xác ñịnh thông tin người dùng
id [tùy-chọn] [người-dùng]
(cid:1) ðư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 (cid:2) -g, --group : chỉ hiển thị chỉ số nhóm người dùng. (cid:2) -u, --user : chỉ hiển thị chỉ số của người dùng. (cid:2) --help : hiển thị trang trợ giúp và thoát.
17
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1) Ví dụ # id uid=506(lan) gid=503(lan) groups=503(lan) # id -g 503 # id -u 506 # id root uid=0(root)gid=0(root)groups=0(root),1(bin),2(daemon), 3(sys),4(adm),6(disk),10(wheel)
Xác ñịnh các quá trình người dùng ñang thi hành
w [người-dùng]
(cid:1) 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
18
Unix operating system - Nguyen Tri Thanh - Sep-10
(cid:1) Ví dụ # w root tty2 - 2:14pm 13:03 9.30s 9.10s /usr/bin/mc -P lan pts/1 192.168.2.213 3:20pm 0.00s 0.69s 0.10s w root pts/2 :0 3:33pm 9:32 0.41s 0.29s /usr/bin/mc -P