Quản lý người dùng và quyền truy nhập - soict

51
Quản lý người dùng và quyền truy nhập

Transcript of Quản lý người dùng và quyền truy nhập - soict

Quản lý người dùng vàquyền truy nhập

Nội dung• Quản lý người dùng

• Các file cấu hình• Root và sudo• Các lệnh quản lý người dùng• Các lệnh quản lý người dùng• Các lệnh quản lý nhóm

• Quyền truy nhập• Giới thiệu• Quyền truy nhập trên tệp và thư mục• Thay đổi quyền truy nhập• Mặt nạ quền user mask• Các quyền đặc biệt

• Quản lý người dùng• Các file cấu hình• Root và sudo• Các lệnh quản lý người dùng• Các lệnh quản lý người dùng• Các lệnh quản lý nhóm

Khái niệm quản lý người dùng

• Một người dùng (user) – là bất kỳ ai có tàikhoản trên hệ thống linux.

• Mỗi người dùng có user id.• Super user

• Có quyền cao nhất– Có thể thay đổi cấu hình hệ thông– Có thể thay đổi cấu hình hệ thông– Tên root

• Người dùng được tổ chức thành các nhóm.• Mỗi người dùng có thể thuộc về nhiều nhóm,

có một nhóm là nhóm chính

Các tệp lưu thông tin người dùng, nhóm

• /etc/passwd: Gồm nhiều dòng, mỗi dòng lưu thông tin một tài khoản người dùng gồm:

• login name• user id• default group• descriptive name• login program (shell)

• /etc/shadow: Mỗi dòng lưu thông tin về mật khẩu • /etc/shadow: Mỗi dòng lưu thông tin về mật khẩu của một tài khoản

• initial password• password aging information

• /etc/group• Chứa danh sách các nhóm

• /etc/gshadow• Chứa thông tin mật khẩu nhóm

/etc/passwdUsername:password:UID:GID:Info:Home:Shell

• Username: tên tài khoản

• Password: x thể hiện có mật khẩu lưu trong /etc/shadow

• User ID (UID):

• Group ID (GID): group ID của nhóm chính

• User ID Info: Thông tin thêm về người dùng, ví dụ họ tên, đơn vịlàm việc, số tel…làm việc, số tel…

• Home directory: Đường dẫn tuyệt đối đến thư mục mà ngườidùng được đặt vào sau khi login.

• Shell: Đường dẫn tuyệt đối đến chương trình shell được kích hoạtcho tài khoản này khi đăng nhập, ví dụ /bin/bash.

$ grep root /etc/passwdroot:x:0:0:root:/root:/bin/bashoperator:x:11:0:operator:/root:/sbin/nologin

/etc/shadowUsername:Password:Last_pwd_change:Minimum:Maximum:Warn:Inactive :Expire • Username: • Password: Mật khẩu mã hóa• Last password change:• Minimum: Số ngày tối thiểu phải đổi mật khẩu• Maximum: Số ngày tối đa mật khẩu có giá trị• Maximum: Số ngày tối đa mật khẩu có giá trị• Warn : Số ngày trước hạn mà người dùng được cảnh

báo phải đổi mật khẩu• Inactive : Khi mật khẩu hết hạn, tài khoản sẽ bị vô hiệu

sau số ngày này.• Expire : Ngày tài khoản hết hạn

$ grep root /etc/shadowroot:b93.GT2r.7IZ6:9718:0:60:7:::

/etc/group

Group_name:Password:Group_ID(GID):Group_list

• Group name: tên nhóm

• Password: Nói chung không dùng. Mật khẩu“X” có nghĩa là mật khẩu được lưu trong/etc/gshadow/etc/gshadow

• Group ID (GID):

• Group list: Danh sách người dùng của nhóm

/etc/gshadow

Group_name:Encrypted_password:Group_admin: Group_members

• Group name : Tên nhóm

• Encrypted password : mật khẩu mã hóa

• Group administrators: thành viên được quyềnthêm, xóa thành viên

• Group members: danh sách thành viên

Root

• Superuser account không bị hạn chế quyềntruy nhập

• Tên “root”

• Root có user ID =0

• Có 2 cách dùng quyền superuser• Login bằng tài khoản root

10

• Login bằng tài khoản root• Dùng lệnh su để đổi đăng nhập % su

Câu lệnh Sudo

• Tiện ích sudo cho phép một người dùng được phépthực hiện một số câu lệnh, mà bình thường họkhông có quyền, với quyền như của root.

• File /etc/sudoers chứa cấu hình và tham số vềcách hoạt động của sudo

11

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

• useradd/mod/del

• passwd

