Tải bản đầy đủ (.doc) (72 trang)

CHUYÊN ĐỀ CHUYÊN ĐỀ TIN HỌC TÌM HIỂU AN TOÀN VÀ BẢO MẬT TRÊN HỆ ĐIỀU HÀNH LINUX. TÌM HIỂU CÁC CƠ CHẾ BẢO MẬT TRONG HỆ THỐNG LINUX.

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.97 MB, 72 trang )

TƯ LIỆU CHUN MƠN TIN HỌC.
-------------------------------

CHUN ĐỀ
CHUN ĐỀ TIN HỌC
TÌM HIỂU AN TỒN VÀ BẢO MẬT
TRÊN HỆ ĐIỀU HÀNH LINUX.
TÌM HIỂU CÁC CƠ CHẾ BẢO MẬT
TRONG HỆ THỐNG LINUX.

Giáo dục học


LỜI NĨI ĐẦU
Vấn đề Security (hay bảo mật) ln là một trong các yếu tố
phải có độ ưu tiên cao khi phát triển bất cứ một hệ thống máy tính nào.
Từng có một câu nói vui cho rằng Một hệ thống máy tính chỉ thực sự
an tồn nếu nó được ngắt kết nối với mạng internet, tắt nguồn và chôn
sâu 2 mét dưới mặt đất. Nhận định này tất nhiên là hồn tồn đúng, tuy
nhiên chắc chắn khơng một ai muốn mua một hệ thống máy tính về sử
dụng mà lại muốn làm như vậy cả ^^. Thực tế chúng ta luôn không
ngừng nghiên cứu và cải thiện các giải pháp hàng ngày, hàng giờ để
khiến cho chiếc máy tính của chúng ta vẫn có thể sử dụng, và hạn chế
tối đa khả năng truy cập từ bên ngoài. Ngày nay, hầu hết các thiết bị
máy tính đều được kết nối với mạng internet hoặc kết nối với nhau qua
mạng cục bộ. Mục đích chính của việc này là để chia sẻ thông tin với
nhau, nhằm làm tăng sự hiểu biết cho mọi người sử dụng máy tính trên
thế giới. Mọi việc sẽ trở nên đơn giản hơn nếu mỗi người chúng ta khi
chia sẻ thơng tin đều là vì mục đích tốt đẹp. Vậy nhưng thực tế thì
khơng như vậy, thế giới này có 7 tỉ người, mỗi người lại có những suy
nghĩ khác nhau, họ có thể chia sẻ bất cứ thứ gì họ muốn, hoặc thậm chí


có thể đánh cắp các thông tin không được phép truy cập. Nếu kẻ phá
hoại (bao gồm truy cập trái phép thơng tin và sử dụng thơng tin cho
mục đích xấu) không chỉ đơn giản là tấn công 1 vài người nhỏ lẻ, thay
vào đó những kẻ này lại hướng mục tiêu tấn công vào các tổ chức, các
công ty với lượng thông tin rất lớn, liên quan đến nhiều tổ chức khác
thì điều này sẽ gây rất nhiều ảnh hưởng, thiệt hại nghiêm trọng. Chính
vì vậy, vấn đề bảo mật luôn không ngừng được nghiên cứu và cải tiến


liên tục, và hệ thống bảo mật trên dòng hệ điều hành Linux cũng
khơng ngoại lệ. Nó có sẵn một số biện pháp tăng cường tính bảo mật
tuyệt vời và hữu ích.
Trân trọng giới thiệu cùng q vị thầy cơ giáo, các bậc phụ
huynh và các bạn đọc cùng tham khảo, trải nghiệm tài liệu:

CHUYÊN ĐỀ
CHUYÊN ĐỀ TIN HỌC
TÌM HIỂU AN TỒN VÀ BẢO MẬT
TRÊN HỆ ĐIỀU HÀNH LINUX.
TÌM HIỂU CÁC CƠ CHẾ BẢO MẬT
TRONG HỆ THỐNG LINUX.
Chân trọng cảm ơn!


NỘI DUNG
1-CHUN ĐỀ TIN HỌC
TÌM HIỂU AN TỒN VÀ BẢO MẬT
TRÊN HỆ ĐIỀU HÀNH LINUX
2-TÌM HIỂU CÁC CƠ CHẾ BẢO MẬT
TRONG HỆ THỐNG LINUX (phần 1).

