Chương <br />
2. <br />
Kiểm <br />
soát <br />
truy <br />
nhập <br />
<br />
Access <br />
Control <br />
<br />
Lương <br />
Ánh <br />
Hoàng <br />
<br />
<br />
hoangla@soict.hut.edu.vn <br />
<br />
<br />
Nội <br />
dung <br />
<br />
2.1 <br />
Cơ <br />
chế <br />
kiểm <br />
soát <br />
truy <br />
nhập <br />
trên <br />
Unix/Linux <br />
<br />
2.2 <br />
Cơ <br />
chế <br />
kiểm <br />
soát <br />
truy <br />
nhập <br />
trên <br />
Windows <br />
<br />
2.3 <br />
Hạ <br />
thấp <br />
quyền <br />
truy <br />
nhập <br />
của <br />
tiến <br />
trình <br />
<br />
2.4 <br />
Xóa <br />
}ile <br />
an <br />
toàn <br />
<br />
2.5 <br />
Hạn <br />
chế <br />
quyền <br />
truy <br />
nhập <br />
trên <br />
}ile <br />
<br />
2.6 <br />
Khóa <br />
}ile <br />
<br />
2.7 <br />
Tạo <br />
}ile <br />
tạm <br />
<br />
2.8 <br />
Hạn <br />
chế <br />
truy <br />
nhập <br />
đến <br />
hệ <br />
thống <br />
}ile <br />
<br />
<br />
<br />
30 <br />
<br />
<br />
2.1 <br />
Cơ <br />
chế <br />
kiểm <br />
soát <br />
truy <br />
nhập <br />
trên <br />
Unix/<br />
Linux <br />
<br />
• Trên <br />
Unix/Linux <br />
tất <br />
cả <br />
các <br />
tài <br />
nguyên <br />
đều <br />
được <br />
coi <br />
là <br />
}ile: <br />
tệp <br />
tin, <br />
ổ <br />
đĩa, <br />
<br />
bộ <br />
nhớ, <br />
thiết <br />
bị…. <br />
<br />
• Mỗi <br />
}ile <br />
kiểm <br />
soát <br />
bởi <br />
user <br />
id <br />
và <br />
group <br />
id. <br />
<br />
• Mỗi <br />
tiến <br />
trình <br />
có <br />
ba <br />
quyền: <br />
effective <br />
user <br />
id, <br />
real <br />
user <br />
id, <br />
saved <br />
user <br />
id. <br />
<br />
Effective <br />
user <br />
id <br />
được <br />
sử <br />
dụng <br />
trong <br />
phần <br />
lớn <br />
các <br />
kiểm <br />
tra. <br />
<br />
<br />
• Mỗi <br />
tiến <br />
trình <br />
cũng <br />
thuộc <br />
về <br />
ba <br />
nhóm: <br />
effective <br />
group <br />
id, <br />
real <br />
group <br />
id, <br />
<br />
saved <br />
group <br />
id. <br />
<br />
• Có <br />
ba <br />
loại <br />
quyền <br />
<br />
• Đọc <br />
(read) <br />
<br />
• Ghi <br />
(write) <br />
<br />
• Thực <br />
thi <br />
(execute) <br />
<br />
<br />
31 <br />
<br />
<br />
2.1 <br />
Cơ <br />
chế <br />
kiểm <br />
soát <br />
truy <br />
nhập <br />
trên <br />
Unix/<br />
Linux <br />
<br />
• Mỗi <br />
}ile <br />
sẽ <br />
có <br />
ba <br />
nhóm <br />
quyền <br />
tương <br />
ứng <br />
với: <br />
user <br />
id, <br />
group <br />
id, <br />
và <br />
<br />
other. <br />
<br />
-‐rwxr-‐xr-‐x <br />
1 <br />
<br />
<br />
<br />
Luong <br />
Anh <br />
Hoang <br />
<br />
None <br />
<br />
<br />
<br />
17964 <br />
<br />
<br />
<br />
Aug <br />
28 <br />
23:45 <br />
test.exe <br />
<br />
<br />
• Khi <br />
tiến <br />
trình <br />
tạo <br />
một <br />
}ile <br />
hoặc <br />
tài <br />
nguyên, <br />
hệ <br />
thống <br />
sẽ <br />
gán <br />
user <br />
id <br />
và <br />
<br />
group <br />
id <br />
cho <br />
}ile <br />
mới <br />
đó <br />
bằng <br />
effective <br />
user <br />
id <br />
và <br />
effective <br />
group <br />
id <br />
của <br />
<br />
tiến <br />
trình. <br />
<br />
• Khi <br />
tiến <br />
trình <br />
truy <br />
nhập <br />
một <br />
}ile <br />
hoặc <br />
tài <br />
nguyên, <br />
hệ <br />
thống <br />
sẽ <br />
lần <br />
lượt <br />
<br />
so <br />
sánh <br />
user <br />
id, <br />
group <br />
id <br />
của <br />
tiến <br />
trình <br />
và <br />
}ile <br />
và <br />
chọn <br />
ra <br />
tập <br />
quyền <br />
<br />
tương <br />
ứng. <br />
Nếu <br />
không <br />
khớp <br />
thì <br />
lớp <br />
quyền <br />
thứ <br />
3 <br />
sẽ <br />
được <br />
sử <br />
dụng. <br />
<br />
<br />
32 <br />
<br />
<br />
2.1 <br />
Cơ <br />
chế <br />
kiểm <br />
soát <br />
truy <br />
nhập <br />
trên <br />
Unix/<br />
Linux <br />
<br />
• Mỗi <br />
}ile <br />
cũng <br />
có <br />
thể <br />
có <br />
3 <br />
bit <br />
đặc <br />
biệt <br />
<br />
• Sticky. <br />
Nếu <br />
bit <br />
này <br />
được <br />
thiết <br />
lập, <br />
người <br />
dùng <br />
sẽ <br />
không <br />
thể <br />
xóa <br />
hay <br />
đổi <br />
tên <br />
<br />
}ile <br />
của <br />
người <br />
khác <br />
nằm <br />
trong <br />
thưc <br />
mục <br />
mà <br />
người <br />
dùng <br />
quản <br />
lý. <br />
Mặc <br />
định <br />
<br />
là <br />
không <br />
được <br />
thiết <br />
lập. <br />
<br />
• Setuid: <br />
Bit <br />
này <br />
liên <br />
quan <br />
đến <br />
quá <br />
trình <br />
tạo <br />
một <br />
tiến <br />
trình <br />
mới. <br />
Nếu <br />
bit <br />
này <br />
<br />
được <br />
thiết <br />
lập, <br />
tiến <br />
trình <br />
được <br />
tạo <br />
từ <br />
}ile <br />
này <br />
sẽ <br />
không <br />
kế <br />
thừa <br />
quyền <br />
từ <br />
<br />
tiến <br />
trình <br />
cha, <br />
mà <br />
sẽ <br />
có <br />
quyền <br />
từ <br />
user <br />
id <br />
của <br />
chính <br />
}ile <br />
đó. <br />
<br />
• Setgid: <br />
<br />
<br />
• Đối <br />
với <br />
}ile <br />
thực <br />
thi, <br />
nếu <br />
bit <br />
này <br />
được <br />
thiết <br />
lập <br />
thì <br />
một <br />
tiến <br />
trình <br />
mới <br />
<br />
được <br />
tạo <br />
sẽ <br />
có <br />
quyền <br />
từ <br />
groupd <br />
id <br />
của <br />
}ile <br />
đó <br />
chứ <br />
không <br />
kế <br />
thừa <br />
từ <br />
<br />
tiến <br />
trình <br />
cha <br />
(tương <br />
tự <br />
Setuid). <br />
<br />
• Đối <br />
với <br />
thưc <br />
mục, <br />
nếu <br />
bit <br />
này <br />
được <br />
thiết <br />
lập <br />
thì <br />
các <br />
}ile <br />
tạo <br />
trong <br />
thư <br />
<br />
mục <br />
này <br />
sẽ <br />
có <br />
groupd <br />
id <br />
của <br />
thư <br />
mục <br />
cha, <br />
chứ <br />
không <br />
kế <br />
thừa <br />
từ <br />
tiến <br />
<br />
trình <br />
tạo <br />
ra <br />
}ile <br />
đó. <br />
<br />
<br />
33 <br />
<br />
<br />