• groupadd/mod/del

• gpasswd

• sg/newgrp • sg/newgrp

• su

• users/groups

• id

Thêm User• Lệnh useradd tạo bản ghi về người dùng trong /etc/passwd và

/etc/shadow

• Các tùy chọn để thay thế các giá trị mặc định-u uid đặc tả user id -g group đặc tả group (mặc định GID=1)-c comment Mô tả user (mặc định là rỗng)-d dir đặc tả thư mục cá nhân của người dùng-m tạo thư mục cá nhân (nếu không sẽ không được -m tạo thư mục cá nhân (nếu không sẽ không được tạo sẵn)

-s shell đặc tả chương trình shell

• Sau khi them user, phải thực hiện đặt mật khẩu khởi tạo cho người dùng bằng lệnh password riêng

# useradd -m henry# useradd -u 321 -g 152 -m -s /bin/bash bill

Sửa tài khoản người dùng

• Usermod•usermod sử dụng các tùy chọn giống của useradd

•Nếu thay đổi UID, cần sử dụng thêm •Nếu thay đổi UID, cần sử dụng thêm option -U để thay đổi UID của các file thuộc về người dùng# usermod -U -u 321 -s /bin/bash

bill

Thiết lập mật khẩu• Thiết lập mật khẩu ban đầu cho một tài khoản mới được tạo

• Dùng chương trình passwd với tham số là tên tài khoản.

• Khi thực hiện lệnh dưới quyền root sẽ không bị hỏi nhập mật khẩu hiện tại

# passwd henrynew password:retype password:

nhập mật khẩu hiện tại

Xóa tài khoản người dùng• Dùng userdel

• Userdel không tùy chọn sẽ vẫn giữ nguyên các tệp của người dùng này

• Dùng userdel -r sẽ xóa các file của người dùng trong thư mục cá nhân của người dùng, các file khác vẫn còn

# userdel -r henry

Các lệnh quản lý nhóm• utility to manage groups

• Thêm group: groupadd• Sửa group: groupmod• Xóa group: groupdel • gpasswd • sg/newgrp • sg/newgrp • users/groups

Preparing Groups (/etc/group)

• Use groups for working on projects and in departments

• groups provide a second level of access control• groups will allow users to share files

• Setup groups before adding new users

• One line per group in /etc/group

name::gid:user1,user2name::gid:user1,user2

group namenumeric id

list of users allowed 'secondary' access to this group

Thêm group• Thêm group

#groupadd students#groupadd staff#groupadd teachers

• Tạo mới user và thêm vào trong một group

# groupadd -g 151 swamp# groupadd -g 152 barracks

19

• Tạo mới user và thêm vào trong một group#useradd –g teachers rp#useradd –g staff srk

Changing Group Membership• Each user belongs to a group (defined in /etc/passwd)

• primary membership can be changed with usermod -g

• User can also be allowed access to other groups

• secondary membership is controlled by usermod -G• the group must already exist

trapper's primary group is 400

# grep trapper /etc/passwdtrapper::416:400::/home/trapper:/bin/bash# groupadd -g 600 swamp# usermod -G swamp trapper# grep trapper /etc/groupswamp::600:trapper

add new group

add trapper to group 600 (his primary membership unchanged)

• Quyền truy nhập• Giới thiệu• Quyền truy nhập trên tệp và thư mục• Thay đổi quyền truy nhập• Thay đổi quyền truy nhập• Mặt nạ quền user mask• Các quyền đặc biệt

Tư tưởng Hệ thống xác định một người dùng hay một

nhóm có thể truy cập vào một file hay khôngcăn cứ trên các quyền được gán cho họ

• r : đọc• Cho phép hiển thị nội dung của file hoặc thư mục

• w : ghi• w : ghi• Cho phép thay đổi nội dung của file• Cho phép thêm hoặc xóa các file trong một thư mục

• x : thực thi• Cho phép thực thi file dưới dạng một chương trình• Cho phép chuyển đến thư mục cần truy cập

-: không có một trong các quyền trên

Các nhóm người sử dụng

• Có 3 nhóm người sử dụng đối với 1 file/ thư mục:• u (người sở hữu) : người sở hữu duy nhất của file• g (group) : nhóm chính của chủ sở hữu• o (others) : những người sử dụng khác, không phải là• o (others) : những người sử dụng khác, không phải là

người sở hữu file cũng như không thuộc nhóm chứafile.

• Mỗi nhóm người sử dụng sẽ có một tập cácquyền (r, w, x) xác định.

Directory and File Permissions

Access Types

Access Type Meaning on File Meaning on Dir.

r (read) View file contents(open, read)

List directory contents

w (write) Change file contents - Change directory contentsw (write) Change file contents - Change directory contents- Be careful !!!

x (execute) Run executable file - Make it your cwd- Access files (by name) in it

- Permission denied Permission denied

Xem quyền truy nhập

• Xem quyền truy nhập trên một file, thư mục băng:

• ls -l

• Ví dụ:ux% ls -l unixux% ls -l unixtotal 387drwxr--r-- 1 z036473 student 862 Feb 7 19:22

unixgrades-rw-r--r-- 1 z036473 student 0 Jun 24 2003 uv.nawk-rw-r--r-- 1 z036473 student 0 Jun 24 2003 wx.nawk-rw-r--r-- 1 z036473 student 0 Jun 24 2003 yz.nawk

Ví dụ$ ls -l

----rw-rw- 1 tuananh user1 16 Feb 10 19:12 test1.txt

-rw-rw-rw- 1 tuananh user1 16 Feb 10 19:12 test2.txt

drw-r--r-- 2 tuananh user1 512 Feb 10 19:14 vanban

$ whoami

tuananh

$ cat test1.txt$ cat test1.txt

cat: test1.txt: Permission denied

$ cat test2.txt

Un fichier de test

$ cp test2.txt vanban

cp: vanban: Permission denied

Thay đổi quyền

Câu lệnh chmod

Thay đổi quyền: sử dụng biểu tượng

30

Thay đổi quyền: sử dụng biểu tượng

$ chmod who operation permissions filename

u for userg for group

+ for add- for remove

r for readw for write

31

g for groupo for othersa for all

- for remove= for assign

w for writex for execute

ux% ls -li sort.c

118283 -rw-r--r-- 1 krush csci 80 Feb 27 12:23 sort.c

Thay đổi quyền: sử dụng biểu tượng

Ví dụ 1: Đổi quyền trên file “sort.c” để :a) Mọi người có quyền đọc và thực thib) Chỉ có chủ sở hữu và nhóm sở hữu có quyền ghi