3-TÌM HIỂU CÁC CƠ CHẾ BẢO MẬT
TRONG HỆ THỐNG LINUX (phần 2).


1-CHUN ĐỀ TIN HỌC
TÌM HIỂU AN TỒN VÀ BẢO MẬT
TRÊN HỆ ĐIỀU HÀNH LINUX
MỤC LỤC
DANH MỤC HÌNH VẼ..................................................................................2
DANH MỤC CÁC BẢNG..............................................................................3
LỜI MỞ ĐẦU.................................................................................................4
CHƯƠNG I: TỔNG QUAN HỆ ĐIỀU HÀNH LINUX.................................5
I.1. Linux là một hệ điều hành tương tự như hệ điều hành..........................5
I.2. Những ưu điểm kỹ thuật nổi bật của Linux...........................................5
I.3. Nhược điểm của Linux..........................................................................7
CHƯƠNG II. BẢO VỆ, QUẢN LÝ TÀI NGUYÊN PHÂN QUYỀN TRONG
LINUX............................................................................................................9
II.1. Hệ thống ghi nhật ký............................................................................9
II.2. Quyền truy nhập như thư mục và file.................................................12
II.3. Một số lệnh thay đổi chế độ truy cập.................................................19
II.4. Một số phần mềm bảo mật khác trên Linux.......................................21
II.4.1. Linux sXid....................................................................................21
II.4.2. Linux Logcheck............................................................................21
II.4.3. Linux Tripwire 2.2.1....................................................................22
CHƯƠNG III: AN TOÀN HỆ THỐNG, KERNEL......................................23
III.1. Người dùng và vấn đề truy cập hệ thống..........................................23
III.1.1. Vấn đề xác thực người dùng.......................................................23
III.1.2. Tài khoản Root............................................................................25
III.1.3. Các tài khoản đặc biệt.................................................................27
III.1.4. Ngăn chặn bất kỳ người sử dụng nào chuyển thành root bằng lệnh

"su"..........................................................................................................28
III.2. Tăng cường bảo mật cho kernel (LIDS)...........................................29
CHƯƠNG IV. AN TOÀN VỚI CÁC GIAO DỊCH TRÊN MẠNG..............38
IV.1. Linux Firewall...................................................................................38


IV.2. Cấu hình tập tin quan trọng...............................................................38
IV.2.1. Tập tin "/etc/inetd.conf"..............................................................38
IV.2.2. Tập tin "/etc/host.conf"................................................................38
IV.2.3. Tập tin "/etc/services".................................................................39
KẾT LUẬN...................................................................................................41
TÀI LIỆU THAM KHẢO.............................................................................42

DANH MỤC HÌNH VẼ
Hình 2.1. Cơ chế tổ chức tài ngun trên Linux
Hình 2.2: Sơ đồ hệ thống file nhật ký
Hình 2.3 : Hình ảnh thể hiện vị trí VFS
Hình 2.4: Diễn tả cơ chế phân quyền của một file
Hình 2.5: 10 ký tự đầu tiên của dãy
Hình 2.6: Chế độ truy cập bit
Hình 2.7: Ký tự đặc biệt đối với lệnh chmod
Hình 4.1: Sơ đồ Netfilter/Iptables
Hình 4.2: Sơ đồ lọc và xử lý gói trong iptables
Hình: 4.3. Đường đi của gói dữ liệu

DANH MỤC CÁC BẢNG


Bảng 1: Các kiểu thư mục trong Linux
Bảng 2: Hệ 8 áp dụng cách tính

Bảng 3: Chế độ truy cập ban đầu (mặc định)
Bảng 4 : Các loại queues và chain cùng chức năng của nó


