Chương 4

Quản trị tài khoản và nhóm người dùng

1

Nội dung

1. Quản trị tài khoản và nhóm người dùng 2. Quản trị chủ sở hữu và quyền trên file 3. Sử dụng RootSudo

2

I. Quản trị tài khoản và nhóm người dùng

 Các khái niệm.  Quản trị tài khoản.  Quản trị nhóm người dùng.  Các tập tin liên quan.

3

Các khái niệm

 Tài khoản :

 Mỗi tài khoản có duy nhất một tên và id (UID).  Mỗi tài khoản có một password  Mỗi tài khoản thuộc về ít nhất một nhóm (gọi là primary hay default group). Các nhóm khác primary group gọi là secondary groups.

 Mỗi tài khoản có thể có một thư mục cá nhân trùng

với tên tài khoản (thường nằm trong /home) - là nơi tài khoản lưu dữ liệu cá nhân.

4

Các khái niệm

 Tài khoản :

 Các thông số khởi tạo cho tài khoản mặc định được

khai báo trong các file : /etc/default/useradd, /etc/login.defs  Login directory  Shell  User’s enviroment  …

 Thông tin môi trường làm việc người dùng - /etc/skel/

 Thư mục /etc/skel/ chứa các tập tin cấu hình môi trường làm

việc của người dùng.

 Các file cấu hình này sẽ được chép vào thư mục cá nhân của

tài khoản.

5

Các khái niệm

 Thông tin tài khoản được lưu tại local, trong

các file /etc/passwd và /etc/shadow  Thông tin tài khoản có thể được quản lý tập trung

thông qua dịch vụ NIS hay LDAP.

6

Các khái niệm

 Tài khoản root – tài khoản Superuser

 Tài khoản có quyền cao nhất trên hệ thống  Đảm nhiệm việc quản trị và bảo trì hệ thống  Sử dụng: không login trực tiếp

 Lệnh sudo

7

Các khái niệm

 Nhóm người dùng :

 Mỗi nhóm có duy nhất một tên và id (GID).  Mỗi nhóm có thể chứa một hay nhiều thành viên.  Thông tin về nhóm lưu tại local trong file

/etc/group

8

Các lệnh quản trị người dùng

 Tạo tài khoản người dùng  Thay đổi thông số (thuộc tính) của tài khoản  Xem thông tin về tài khoản  Tạm khóa tài khoản  Xóa tài khoản.

9

Các lệnh quản trị người dùng Tạo tài khoản

Lệnh useradd :

useradd [options] login

Một số options

-c comment

Mô tả thông tin tài khoản người dùng

Gán User ID

-g primary_group

Tên primary group hoặc GID

-G group1[,group2,…]

Các suplementary groups của tài khoản

-u uid useradd user1 useradd -g accnt user2

10

useradd user2 //p grp la user2 useradd -g accnt –G sv,frt user2 useradd -u 1500 –e “2013-05-30” user3

11

Các lệnh quản trị người dùng Quản lý/thay đổi mật khẩu

Lệnh passwd :

passwd [options] [login]

Một số options

Hiển thị tình trạng của tài khoản

Xóa bỏ mật khẩu của tài khoản người dùng (*)

Khóa tài khoản người dùng

Mở khóa tài khoản người dùng

-S -d -l -u

• useradd user1 passwd user1

12

Các lệnh quản trị người dùng Thay đổi thuộc tính Lệnh usermod :

usermod [options] login

Một số options

-l loginName

Thay đổi tên tài khoản

Thay đổi nhóm primary

Thay đổi danh sách nhóm phụ

Thay đổi thư mục cá nhân của tài khoản

Khóa tài khoản

Mở khóa tài khoản

-g initial_group -G group1[,…] -d home_dir -L -U usermod -c “CNPM” –g studs user1

13

Các lệnh quản trị người dùng Xóa tài khoản Lệnh userdel :

userdel [-r] login

//Xóa tài khoản, không xóa data của tài khoản userdel user1 //Xóa tài khoản và xóa data của tài khoản (thư mục cá

nhân và mail spool)

userdel -r user2

14

Các lệnh quản trị người dùng Xem thông tin về tài khoản

 Sử dụng các lệnh : id [username] groups [username]  Xem trực tiếp file /etc/passwd và /etc/shadow