32

b) Chỉ có chủ sở hữu và nhóm sở hữu có quyền ghi

rwx|rwx|r-xMong muốn đạt được:

Đáp án:chmod ug=rwx,o=rx sort.c

chmod ugo+rx,g+w sort.c

Thay đổi quyền: sử dụng số

33

Thay đổi quyền: sử dụng số

ux% ls -li sort.c

118283 -rw-r--r-- 1 krush csci 80 Feb 27 12:23 sort.c

Ví dụ 2: Thay đổi quyền trên file “sort.c” sử dụng chế độ sốa) Mọi người có quyền đọc và thực thib) Chỉ có chủ sở hữu và nhóm sở hữu có quyền ghi

34

b) Chỉ có chủ sở hữu và nhóm sở hữu có quyền ghi

rwx|rwx|r-xMong muốn:

Answer: chmod 775 sort.c

Bài tập

Không quan tâm đến quyền hiện tại trên file “myfile”, hãy thực hiện gán quyền để

a) Chủ sở hữu có quyền đọc, ghi, thực thi

b) Nhóm sở hữu có quyền đọc, thực thi

c) Người dùng khác có quyền thực thi

35

c) Người dùng khác có quyền thực thi

1) Dùng biểu tượng: __________________________________2) Dùng số: __________________________________

Mong muốn: rwx|r-x|--x

Bài tập

Không quan tâm đến quyền hiện tại trên file “myfile”, hãy thực hiện gán quyền đểa) Chủ sở hữu có quyền đọc, ghi, thực thi

b) Nhóm sở hữu có quyền đọc, thực thi

c) Người dùng khác có quyền thực thi

36

c) Người dùng khác có quyền thực thi

1) Dùng biểu tượng: __________________________________2) Dùng số: __________________________________

Mong muốn : rwx|r-x|--x

chmod u=rwx,g=rx,o=x myfile

chmod 751 myfile

User Masks (giới hạn quyền mặc định)• Quyền mặc định có thể được đặt thông qua user mask (mask).

• Thông thường user mask được thiết lập sẵn bởi quản trị chomỗi người dùng khi tài khoản được thiết lập, trong file $HOME/.cshrc

• user mask chứa một số bát phân (octal) mô tả các quyền sẽ bịLOẠI BỎ từ quyền mặc định mỗi khi một file hay thư mụcđược tạo

37

được tạo

• Quyền mặc định là– 777 cho thư mục

– 666 cho file

– Nếu usermask là 022 có nghĩa là quyền w của group và other bị loại bỏthêm từ quyền mặc định tức là quyền còn lại là

