Mỗi user có thể thuộc về nhiều nhóm Tài khản superuser có uid=gid=0 Users-Người dùng: Mọi truy nhập vào hệ thống đều thông qua một tài khoản của người sử dụng.. Vậy việc quản lý cá
Trang 1Báo cáo đề tài môn: Mạng Căn Bản Nội dung:Quản lý user và nhóm
user (group) GVHD: Nguyễn Thị Thanh Vân
Nhóm thực hiện: 15.
Thành viên:
1 Nguyễn Công Hiếu
2 Nguyễn Văn Thảo
3 Nguyễn Chí Hiếu
4 Lâm Chí Hiền
5 Chiếng Mành Sâm
i User Và Nhóm User:
Tổng quan:
Trên Linux có hai loại tài khoản User, đó là tài khoản User hệ thống và tài khoản User Trong các tài khoản User thì tài khoản user root là quan trọng nhất Tài khoản này được tự động tạo ra khi cài đặt Linux Tài khoản này không thể đổi tên hoặc xóa bỏ User root còn được gọi là superuser vì có toàn quyền trên hệ thống Chỉ làm việc với tài khoản user root khi muốn thực hiện công tác quản trị hệ thống, trong các trường hợp khác chỉ nên làm việc với tài khoản user bình thường
Mỗi user và nhóm có các đặc điểm sau đây:
Tên mỗi user là duy nhất, chỉ có thể đặt tên chữ thường
Mỗi user có một mật mã định danh duy nhất (uid)
Mỗi nhóm có một tên duy nhất (gid)
Trang 2 Mỗi user có thể thuộc về nhiều nhóm
Tài khản superuser có uid=gid=0
Users-Người dùng:
Mọi truy nhập vào hệ thống đều thông qua một tài khoản của người sử dụng Mỗi tài khoản được thiết lập bởi người quản trị
hệ thống ngoại trừ tài khoản root (và một số tài khoản hệ thống) Mặc dù một số hệ Linux chỉ có một người dùng nhưng cũng không nên dùng tài khoản root cho các hoạt động thường ngày Hầu hết các hệ thống cho phép nhiều người truy nhập vào Vậy việc quản lý các tài khoản, các thư mục liên quan là một khía cạnh quan trọng trong việc quản trị hệ thống Linux
Tài khoản của người quản trị
Trong quá trình cài đặt Linux chúng ta khởi tạo người sử dụng root cho hệ thống Đây là superuser, tức là người sử dụng đặc biệt có quyền không giới hạn Sử dụng quyền root chúng ta rất thấy thoải mái vì chúng ta có thể làm được thao tác mà không phải lo lắng gì đết xét quyền truy cập này hay khác Tuy nhiên, khi hệ thống bị sự cố do một lỗi lầm nào đó, chúng ta mới thấy
sự nguy hiểm khi làm việc như root
Hãy chỉ dùng quyền root khi bạn không có cách nào khác
Một điều quan trọng là không phải tài khoản superuser nào cũng gọi là root, mặc dù nó được tạo mặc định là root khi cài đặt Linux Nó có thể có tên bất kỳ nhưng thường được dùng nhất dưới tên root Tài khoản này được định nghĩa là tài khoản có UserID là 0 , các userID được định nghĩa trong file /etc/passwd
Cần phân biệt bạn đang login như root hay người sử dụng thường thông qua dấu nhắc của shell
login: tuanna
Password:
Last login: Sat Oct 28 14:30:15 from 172.16.10.199
[tuanna@pascal tuanna]$ su –l root
Password:
[root@pascal /root]#
Dòng thứ tư với dấu $ cho thấy ta đang kết nối như một người sử dụng thường (tuanna) Dòng cuối cùng với dấu # cho thấy bạn đang thực hiện các lệnh như root Lệnh su user_name cho phép bạn thay đổi login dưới một user khác (user_name) mà không phải logout rồi login lại
Trang 3 Bạn cần tạo các tài khoản (account) cho người sử dụng thường sớm nhất
có thể được (đầu tiên là cho bản thân bạn) Với những server quan trọng
và có nhiều dịch vụ khác nhau, thậm trí bạn có thể tạo ra các superuser thích hợp cho từng dịch vụ để tránh dùng root cho các công tác này Ví
dụ như superuser cho công tác backup chỉ cần chức năng đọc (read-only)
mà không cần chức năng ghi
Groups- Nhóm
Mọi người dùng trong các hệ unix hay Linux đều thuộc về một nhóm Nhóm dùng để gom nhóm các users có chung một quyền hoặc chính sách riêng đối với hệ thống nhằm tạo thuận lợi trong việc quản trị hệ thống Linux Ví dụ như trong một cơ quan, có nhiều phòng ban, mỗi phòng ban
có các users và các users của các phòng ban khác nhau sẽ có các chính sách bảo mật khác nhau Các users thường chỉ được sử dụng tài nguyên
hệ thống một cách có hệ thống Chẳng hạn các users của văn phòng và các phòng nghiên cứu được sử dụng các tài nguyên sau:
Sử dụng e-mail để trao đổi thông tin
Sử dụng các chương trình chat, icq để trao đổi tin tức
Truy cập đến các file server trong công ty
Không được login vào các máy chủ, không được chạy chương trình trên máy chủ
Tuy nhiên các users của phòng quản trị hệ thống có thể có các quyền ưu tiên hơn:
Bao gồm các quyền của người dùng bình thường trên
Có quyền thực thi một số lệnh đặc biệt dành cho quản trị hệ thống
Có thể login vào server
Các nhóm được đặt quyền để các thành viên của nó có thể truy nhập đến các thiết bị, file, hệ thống file hoặc toàn bộ máy tính mà những người khác nhóm có thể bị hạn chế
Các thông tin về nhóm được lưu trong file /etc/groups:
Trang 4suse:~ # more /etc/group
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:
sys:x:3:
kmem:x:9:
wheel:x:10:
mail:x:12:cyrus
news:x:13:news
uucp:x:14:uucp,fax,root,fnet,tuanna shadow:x:15:root,gdm
named:x:44:named
dbmaker:x:52:
oinstall:x:54:
dba:x:55:oracle
localham:x:56:dpbox
logmastr:x:57:
users:x:100:
nogroup:x:65534:root
suse:~ #
Trang 5 Các dòng có dạng như sau:
group name:group password:group ID:users
group name: Tên duy nhất xác định một nhóm, thường dài tối đa 8
ký tự
group password:Trường mật khẩu đã được mã hoá, thường để trắng hoặc là dấu * Cũng có thể là mật khẩu mà user muốn gia nhập nhóm phải nhập vào Tuy nhiên không phải phiên bản nào của Unix đều sử dụng trường này do đó nó được để trống để tương thích với nhau
group ID: Số duy nhất cho mỗi nhóm, được sử dụng bởi hệ điều hành
users : Chứa danh sách mọi tên người dùng thuộc nhóm đó, phân cách bởi dấu "," Danh sách này không kể những người dùng thuộc nhóm đó theo số hiệu nhóm đã được ghi trong file /etc/passwd của người đó (tức là những thành viên mặc định của nhóm)
Mọi hệ Linux đều có một số các nhóm mặc định thuộc hệ điều hành Các nhóm này thường là bin,mail,uucp,sys,… Do vậy không nên cho một người sử dụng thuộc vào nhóm này vì chúng sẽ có quyền tương đương như root Chỉ có các đăng nhập hệ thống mới cho phép truy nhập đến các nhóm của hệ điều hành
Các nhóm mặc định của hệ thống:
1 root/wheel/system: thường dùng để cho phép người dùng sử dụng lệnh su để chuyển lên quyền root
2 deamon: dùng để chỉ những người làm chủ thư mục spool ( mail, squid, lpd,…)
3 kmem: dùng cho các chương trình truy cập đến kernel, bộ nhớ trực tiếp ( ps )
4 tty: làm chủ tất cả các file đặc biệt dùng làm việc với terminal
ii Tập Tin /etc/passwd:
Trang 6 Tập tin /etc/passwd đóng một vai trò sống còn đối với một hệ thống Unix Mọi người đều có thể đọc được tập tin này nhưng chỉ có root mới có quyền thay đổi nó Tập tin /etc/passwd được lưu dưới dạng text như đại đa số các tập tin cấu hình của Unix
[oracle@appserv oracle]$ more /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
tuanna:x:501:501:Tuanna:/home/tuanna:/bin/bash
Mỗi user được lưu trong một dòng gồm 7 cột
Cột 1 : tên người sử dụng
Trang 7 Cột 2 : mã liên quan đến passwd cho Unix chuẩn và ‘x’ đối với Linux Linux lưu mã này trong một tập tin khác /etc/shadow mà chỉ có root mới có quyền đọc
Cột 3:4 : user ID:group ID
Cột 5: Tên đầy đủ của người sử dụng Một số phần mềm phá password sử dụng dữ liệu của cột này để thử đoán password
Cột 6: thư mục cá nhân
Cột 7: chương trình sẽ chạy đầu tiên sau khi login (thường là shell) cho user
Tập tin mở đầu bởi superuser root Chú ý là tất cả những user có user ID
= 0 đều là root!!! Tiếp theo là các user hệ thống Đây là các user không
có thật và không thể login vào hệ thống Cuối cùng là các user bình thường
iii Tập Tin /etc/shadow:
Ví dụ: donald: HcX5zb8cpoxmY: 11088:0:99999:7:0::
Là tập tin văn bản chứa thông tin về mật khẩu của các tài khoản User, định dạng của dòng gồm nhiều cột giá trị, dấu “:” được dùng
để phân cách các cột Ý nghĩa của các cột có giá trị như sau:
Cột 1: Tên người sử dụng, tên này cũng giống với tên trong /etc/passwd
Cột 2: Mật khẩu đã được mã hóa Để trống – không có mật khẩu, dấu “*” – tài khoản bị tạm ngưng (Disable)
Cột 3: Số ngày kể từ lần cuối thay đổi mật khẩu (01/01/1970)
Cột 4: Số ngày trước khi có thể thay đổi mật khẩu, giá trị
“0”
Cột 5: Số ngày mật khẩu có giá trị 99999 có nghĩa là mật khẩu có giá trị vô thời hạn
Cột 6: Số ngày cảnh báo User trước khi mật khẩu hết hạn
Cột 7: Số ngày sau khi mật khẩu hết hạn tài khoản sẽ bị xóa Thường có giá trị 7 (1 tuần)
Cột 8: Số ngày kể từ khi tài khoản bị khóa (Tính từ 01/01/1970)
iv Tập Tin /etc/group:
Là tập tin văn bản chứa thông tin về nhóm User trong máy Mọi User đều có thể đọc tập tin này nhưng chỉ có Root mới có quyền thay đổi Hình sau trình bày một tập tin /etc/group
Trang 10 Mỗi dòng trong tập tin chứa thông tin về các nhóm User trên máy, định dạng của dòng gồm nhiều cột giá trị, dấu “:” được sử dụng để phân cách các cột
Ý nghĩa các cột giá trị như sau:
Cột 1: Tên nhóm
Cột 2:Mật khẩu được mã hóa Để trống – không có mật khẩu, dấu “*” – tài khoản bị tạm ngưng (Disable)
Cột 3: Mã nhóm (Gid)
Cột 4: Danh sách các User thuộc nhóm
Trang 11v Các Lệnh Quản Lý User:
Có hai cách để tạo một tài khoản user :dùng dòng lệnh và tương tác trực tiếp với giao diện người dùng
Dùng dòng lệnh:có 3 lệnh là tạo User,thay đổi thông tin User và xóa User
Tạo User sử dùng lênh “useradd” hoặc “adduser”
Cú pháp:userdd [option] [username_new]
Option Miêu Tả
-c Thuộc tính mô tả người dùng
VD:useradd –c “thông tin user” username -d -Tạo thư mục đăng nhập cho người dung
vd:useradd –d </thumuc> –c “ ” username -e -Thiết đặt thời gian (YYYY-MM-DD) tài khoản người dùng sẽ bị
hủy bỏ Vd:useradd –e <yyyy/mm/dd> -c “” username -f -số ngày tài khoản người dùng sẽ hết hiệu lực
Vd:useradd –f <sốngày> username -g Xác đinh nhóm người dùng
Vd:useradd -g <nhóm> username -G Xác định nhóm phụ nếu có
Vd:useradd –g <nhom1> -G <nhóm2> user -l Tạo user người dùng nhưng không lưu vào database
-M Không tạo thư mực người dùng(home)
Vd:useradd –M username -m Sao chép toàn bộ nội dung của file /etc/skel vào thư mục ngươi
dùng nếu hệ thống chưa có thư mục người dùng Vd:useradd – m username
-r Tạo một account hệ thống
Trang 12-o Tạo một user với UID là không duy nhất(non_unique) nó thường
kết hợp với lệnh -u -u Tạo một UID duy nhất cho người dùng,nếu thêm thuộc tính –o thì
nó không là UID duy nhất Vd:useradd –u <UID> -o username -k Một số khóa nếu bạn thêm vào với các giá trị của nó sẽ được áp
dụng cho tài khoản sắp tạo -p Tạo password cho user
Cách thay đổi password của User:
Cú pháp:passwd username
Username:là user name cần thay đổi password
Mặc định thì password không bị hết hạn vì thế để bảo mật ta dùng thêm lệnh chage để cài đặt chính sách password
Cú pháp:chage <option> username
Cách thay đổi thông tin User:
Cú pháp:usermod <option> username
Các option trong cú pháp thay đổi thông tin người dùng cũng giống như các option trong cú pháp tạo một tài khoản người dùng
Cách xóa một User:
Để xóa một user dùng lệnh:userdel
Cú pháp:userdel [-r] username
Nếu không có –r thì xóa nhưng giữ lại mọi thông tin người dùng đã tạo
Nếu có –r thì xóa hết thông tin người dùng
vi Các Lệnh Quản Lý Nhóm User:
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
Groupadd: Thêm vào một nhóm người sử dụng
Trang 13 Cú pháp: groupadd g gid o]] r] f]
[-K KEY=VALUE] group
Ý nghĩa:
-g gid :số id của nhóm cần tạo, là một số không âm, mặc định là
số id nhỏ nhất là 500 và lớn hơn tất cả các nhóm khác, từ 0 đến
499 là của tài khoàn hệ thống
-o cho phép gid không cần là số duy nhất
-r: thêm vào nhóm thuộc tài khoản hệ thống, gid mặc định là nhỏ hơn 499 nếu không có tùy chọn –g
-f: bộ thông báo lỗi khi hệ thống đã tồn tại nhóm này rồi và nhóm đó sẽ không được thay đổi hay thêm lại lần nữa Tùy chọn này cũng thay đổi cách thức làm việc của tùy chọn –g, khi gid không là duy nhất, và không có tùy chọn –o, thì việc tạo nhóm sẽ mặc định là không có –g hay có –o
-K KEY=VALUE
K hoa)thay đổi những biến mặc định trong file /etc/login.defs (chỉ có giá trị với nhóm được tạo)
Ví dụ Example: -K GID_MIN=100 -K GID_MAX=499
Chú ý:nếu viết -K GID_MIN=10,GID_MAX=499 thì sẽ ko thực hiện
mà phải viết –K GID_MIN=10 –K GID_MAX=499
KEY:
GID_MAX, GID_MIN: Phạm vi GID được sử dụng cho việc tạo ra các regular group với các lệnh: useradd, useradd, hoặc newusers MAX_MEMBERS_PER_GROUP: thành viên tối đa trong group entry(1 dòng) Khi đạt tối đa,một dòng mới(group entry) được bắt đầu trong file / etc / group (có cùng một tên,cùng một mật khẩu, và cùng một gid) Mặc định là 0, tức là ko có giới hạn số lượng thành viên Tính năng phân nhóm này cho phép để giới hạn độ dài NIS group không quá 1024 kí tự Nếu bạn cần phải thực thi giới hạn bạn có thể
sử dụng giá trị 25
SYS_GID_MAX, YSY_GID_MIN: giới hạn group id được sử dụng cho việc tạo ra các nhóm hệ thống
Groupdel
groupdel group
xoa nhom, ten nhom xao phai da ton tai
Groupmod: thay đổi các thông số của tài khoản tập tin hệ thống
groupmod [options] group
option:
-g, gid gid: thay đổi gid
-n, new-name: tên nhóm mới: đổi tên nhóm
Trang 14 -o, non-unique: gid không cần là số duy nhất
Gpasswd:dùng để quản trị nhóm
gpasswd group
gpasswd -a user group
gpasswd -d user group
gpasswd -R group
gpasswd -r group
gpasswd [-A user, ] [-M user, ] group
Mỗi nhóm có thể có quản trị viên, người dùng và một mật khẩu
Quản trị hệ thống có thể dùng thông số -a để lập quản trị nhóm, -m để lập người dùng nhóm và có tất cả các quyền của quản trị viên nhóm
và người dùng nhóm, quản trị nhóm có thể adduser xóa người dùng bằng thông số -a hay –d
-r xóa mật khẩu nhóm, khi không có mật khẩu thì thành viên nhóm chỉ
có thể tham gia nhóm bằng lệnh newgrp
Tùy chọn –r vô hiệu hóa quyền truy cập vào nhóm thông qua newgrp (1) lệnh
Gpasswd được gọi bởi quản trị viên nhóm xác lập mật khẩu nhóm, nếu mật khẩu được xác lập thì thành viên nhóm có thể sử dụng lệnh newgrp mà không cần có mật khẩu, còn các thành viên khác phải có mật khẩu
newgrp - đăng nhập vào một nhóm mới
newgrp [nhóm]
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ể thoát ra khỏi nhóm (logout) Điều này có thể được thực hiện qua câu lệnh newgrp