15

Các lệnh quản trị nhóm người dùng

 Tạo nhóm  Thay đổi thuộc tính nhóm  Xóa nhóm  Xem thông tin

16

Các lệnh quản trị nhóm người dùng Tạo nhóm Lệnh groupadd :

groupadd [options] group

// tạo group students với mã nhóm (gid) mặc định groupadd students // tạo group teachers với gid tùy chọn groupadd –g 2000 teachers

17

Các lệnh quản trị nhóm người dùng Xem/Thay đổi thuộc tính  Lệnh groupmod :

groupmod [options] group

//Thay đổi tên nhóm groupmod –n studs students //Thay đổi mã nhóm (gid) groupmod –g 2001 teachers

 Xem file /etc/group để có thông tin về nhóm

18

Các lệnh quản trị nhóm người dùng Xóa nhóm  Lệnh groupdel :

groupdel group

// xóa nhóm students

groupdel students

19

Các tập tin liên quan

 Tập tin /etc/passwd và /etc/shadow  Tập tin /etc/group  Tập tin /etc/login.defs  Tập tin /etc/default/useradd

20

Các tập tin liên quan Tập tin /etc/passwd

username:password:uid:gid:gecos:homedir:shell

• Trong đó: – username – password – uid – gid – gecos – homedir – shell

tên tài khoản Mật khẩu đã được mã hóa. User ID. Group ID. Thông tin thêm về user (ghi chú). Thư mục home của user. Shell đăng nhập của người dùng.

• Ví dụ :

root:x:0:0:root::/bin/bash

21

Các tập tin liên quan Tập tin /etc/shadow

username:passwd:d1:d2:d3:d4:d5:d6:reserved

• Trong đó

• Lưu ý : các giá trị số ngày tính theo mốc từ 1/1/1970

– username Tương ứng username trong /etc/passwd – passwd Mật khẩu đã được mã hoá – d1 Số ngày kể từ lần cuối thay đổi mật khẩu – d2 Số ngày trước khi có thể thay đổi mật khẩu – d3 Số ngày mật khẩu có giá trị – d4 Số ngày cảnh báo user trước khi mật khẩu hết hạn – d5 Số ngày sau khi mật khẩu hết hạn tài khoản sẽ bị khoá – d6 Số ngày kể từ khi tài khoản bị khoá.

22

Các tập tin liên quan Tập tin /etc/shadow (tt) • Tài khoản bị khóa nếu có ký tự ! đứng trước passwd. • Tài khoản không có mật khẩu và không thể đăng nhập hệ

thống nếu có giá trị ! ở trường passwd.

• Tài khoản không có mật khẩu nếu có giá trị trống ở trường

passwd.

• Tài khoản hệ thống , không thể đăng nhập hệ thống nếu có giá

trị * ở trường passwd

• Ví dụ :

root:$1$dxtC0Unf$2SCguIhTlrcnkSH5tjw0s/:12148:0:99999:7:::

– – daemon:*:12148:0:99999:7::: – adm:*:12148:0:99999:7::: – nobody:*:12148:0:99999:7::: – xfs:!:12148:0:99999:7:::

23

Các tập tin liên quan Tập tin /etc/group

groupname:password:gid:members

• Trong đó :

– groupname – password – gid – members

tên group mật khẩu (tùy chọn) group id danh sách thành viên (đây là secondary group của thành viên)

• Ví dụ :

root:x:0: bin:x:1:bin,daemon students:x:500:user1,user2

24

Các tập tin liên quan Tập tin /etc/login.defs

• Cú pháp :

trường_thông_tin Giá_trị

• Ví dụ :

• MAIL_DIR • PASS_MAX_DAYS • PASS_MIN_DAYS • PASS_MIN_LEN • PASS_WARN_AGE • UID_MIN • UID_MAX • GID_MIN • GID_MAX • CREATE_HOME

/var/spool/mail 99999 0 5 7 500 60000 500 60000 yes

25

Các tập tin liên quan Tập tin /etc/default/useradd • Cú pháp :

trường_thông_tin=giá_trị

• Ví dụ :

GROUP=100 Nhóm mặc định HOME=/home Thư mục chứa thư mục cá nhân INACTIVE=-1 Số ngày tối đa được thay đổi mật