LỜI MỞ ĐẦU
Ngày nay, nhu cầu trao đổi dữ liệu qua mạng máy tính trở nên vơ
cùng quan trọng trong mọi hoạt động xã hội, song song với sự phát
triển bùng nổ của mạng máy tính nói chung và mạng Internet nói riêng
thì nguy cơ phải đối mặt với hàng loạt các đe dọa tiềm tàng như virus,
sâu máy tính, các kiểu tấn công, xâm nhập, vv…là rất lớn. Vấn đề bảo
đảm an ninh, an tồn cho thơng tin trên mạng ngày càng là mối quan
tâm hàng đầu của các công ty, các tổ chức, các nhà cung cấp dịch vụ.
Việc bảo vệ an toàn dữ liệu là một vấn đề cấp thiết, vì vậy việc lựa
chọn một hệ điều hành phù hợp, có khả năng bảo mật tốt, độ tin cậy
cao là rất quan trọng . Hệ điều hành Linux ra đời mang theo nhiều đặc
tính an tồn bao hàm các cơ chế bảo mật, cùng với tính chất của một
mã nguồn mở đã được đánh giá là một trong những hệ điều hành bảo
mật tốt nhất hiện nay. Hơn nữa, Linux server là một trong những thách
thức lớn đối với tình trạng xâm nhập bất hợp pháp.
Mục tiêu của đề tài là nghiên cứu tìm hiểu cơ chế bảo mật trong
hệ điều hành Linux, qua đó thấy được tầm quan trọng của cơ chế khi
thực hiện các vấn đề bảo mật.


CHƯƠNG I: TỔNG QUAN HỆ ĐIỀU HÀNH LINUX
Hệ điều hành Linux là một khái niệm mới được sử dụng cách
đây ít năm khi sử dụng hệ điều hành này thì nhất thiết khơng thể
khơng tìm hiểu một cách tổng qt.
I.1. Linux là một hệ điều hành tương tự như hệ điều hành
Phiên bản đầu tiên do Linux Torvalds viết vào năm 1991 khi còn

là sinh viên, đưa ra trên cơ sở cải tiến phiên bản Unix có tên Minix do
giáo sư Andrew S.Tanenbaum xây dựng và phổ biến và nhóm lập trình
viên tình nguyện từ khắp nơi trên Internet viết và đang hồn thiện dần
dần Linux.
Là hệ điều hành mơ phỏng Unix, xây dùng trên nhân kernel và
các gói phần mềm mã nguồn mở, được công bố dưới bản quyền của
GPL (General Public Licence). Giống như UNIX Linux gồm ba thành
phần chính nhân Kernel, shell và cấu trúc file.
I.2. Những ưu điểm kỹ thuật nổi bật của Linux
Linux là một hệ điều hành mã nguồn mở, như vậy chi phí sẽ rẻ
hơn so với các phần mềm truyền thống, mặt khác rất dễ nâng cấp, cải
tiến (do cung cấp mã nguồn kèm theo). Chính vì thế, phát triển phần
mềm mã nguồn mở có thể tận dụng được những cơng nghệ tiên tiến có
sẵn trên thế giới, cải tiến cho phù hợp với người Việt Nam, tiết kiệm
được rất nhiều công sức so với việc phát triển từ đầu, có thể tùy ý sửa
chữa theo ý mình.


Linh hoạt, uyển chuyển
Có thể chỉnh sửa Linux và các ứng dụng trên đó sao cho phù hợp
với mình nhất. Việc Việt hóa Windows được xem là khơng thể nếu
như khơng có sự đồng ý và hỗ trợ của Microsoft. Tuy nhiên với Linux
thì có thể làm được điều này một cách đơn giản hơn. Mặt khác, do
Linux được một cộng đồng rất lớn những người làm phần mềm cùng
phát triển trên các mơi trường, hồn cảnh khác nhau nên tìm một
phiên bản phù hợp với yêu cầu của riêng mỗi cá nhân sẽ không phải là
một vấn đề quá khó khăn.
Bên cạnh Windows địi hỏi cấu hình cài đặt cao thì tính linh hoạt
của Linux cịn được thể hiện ở chỗ nó tương thích được với rất nhiều
mơi trường, và có thể chạy trên nhiều nền tảng. Hiện tại, ngồi Linux

