PHÂN QUYỀN TRONG HỆ THỐNG LINUX (tt) VÀ MỘT SỐ CÂU LỆNH CĂN BẢN

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

1.

Tài khoản người dùng (User account):


- ÔN TẬP: Phân quyền trong hệ thống Linux là cách để bảo vệ hệ thống Linux.
 Cốt lõi của Linux Security nămg ở User account.
- Việc cấp quá nhiều quyền hạn cho 1 user account dễ dẫn đến account đó bị lạm dụng để tấn công vào hệ thống.
 Mỗi cá nhân truy cập vào hệ thống Linux nên có 1 account riêng với phân quyền rõ rang, phú hợp với công
việc của account đó.
- Phân quyền người dùng được theo dõi thông qua UID (User ID).
- UID là một chuỗi các giá trị được gán cho 1 user account khi user account đó được tạo ra trên hệ thống Linux.
- Giá trị của UID là độc nhất cho mỗi user account.
- UID được gán với một login name – là tên account mà ta dùng để đăng nhập hệ thống Linux.
a. File/ etc/ passwd:
- Hệ thống Linux sử dụng một file đặc biệt để gán login name và giá trị UID lại với nhau.  File này có
tên là passwd và có path là /etc/passwd.
- Xem thông tin ở trong file bằng lệnh cat /etc/passwd

Ví dụ: [1]root:[2]x:[3]0:[4]0:[5]root:[6]/root:[7]/bin/bash
Mỗi dòng bên trong file sẽ là một account.
Mỗi dòng chứa nhiều thông tin khác nhau và ngăn cách nhau bởi dấu (:).
Trong đó:
 [1]root: tên của account và đây là account có quyền quản trị cao nhất.
 [2]x: Password của account đã được ẩn đi.
 [3]0: UID của account (UID của account root luôn là 0)
 [4]0: GID (Group ID) của account
 [5]root: Mô tả account người dùng.
 [6]/root: Path (địa chỉ/ chỉ dẫn) của home directory của account.
 [7]/bin/bash: Shell mặc định của account (là shell cho phép nằm toàn quyền kiểm soát hệ thống
Linux cốt lõi của hành động privilege escalation (nâng cấp đặc quyền) là để lấy cho được shell mặc
định của root).
Các account bên dưới root ( như daemon, bin,…) được gọi là những system accounts – được tạo tự động bỏi
hệ thống Linux.
 Account này không được tạo ra cho người dùng bình thường, mà sử dụng cho các phần mềm hoặc tác vụ
nền ẩn chạy trong hệ thống.  các phần mềm hoặc tác vụ thông qua các account này để truy cập vào hệ thống ( để
truy cập vào tài nguyên.
Các shell được dùng bởi hệ thống Linux để chặn truy cập từ người dùng thường là:
/usr/sbin/nologin
/sbin/nologin
/bin/false
(Đối với các pentesters, đây là những account dùng sau khi xâm nhập hệ thống thành công để phần nào kiểm soát máy
nạn nhân, phục vụ cho các hình thức tấn công tiếp theo.
- Một số hệ thống Linux sẽ dành những UID dưới 500 dành cho system account.
- Một vài tác vụ còn đòi hỏi một UID nhất định.
- Với người dùng bình thường, UID cho account của họ thường sẽ có giá trị trên 500.
- Khi dùng lệnh ls -l /etc/passwd ta sẽ thấy chỉ có root mới có quyền chỉnh sửa còn người dùng bình thường chỉ có
quyền truy cập và đọc file.
shiba3@nootnoot:~$ ls -l /etc/passwd
-rw-r--r-- 1 root root 1796 Feb 22 2020 /etc/passwd
b. File /etc/shadow:
- Là nơi chứa mật khẩu đã bị mã hóa của tất cả account trong hệ thống Linux.
- Trước đây, các mật khẩu mã hóa được chứa bên trong file /etc/passwd; tuy nhiên điều này dẫn đến nguy cơ
lộ mật khẩu root và những người dùng khác.
 File /etc/shadow cũng chỉ có duy nhất root có quyền truy cập và thay đổi nội dung bên trong file.
- Nội dung bên trong fie:
Ví dụ:
[1]admin:[2]$6$sTgBhfj0$pkzz/JpVTl8ZAmk./
d4SDarRyWsGSZHguljywUHQMP4DWo8/TgNzL5rMpejqNWuyxtFlISxdyIqPmpsIsyi.i1:
[3]16088:[4]0:[5]99999:[6]7:[7]:[8]:[9]
- Mỗi dòng trong file /etc/shadow sẽ là một account đi kèm theo các thông tin được cách nhau bởi dấu “:”:
 [1]admin: tên đăng nhập, tương ứng tên trong file /etc/passwd
 [2]$6$sTgBhfj0$pkzz…i.i1: mật khẩu đã được mã hóa
 [3]16088: ngày cuối cùng mật khẩu được thay đổi ( lấy giá trị này * 86400 (số giây của 1 ngày) 
Chuyển đổi từ Epoch & Unix Timestamp sang giờ bình thường) Ngày được tính theo ngày 1/1/1970
là ngày ra đời hệ thống Unix
 [4]0: số ngày tối thiểu phải chờ trước khi mật khẩu được thay đổi
 [5]99999: số ngày trước khi mật khẩu cần phải thay đổi
 [6]7: số ngày sau khi mật khẩu hết hạn và người nhận được cảnh báo mật khẩu sắp hết hạn
 [7]: số ngày sau khi mật khẩu hết hán và account bị blocked
 [8]: số ngày account đã bị khóa
 [9]: sẽ được dùng trong tương lai
2. Group người dùng:
- Để giải quyết vấn đề phải phân quyền truy cập cho quá nhiều người cùng truy cập vào một dữ liệu, hệ thống
Linux sử dụng tính năng Phân quyền Group.
- Các Linux distro khác nhau sẽ có cách quản lý group khác nhau. Có một số chỉ dùng 1 group duy nhất, lại có
một số tạo nhiều group riêng khác nhau cho mỗi account người dùng.
- Mỗi group sẽ có 1 Group ID (GID) tương tự như UID.
- GUI là một giá trị duy nhất trong toàn hệ thống và mỗi group có 1 tên được gán với 1 GID.
a. File /etc/group:
- Thông tin của group sẽ được lưu giữ trong file có tên là /etc/group.
- Để xem nội dung của file ta sử dụng lệnh:
cat /etc/group

Ví dụ: [1]shiba2:[2]x:[3]1002:[4]ABC, XYZ, shiba2


Trong đó:
 [1]shiba2: tên group
 [2]x: group password đã đươc ẩn đi
 [3]1002: GID (Group ID)
 [4]ABC, XYZ, shiba2: tên của những user account là thành viên của group.
- Groups của user account sẽ có GID trên 500.
- File /etc/group chỉ cho phép root có quyền chỉnh sửa và truy cập, còn các account khác chỉ có quyền truy
cập.
- Group password sẽ cho phép những user account không phải là thành viên của group có quyền trở thành
thành viên tạm thời của group.
Tuy nhiên, mỗi khi muốn có phân quyền thì thành viên tạm thời phải nhập password của group.

You might also like