khẩu sau khi mật khẩu hết hạn sử dụng.

EXPIRE= Ngày hết hạn sử dụng tài khoản SHELL=/bin/bash Shell mặc định của tài khoản SKEL=/etc/skel Thư mục chứa thông tin môi trường

làm việc

26

II.Quản trị chủ sở hữu và quyền

 Quản trị chủ sở hữu (ownership)

 Xem thông tin  Thay đổi chủ sở hữu

 Quản trị quyền truy cập file/thư mục

(permissions)  Thay đổi quyền truy cập  Quyền default  Các quyền đặc biệt

27

Các khái niệm

 Chủ sở hữu : là tài khoản tạo ra file/thư mục

 Nhóm sở hữu : là nhóm các user cùng có quyền

nhất định trên file/thư mục.  Khi file/thư mục được tạo, nhóm sở hữu là primary

group của tài khoản tạo file/thư mục

 Sử dụng lệnh ls –l để xem thông tin về sở hữu

và quyền trên file/thư mục

28

Các khái niệm

 Quyền truy cập file/thư mục gồm các quyền :

read, write, execute (đọc, ghi, thực thi)  Quyền read, write

 Đối với file : có quyền đọc và chỉnh sửa dữ liệu trong file.  Đối với thư mục : có quyền đọc và thay đổi nội dung thư

mục.

 Quyền execute

 Đối với file script/binary : có quyền thực thi  Đối với thư mục : có quyền vào thư mục bằng lệnh cd  Có 3 quyền đặc biệt có thể áp dụng cho file/thư

mục : SUID, SGID, Sticky bit

29

Các khái niệm

 Bộ quyền của file/thư mục là các quyền mà 3 đối tượng (chủ sở hữu, nhóm sở hữu và các user khác) có trên file/thư mục đó

 Bộ quyền default được gán đặt tự động khi file/thư mục

được tạo

 Có thể thay đổi chủ sở hữu và nhóm sở hữu của file/thư

mục, bằng lệnh chown, chgrp

 Có thể thay đổi bộ quyền trên file/thư mục, bằng lệnh

chmod

30

Các khái niệm

ls –l /home/ti total 4 drwxr-xr-x 2 ti users 4096 Mar 27 09:36 bin drwxr-xr-x 2 ti users 4096 Mar 27 09:36 public_html -rw-r--r-- 1 ti users 4096 Mar 27 09:36 .bashrc -rw-r—-r-- 1 ti users 19 Apr 06 11:29 vd.txt

owner group

Owner’s permissions

group’s permissions

other’s permissions

31

Các lệnh quản trị Xem thông tin về sở hữu, quyền

ls –l /tmp/vd.txt ls –l /tmp

 Xem thông tin file: /tmp/vd.txt hoặc  Xem thông tin thư mục: /tmp hoặc

ls –ld /tmp ls –l /

32

Các lệnh quản trị Thay đổi sở hữu (owner và group)  Lệnh chown và chgrp chown [options] new_owner[:new_group] file … chgrp [options] new_group file … //thay đổi chủ sở hữu chown sv vd.txt //thay đổi chủ sở hữu và nhóm sở hữu chown sv:studs vd.txt //thay đổi nhóm sở hữu chown :studs vd.txt studs vd.txt chgrp //thay đổi chủ sở hữu tất cả các file trong nhánh cây thư mục

chown -R sv:studs /tmp chgrp -R studs /tmp

33

Các lệnh quản trị Thay đổi quyền truy cập  Lệnh chmod chmod [options] mode[,mode] file …

Biểu diễn mode, bằng 2 cách (1) Sử dụng các ký tự (2) Sử dụng số

quyền read (r) quyền write (w) quyền execute (x) Không có quyền (-)

Không có quyền

4 2 1 0

34

u user (owner) g group o others a tất cả (u, g và o) + thêm quyền - loại bỏ quyền = gán quyền r quyền read w quyền write x quyền execute -

Các lệnh quản trị Thay đổi quyền truy cập - một số ví dụ

Vd1 : thay đổi bộ quyền của file contacts.odt thành rw–rw–r– –

chmod u=rw,g=rw,o=r contacts.odt chmod 664 contacts.odt

chmod g–w contacts.odt chmod 644 contacts.odt