dành cho server, máy tính để bàn,... nhân Linux (Linux kernel) còn
được nhúng vào các thiết bị điều khiển như máy tính palm, robot...
Phạm vi ứng dụng của Linux được xem là rất rộng rãi.
Độ an toàn cao
Trong Linux có một cơ cấu phân quyền hết sức rõ ràng. Chỉ có
"root" (người dùng tối cao) mới có quyền cài đặt và thay đổi hệ thống.
Ngồi ra Linux cũng có cơ chế để một người dùng bình thường có thể
chuyển tạm thời sang quyền "root" để thực hiện một số thao tác. Điều
này giúp cho hệ thống có thể chạy ổn định và tránh phải những sai sót
dẫn đến sụp đổ vì hệ thống. Trong những phiên bản Windows gần đây,
cơ chế phân quyền này cũng đã bước đầu được áp dụng, nhưng so với
Linux thì vẫn kém chặt chẽ hơn.


Ngồi ra chính tính chất "mở" cũng tạo nên sự an tồn của
Linux. Nếu như một lỗ hổng nào đó trên Linux được phát hiện thì nó
sẽ được cả cộng đồng mã nguồn mở cùng sửa và thường thì chỉ sau
24h sẽ có thể cho ra bản sửa lỗi. Trong Linux mọi thứ đều cơng khai,
người quản trị có thể tìm hiểu tới mọi ngõ ngách của hệ điều hành,
điều đó cũng có nghĩa là độ an tồn được nâng cao.
Thích hợp cho quản trị mạng
Linux có rất nhiều ưu điểm thỏa mãn đòi hỏi của một hệ điều
hành mạng: tính bảo mật cao, chạy ổn định, các cơ chế chia sẻ tài
nguyên tốt ... Giao thức TCP/IP mà ngày nay vẫn thường thấy chính là
một giao thức truyền tin của Linux (sau này mới được đưa vào
Windows).
Chạy thống nhất trên các hệ thống phần cứng
Cho dù có rất nhiều phiên bản Linux được các nhà phân phối
khác nhau ban hành nhưng nhìn chung đều chạy khá ổn định trên mọi
thiết bị phần cứng từ Intel 486 đến những máy Pentium mới nhất, từ

những máy có dung lượng RAM chỉ 4MB đến những máy có cấu hình
cực mạnh (tất nhiên là tốc độ sẽ khác nhau nhưng về nguyên tắc vẫn
có thể chạy được). Nguyên nhân là Linux được rất nhiều lập trình viên
ở nhiều mơi trường khác nhau cùng phát triển (không như Windows
chỉ do Microsoft phát triển) và sẽ gặp nhiều người có "cùng cảnh ngộ"
như nhau, như vậy dễ dàng tìm được các driver tương ứng với thiết bị
của mỗi người.


I.3. Nhược điểm của Linux
Đòi hỏi người dùng phải thành thạo
Trước kia việc sử dụng và cấu hình Linux được xem là một công
việc chỉ dành cho những chuyên gia. Hầu như mọi cơng việc đều thực
hiện trên các dịng lệnh và phải cấu hình nhờ sửa trực tiếp các file.
Mặc dù trong những phiên bản gần đây, hệ điều hành Linux đã có
những cải tiến đáng kể, nhưng so với Windows thì tính thân thiện của
Linux vẫn cịn là một vấn đề lớn.
Tính tiêu chuẩn hóa
Linux được phát hành miễn phí nên bất cứ ai cũng có thể tự
mình đóng gói, phân phối theo những cách riêng. Hiện tại có khá
nhiều bản Linux phát triển từ một nhân ban đầu cùng tồn tại như:
RedHat, SuSE, Knoppix... Người dùng phải tự so sánh xem bản nào là
phù hợp với mình. Điều này có thể gây khó khăn cho người dùng, nhất
là những người cịn có kiến thức về tin học hạn chế.
Số lượng các ứng dụng chất lượng cao trên Linux cịn hạn chế
Mặc dù Windows có sản phẩm nào thì Linux cũng gần như có
phần mềm tương tự. (VD: OpenOffice trên Linux tương tự như
MSOffice, hay GIMP tương tự như Photoshop, v v... ) Tuy nhiên chất
lượng những sản phẩm này là chưa thể so sánh được với các sản phẩm
viết cho Windows.

Ngoài ra, một số nhà sản xuất phần cứng khơng có driver hỗ trợ
Linux.


