4.5 Quyền truy cập đến tập tin và thư mục
73
Việc tạo bất kỳ một liên kết nào cũng giống như sao chép tập tin, nhưng khác
ở chỗ là tên ban đầu của tập tin cũng như liên kết cùng chỉ đến một tập tin thực
sự trên đĩa. Vì thế nếu bạn đọc thay đổi tập tin qua một tên nào đó của nó, thì sẽ
thấy những thay đổi này khi xem tập tin qua tên khác. Để tạo liên kết mềm cần
sử dụng câu lệnh ln đã nói đến và thêm vào tùy chọn -s:
[user]$ ln -s tên_tập_tin tên_liên_kết
Ví dụ:
[user]$ ln -s projects/l4u/l4u-0.9.2.pdf ~/l4u.pdf
Sau khi thực hiện câu lệnh này trong thư mục cá nhân của tôi xuất hiện tập
tin l4u.pdf. Và bây giờ nếu xem danh sách tập tin trong thư mục bằng câu lệnh
ls -l
, thì trong danh sách sẽ có một dòng như sau:
lrwxrwxrwx 1 teppi82 users 20 2006-09-10 06:39 l4u.pdf -> projects/l4u/l4u-0.9.2.pdf
Hãy chú ý đến ký tự đầu tiên của dòng này, nó cho chúng ta biết tập tin là
một liên kết mềm. Tất nhiên điều này có thể thấy rõ trong phần cuối (phần tên
tập tin), ở đó sau tên tập tin của liên kết là một mũi tên → chỉ đến tập tin ban
đầu.
Nếu bạn tạo trong thư mục mot một liên kết mềm chỉ đến một thư mục khác,
thì có thể di chuyển thư mục mot đi đâu tùy thích, liên kết mềm khi đó vẫn làm
việc đúng. Cũng như vậy đối với chính bản thân liên kết mềm. Nhưng khi tạo
liên kết mềm, hãy hạn chế sử dụng “..” (liên kết đến thư mục mẹ) trong tên tập
tin chỉ đến, bởi vì vị trí của liên kết mềm có thể thay đổi, mà “..” luôn luôn là
thư mục mẹ của thư mục hiện thời.
4.5
Quyền truy cập đến tập tin và thư mục
Bởi vì Linux là hệ điều hành nhiều người dùng, nên yêu cầu quy định truy cập
đến các tập tin và thư mục là một trong những yêu cầu thiết yếu nhất mà hệ
điều hành phải giải quyết. Cơ chế quy định truy cập được phát triển cho hệ
thống UNIX vào những năm 70 của thế kỷ trước rất đơn giản nhưng có hiệu quả
đến nỗi đã được sử dụng hơn 30 năm, và hiện thời vẫn còn được sử dụng để giải
quyết bài toán này.
Cơ sở của cơ chế quy định quyền truy cập đó là tên người dùng và tên nhóm
của người dùng. Như bạn đã biết trong Linux mỗi người dùng có một tên riêng
không lặp lại dùng để đăng nhập vào hệ thống. Ngoài ra, trên hệ thống còn có
các nhóm người dùng, và Linux cho phép một người dùng có thể nằm trong một
hoặc nhiều nhóm. Tạo và xóa các nhóm là công việc của người dùng cao cấp root,
và root có thể thay đổi thành phần của một nhóm nào đó. Thành viên của các
nhóm khác nhau có thể có quyền truy cập khác nhau đến tập tin, ví dụ nhóm các
nhà quản trị có quyền nhiều hơn so với nhóm các nhà lập trình.
Trong mô tả inode của mỗi tập tin có ghi tên của chủ và nhóm sở hữu tập tin.
Ngày từ đầu khi tạo tập tin chủ của nó là người dùng đã tạo ra nó. Nói chính xác
hơn là người dùng mà tiến trình tạo tập tin đã chạy dưới tên họ. Cùng lúc với