Vd2 : tắt quyền write của Group Vd3: thay đổi bộ quyền cho tất cả có quyền read chmod a=r contacts.odt chmod 444 contacts.odt

35

Các lệnh quản trị Thay đổi quyền truy cập - một số ví dụ

Vd4 : loại quyền x với mọi user chmod -x *.php

Vd5 : thay đổi bộ quyền của thư mục và tất cả các file/thư

mục con trong nhánh cây thư mục chmod -R ug+rw lecture

Vd6 : thay đổi bộ quyền của owner và group chmod u=rwx,ug=r desktop.jpg

36

Các lệnh quản trị Thay đổi quyền truy cập - một số ví dụ

Vd7: Thay đổi bộ quyền trên thư mục mydir

thành bộ quyền mới là rwx r-x r-x

chmod u=rwx,g=rx,o=rx mydir chmod a=rx,u+w mydir chmod 755 mydir • …

37

Các lệnh quản trị Thay đổi bộ quyền default  Sử dụng lệnh umask (mặt nạ) để thay đổi bộ

quyền default

//xem umask hiện tại umask //thay đổi bộ quyền default umask 0022  Thay đổi bộ quyền default bằng lệnh umask chỉ

có giá trị trong phiên làm việc hiện hành  Đưa lệnh umask vào file cấu hình để thiết lập bộ quyền default được duy trì cho mọi phiên làm việc sau đó. Vd : file /etc/profile

38

Các lệnh quản trị Các quyền đặc biệt  Set UserID (SUID) : chỉ áp dụng cho các file

binary

chmod u+s /path/to/command/binary

 Set GroupID (SGID) : áp dụng cho các file

binary và các thư mục

chmod g+s /path/to/command/binary chmod g+s /path/to/directory

 Sticky Bit : chỉ áp dụng cho các thư mục

chmod o+t /path/to/directory

39

Các lệnh quản trị Các quyền đặc biệt  Công dụng :

 SUID : Khi bit SUID được gán cho lệnh, lệnh sẽ luôn luôn thực thi với User ID của user tạo ra lệnh thay vì của user gọi thực thi lệnh. Ví dụ : lệnh passwd

 SGID : Khi bit SGID được gán cho lệnh, lệnh sẽ chạy với Group ID của group là chủ nhân của lệnh thay vì là GID của user gọi thực thi lệnh. Ví dụ : lệnh write

Khi bit SGID được gán cho thư mục, tất cả các file tạo đặt trong thư mục sẽ có cùng group owner là group owner của thư mục

 Sticky Bit : Các file được tạo trong thư mục có Sticky Bit sẽ chỉ được xóa bởi root hoặc user là chủ nhân tạo ra file _ các user khác không thể xóa file, thậm chí kể cả khi user có quyền write trên thư mục cha. Ví dụ : thư mục /tmp 40

III. Sử dụng RootSudo  Sử dụng su

 Sử dụng su để chuyển sang dùng tài khoản khác

trong cùng một login session

Ví dụ : tài khoản sv có thể chuyển sang dùng quyền của

//hoặc su

tài khoản khác bằng lệnh su su root su -c “cat /etc/shadow” su user1 su -c “mkdir /home/user1/test” user1

 Để thoát và quay lại tài khoản trước đó : dùng lệnh

exit

41

Sử dụng RootSudo  Sử dụng sudo :

 Cho phép một user chạy các lệnh/chương trình

bằng quyền của root (or user khác) mà không cần biết password của root (or user khác)

 Sử dụng sudo : sudo chown bob:bob /home/bob/* sudo /usr/sbin/useradd -m john  Thay đổi cấu hình sudo trong file /etc/sudoers :

sử dụng visudo

User_Alias Host_Alias = (Runas_Alias) Cmnd_Alias

42

Sử dụng RootSudo Ví dụ cấu hình file /etc/sudoers

 Xem hướng dẫn: man sudo , man sudoers

Defaults:user1 timestamp_timeout=0 root ALL=(ALL:ALL) ALL %sudo ALL=(ALL:ALL) ALL user1 host1 = (operator) /bin/ls, /bin/kill, /usr/bin/lprm user2 host1 = (operator:operator) /bin/ls, (root) /bin/kill,

/usr/bin/lprm

43