CHƯƠNG II. BẢO VỆ, QUẢN LÝ TÀI NGUYÊN PHÂN
QUYỀN TRONG LINUX
Linux là hệ điều hành quản lý tài nguyên theo cây thư mục. Nó
khơng có khái niệm phân vùng như windows. Linux quan niệm đó
khơng tồn tại. Linux sắp xếp mọi dữ liệu trong máy tính trên một "cây
thư mục duy nhất”.
Tài nguyên, ứng dụng trên Linux lưu giữa thiết đặt nội tại trong
bản thân nó trên cơ sở phân cấp người dùng. Tức là nó sẽ tạo ra những
modul được đặt trong các thư mục có quyền truy cập khác nhau. Khi
người dùng đăng nhập máy tính ở cấp độ nào thì ứng dụng chỉ truy
cập đến modul trong thư mục mà họ có quyền truy cập.

Hình 2.1. Cơ chế tổ chức tài nguyên trên Linux
II.1. Hệ thống ghi nhật ký
Khi hệ điều hành bị tắt đột ngột, trong hệ thống file xuất hiện
lỗi do file đang ghi dở, địa chỉ chưa được cập nhập … Nếu hệ thống
file đang dùng không thuộc loại hệ thống file nhật ký (ext2,…), khí
khởi động lại, hệ điều hành sẽ phát hiện được lần tắt bị lỗi (unclean
shutdown ) trước đó và tự động dùng phần mềm FSCK (file system
check) để soát và sửa lỗi. Nếu ổ cứng lớn, quá trình chạy FSCK sẽ khá
lâu và lỗi khá nặng FSCK không sửa được sẽ báo cho hệ điều hành
khởi động vào chế độ single user mode đẻ người dùng sửa. Hệ thống


file nhật ký JFS tránh việc hỏng hệ thống file bằng cách ghi một nhật
ký. Nhật ký là một file riêng ghi lại mọi thay đổi của hệ thống file vào

một vùng đệm . Sau từng khoảng thời gian định trước, những thay đổi
đó được thực hiện chính thức vào hệ thống file. Nếu giữ khoảng thời
gian đó, hệ thống bị tắt đột ngột, file nhật ký sẽ dùng để khôi phục lại
các thông tin chưa lưu và tránh làm hỏng metadata của hệ thống file.
(Metadata của hệ thống gồm các thông tin về cấu trúc dữ liệu trên ổ
cứng: ngày giờ tạo, xóa file vào thư mục, tang giảm dung lượng file,
chủ nhân của file …)
Tóm lại, hệ thống file nhật ký là hệ thống file tự chữa lỗi bằng
cách dùng một file nhật ký lưu lại mọi thay đổi trước khi thay đổi đó
được thực hiện thực sự vào hệ thống file.

Hình 2.2: Sơ đồ hệ thống file nhật ký
Hệ thống file ext2
Hệ thống file của Linux có tên là Ext2, được cải tiến từ hệ thống
file ban đầu của Linux là Ext thừa hưởng từ Minix. Hệ thống file


Minix có dung lượng tối đa là 64MB và tên file là 14 ký tự. Ext2 hỗ
trợ hệ thống file 2GB và file 255 ký tự nhưng lại bị hạn chế về tốc độ.
Ext2 hỗ trợ 4TB, tên file 255 ký tự đồng thời khắc phục được những
khuyết điểm trên.
Kiếm trúc Ext2 dùng cấu trúc dữ liệu được gọi là nút định dạng
(Inode) để tham chiếu và định vị file cũng như các dữ liệu tương ứng.
Bảng Inode chứa các thơng tin gồm các loại file. Kích thước, quyền
truy cập, cho đến những khỗi dữ liệu liên quan và các thuộc tính khác.
Hệ thống file này tổ chức đĩa thành các nhóm khối, trong đó chứa cả
thơng tin của Inode và các khối dữ liệu tương ứng.
Nhân Linux dùng lớp hệ thống file ảo (Virtual File System viết
tắt là VFS) để tương tác với hệ thống file và thực hiện các tác vụ xuất
nhập đĩa. Điều này mang lại cho Linux khả năng hỗ trợ nhiều hệ thốn

file khác nhau như DOS, FAT16, FAT32…

Hình 2.3 : Hình ảnh thể hiện vị trí VFS