– rwx r-x r-x cho thư mục

– rw- r- - r- - cho tệp

Figure 4-10

The umask Command

38

User MaskUser mask Directory

Mặc định: 777File (666)Mặc định: 666

000 777 (rwx rwx rwx) 666 (rw- rw- rw-)

111 666 (rw- rw- rw-) 666 (rw- rw- rw-)

222 555 (r-x r-x r-x) 444 (r- - r- - r- -)

39

333 444 (r- - r- - r- -) 444 (r- - r- - r- -)

444 333 (-wx –wx –rx) 222 (-w- -w- -w-)

555 222 (-w- -w- -w-) 222 (-w- -w- -w-)

666 111 (- -x - -x - -x) 000 (--- --- --- )

777 000 (--- --- --- ) 000 (--- --- --- )

Lệnh: umask

% umask 000

Cho file: rw-rw-rw- 666

Cho thư mục: rwxrwxrwx 777

40

Bài tập

Giả sử trong $HOME/.cshrc f file của tài khoản củabạn có lệnh: umask 002.

a) Quyền trên mỗi file bạn tạo ra là gì?

41

b) Quyền trên mỗi thư mục bạn tạo ra là gì?

Quyền đặc biệt

• Có thêm 3 quyền đặc biệt trên file, thư mục– Set User Id (SUID)

– Set Group ID (SGID)

– Sticky bit

42

– Sticky bit

Quyền đặc biệt: SUID• SUID được thiết lập cho phép người dùng bất kỳ

được thực thi tệp dưới quyền của người sở hữu tệp cho mượn quyền của chủ sở hữu

• Ví dụ: chương trình “/usr/bin/passwd” được dùngđể thay đổi mật khẩu của người dùng. File được sởhữu bởi root với quyền: r-sr-sr-x

43

hữu bởi root với quyền: r-sr-sr-x• Mật khẩu người dùng được lưu trong /etc/shadow

và chỉ có root có quyền đọc, ghi.•Về lý thuyết, chỉ có root mới có quyền cậpnhật mật khẩu mới

• Khi “/usr/bin/passwd” có SUID được thiết lập, mọi người dùng thực thi “/usr/bin/passwd” đượccho mượn quyền của chủ sở hữu (root) và do đócó quyền cập nhật /etc/shadow

Special Permissions• Các quyền đặc biệt không có chỗ biểu diễn riêng

khi xem bằng lệnh “ls –l”

• Các quyền đặc biệt được biểu diễn ở mục quyềnthực thi.

r w x r w x r w x

44

r w x r w x r w x

r w s r w s r w tSUID SGID STICKY

BIT

Special Permissions• Nếu các quyền đặc biệt được thiết lập mà quyền “execute” tại vị

trí tương ứng không được thiết lập, các chữ S, T được viết bằngchữ hoa.

r w - r w - r w -

45

r w - r w - r w -

r w S r w S r w TSUID SGID STICKY

BIT

Quyền đặc biệt: GUID

• Tương tự SUID,

• SGID cho mượn quyền của nhóm chứa tệp khi chạy chương trình

46

Quyền đặc biệt: Sticky Bit

• Sticky bit có ý nghĩa khi áp dụng cho thư mục

• Tình huống:

•Có một thư mục chung cho nhiều user

•Thư mục được thiết lập quyền ghi để mọi ngườicùng ghi file chung mọi người cũng có thể xóa

47

cùng ghi file chung mọi người cũng có thể xóafile trong đó

• Nếu“sticky” bit được thiết lập cho thư mục, other có quyền ghi thì mọi người dùng có thể ghi vàothư mục chung nhưng chỉ có thể xóa file do chínhmình tạo ra hoặc thêm vào thư mục.

Quyền đặc biệt: Sticky Bit

• Ví dụ:

ls –ld /tmpdrwxrwxrwt 3 root sys 1077 Jan 25 13:30 /tmp

48

Sticky Bit

Thiết lập quyền đặc biệt

suid sgid stb r w x r w x r w x

1 1 1 1 1 1 1 1 1 1 1 1

7 7 7 7

49

7 7 7 7

Special user group others

Sử dụng “chmod” ở chế độ số:chmod 7777 filename

Bài tập

• Thư mục BaiThiLinux được tạo để mọi sinh viêncopy bài thi của mình vào đó

• Sử dụng các lện Linux để thiết lập quyền trên thưmục BaiThiLinux sao cho mọi sinh viên có thểnộp bài nhưng không xóa được bài của nhau.

50

nộp bài nhưng không xóa được bài của nhau.

• Answer:

____________________________________chmod 1777 BaiThiLinux