Khi được khởi động hệ điều hành luôn luôn dùng một chương
trình để kiểm tra tính tồn vẹn của hệ thống file, đó là trình fsck. Nếu
phát hiện hệ thống file có dấu hiệu bất thường hoặc chưa được
unmount, do các nguyên nhân như mất điện hoặc hệ thống bị treo đột
ngột trong khi đang chạy, lúc đó fsck sẽ qt lại tồn bộ hệ thống file
để cố gắng khơi phục lại dữ liệu. Q trình kiểm tra và khơi phục lại
dữ liệu (nếu có) nhanh hay chậm phụ thuộc vào dung lượng của ổ
cứng, và với những hệ thống có dung lượng lưu trữ rất lớn như hiện
nay (từ hàng chục đến hàng trăm gigabyte) thì phải mất hàng giờ để
quét lại toàn bộ hệ thống ổ cứng. Cách làm này được áp dụng trên các
hệ thống file Unix chuẩn ufs (Sun & HP) hoặc ext2 mà Linux đang sử
dụng. Nếu hệ thống file có khả năng ghi lại (log) được các hoạt động
mà hệ điều hành đã và đang thao tác trên dữ liệu thì hệ thống xác định
được ngay những file bị sự cố mà không cần phải qt lại tồn bộ hệ
thống file, giúp q trình phục hồi dữ liệu trở nên tin cậy và nhanh
chóng hơn. Hệ thống file như vậy được gọi là journaling file system.
Cách thức journaling file system.
- Ghi nhận các lần cập nhật trên file system thành các thao tác
(transaction).
- Mọi transaction đều phải được ghi nhận trong log file.
- Một transaction được coi là hoàn tất (commit) đã được ghi
nhận đầy đủ trong log file (lúc này file system có thể chưa
được cập nhật).
- Khi file system được cập nhật với đầy đủ mọi tác vụ trong
transaction thì transaction được xóa đi trong log file.

- Nếu file system bị hỏng thì hệ điều hành dựavào các
transaction trong log file đểsửa chữa và khôi phục.


Hệ thống file ext3 chính là kiểu hệ thống file của Linux có sử
dụng JSF được phát triển từ hệ thống fil ext2.
II.2. Quyền truy nhập như thư mục và file
Mỗi file và thư mục trong Linux đều có một chủ sở hữu và một
nhóm sở hữu, cũng như một tập hợp các quyền truy nhập. Cho phép
thay đổi các quyền truy nhập và quyền sở hữu file và thư mục nhằm
cung cấp truy nhập nhiều hơn hay ít hơn. Tính chất kiểm sốt truy cập
hệ thống file Linux được thực hiện bằng cách sử dụng bộ dữ liệu,
được bảo tồn riêng cho từng file này là dữ liệu chung gọi các chế độ
truy cập, hoặc gọi là các mod của file. Các chế độ là một phần của
file, giữ lại những thơng tin trong các hệ thống file đó. Một file của
chế độ kiểm sốt truy cập có ba lớp:
Users : những người dùng sở hữufile
Group : những nhóm sở hữu file
Other : tất cả những người dùng trên hệ thống.
Thơng tin về một file có dạng sau (được hiện ra theo lệnh hiện
danh sách file ls -l):


Hình 2.4: Diễn tả cơ chế phân quyền của một file
Trong đó, dãy 10 ký tự đầu tiên mơ tả kiểu file và quyền truy
nhập đối với file đó. Theo mặc định, người dùng tạo một file chính là
người chủ (sở hữu) của file đó và là người có quyền sở hữu nó. Người
chủ của file có đặc quyền thay đổi quyền truy nhập hay quyền sở hữu
đối với file đó. Tất nhiên, một khiđó chuyển quyền sở hữu của mình
cho ngườidùng khácthì người chủ cũ khơng được phép chuyển quyền

sở hữu và quyền truy nhập được nữa.
Tập hợp một chuỗi có 10 ký tự đó giới thiệu trên đây được chia
ra làm 4 phần: kiểu file, các quyền truy nhập đến file của chủ sở hữu,
của nhóm sở hữu và người dùng khác.
Có một số kiểu file trong Linux. Ký tự đầu tiên trong tập hợp 10
ký tự mô tả kiểu file và quyền truy nhập sẽ cho biết file thuộc kiểu nào
(chữ cái đó được gọi là chữ cái biểu diễn). Bảng dưới đây sẽ liệt kê
các kiểu file, thư mục trong Linux:

Chữ cái biểu diễn

Kiểu file ,thư mục

d

Thư mục (directory)

b

File liểu khối (block- type special
file)

c

File ký tự ( charater-type special file)


l

Liên kết tượng trưng(symbolic link)


p

File đường ống (pipe)

s

Soket

-

File bình thường (regular file)

Bảng 1: Các kiểu thư mục trong Linux
Chín ký tự tiếp theo trong chuỗi là quyền truy nhập được chia ra
làm ba nhóm tương ứng với quyền truy nhập của người sử hữu, nhóm
sở hữu và người dùng khác.

Hình 2.5: 10 ký tự đầu tiên của dãy
Để hiểu được chính xác quyền truy nhập có ý nghĩa như thế nào
đối với hệ thống máy tính phải chú ý, Linux luôn coi mọi thứ là file.
Nếu cài đặt một ứng dụng, nó cũng sẽ được xem như mọi chương
trình khác, trừ một điều, hệ thống nhận biết rằng một ứng dụng là một
chương trình khả thi, tức là nó có thể chạyđược. Một bức thư gửi là
một dạng file văn bản bình thường, nhưng nếu thơng báo cho hệ thống


biết đó là một chương trình khả thi, hệ thống sẽ cố để chạy chương
trình (và tất nhiên là lỗi).
Có ba loại quyền truy nhập chính đối với thư mục/file, đó là: đọc

(read - r), ghi (write - w) và thực hiện (execute - x). Quyền đọc cho
phép người dùng có thể xem nội dung của file với rất nhiều chương
trình khác nhau, nhưng họ sẽ khơng thể thay đổi, sửa chữa hoặc xóa
bất kỳ thơng tin nào trong đó. Tuy nhiên, họ có thể sao chép file đó
thành file của họ và sửa chữa file bản sao.
Quyền ghi là quyền truy nhập tiếp theo. Người sử dụng với
quyền ghi khi truy nhập vào file có thể thêm thơng tin vào file. Nếu có
quyền ghi và quyền đọc đối với một file, có thể soạn thảo lại file đó quyền đọc cho phép xem nội dung, và quyền ghi cho phép thay đổi
nội dung file. Nếu chỉ có quyền ghi, sẽ thêm được thông tin vào
file,nhưng lại không thể xem được nội dung của file.
Loại quyền truy nhập thứ ba là quyền thực hiện, quyền này cho
phép người dùng có thể chạy được file, nếu đó là một chương trình
khả thi. Quyền thực hiện độc lập với các quyền truy nhập khác, vì thế
hồn tồn có thể có một chương trình với quyền đọc và quyền thực
hiện, nhưng khơng có quyền ghi. Cũng có trường hợp một
chươngtrình chỉ có quyền thực hiện, có nghĩa là người dùng có thể
chạy ứng dụng, nhưng khơng thể xem được cách nó làm việc hay sao
chép nó.
Thơng thường, chủ sở hữu là người tạo ra file này. Các file của
nhóm này thường được thiết lập để tạo sự mặc định của nhóm. Nhóm


có quyền sở hữu cho biết quyền cho các nhóm thành viên. Những
người khác sử dụng là những người không phải là thành viên của các
file của nhóm và khơng phải là file của người được trao quyền. Đối
với mỗi một lớp trong ba lớp của người sử dụng, các chế độ truy cập
xác định ba loại quyền khác nhau áp dụng cho các file và thư mục.
Chế độ truy cập
Ba quyền đọc, ghi, thực thi cho phép áp dụng cho ba lớp khác nhau
của người sử dụng: người sử dụng, nhóm, và khác. Đọc, viết, và thực

thi sự cho phép được hiển thị trong hình:


Hình 2.6: Chế độ truy cập bit
Giải thích hình 2.5:
SUID: Là thuộc tính cho các file thực thi duy nhất và khơng có
hiệu lực trên các thư mục.
SGID: Thuộc tính hoạt động theo cùng một cách như SUID cho
các file thực thi,qtrình cài đặt nhóm chủ sở hữu vào file của nhóm.
Ssticky: Tại một thời gian, những bit, áp dụng cho các chương
trình thực thi, cờ hệ thống, để giữ một hình ảnh của chương trình trong
bộ nhớ sau khi hồn tất chươngtrình đang chạy.
Chín bit cịn lại giới hạn quyền truy cập cho các đối tượng đó là
người sở hữu, nhóm sở hữu, và người dùng và nhóm khác theo thứ tự
lần lượt ba bít một cho từng nhóm.


Sự hạn chế trường hợp về quyền truy nhập thư mục được giải
thích. Giả sử chỉ có quyền đọc trên thư mục, khi đó sẽ xem được có
những file hay thư mục nào trong thư mục nhưng lại không thể xem
cụ thể nội dung của một file hay thư mục có trên thư mục đó vì khơng
tìm được nó. Hoặc giả sử có quyền thực hiện - quyền này sẽ cho phép
tìm được file có trên thư mục - nhưng lại khơng có quyền đọc đối với
một thư mục, vậy thì khó có thể để biết được trong thư mục có những
file nào.
Có thể tính quyền của thư mục hay file bằng cách quy đổi ra hệ
bát phân:

Bảng 2: Hệ 8 áp dụng cách tính
Mặc định, khi tạo thư mục hoặc file, hệ thống sẽ tự gán quyền

ban như sau khi người chưa thay đổi quyền truy cập cho thư mục hoặc
file đó:


Bảng 3: Chế độ truy cập ban đầu (mặc định)
II.3. Một số lệnh thay đổi chế độ truy cập
Thay đổi quyền sở hữu file với lệnh chown
Để thay đổi quyền sở hữu đối với một file, hãy sử dụng lệnh
chown với có pháp như sau:
chown [tuy chon][chon][nhom] <file ...>
Lệnh này cho phép thay chủ sở hữu file. Nếu chỉ có tham số về
chủ, thì người dùng ch sẽ có quyền sở hữu file và nhóm sở hữu khơng
thay đổi.
Nếu theo sau tên người chủ là dấu "." và tên của một nhóm thì
nhóm đó sẽ nhóm sở hữu file. Nếu chỉ có dấu "." và nhóm mà khơng
có tên người chủ thì chỉ có quyền sở hữu nhóm của file thay đổi, lúc
này, lệnh chown có tác dụng giống như lệnh chgrp.
Thay đổi quyền sở hữu nhóm với lệnh chgrp
Các file (và người dùng) cũng thuộc vào các nhóm, đây là
phương thức truy nhập file thuận tiện cho nhiều người dùng nhưng
không phải tất cả người dùng trên hệ thống. Khi đăng nhập, mặc định
sẽ là thành viên của một nhóm được root thiết lập tạo tài khoản người
dùng. Cho phép một người dùng thuộc nhiều nhóm khác nhau, nhưng
mỗi lần đăng nhập chỉ là thành viên của một nhóm. Để thay đổi quyền
sở hữu nhóm đối với một hoặc nhiều file, hãy sử dụng lệnh chgrp với
có pháp như sau: chgrp [tùy-chọn] {nhóm|--reference=nhómR}
<file...>


Lệnh này cho phép thay thuộc tính nhóm sở hữu của file theo tên

nhóm được chỉ ra trực tiếp theo tham số nhóm hoặc gián tiếp qua
thuộc tính nhóm của file có tên là nhóm R.
Thay đổi quyền truy cập file với lệnh chmod.
Chế độ truy cập có thể được thay đổi với chmod lệnh, tương
đương chế độ truy cập tượng trưng hoặc truy cập vào chế độ kỹ thuật
chi tiết.

Hình 2.7: Ký tự đặc biệt đối với lệnh chmod
II.4. Một số phần mềm bảo mật khác trên Linux
II.4.1. Linux sXid
Các thuộc tính SUID/SGID có thể trở thành một mối nguy cho
vấn đề bảo mật và an toàn của hệ thống . Để giảm các rủi ro này, trước
đây đã xóa các bit từ các chương trình được sở hữu bởi root mà sẽ
không yêu cầu nhiều quyền sử dụng, nhưng tương lai các file tồn tại
khác có thể cài đặt với bit được bật lên khi khơng có sự thơng báo của
người quản trị. SXid là một chương trình theo dõi hệ thống suid/sgid
được thiết kế chạy từ cron trên một nguyên lý cơ bản. Cơ bản là theo


×