Nội Dung Bài Viết
1. Kiến trúc của linux
1.1 Hệ thông tập tin (File system)
Mỗi hệ điều hành điều có cách tổ chức lưu trữ dữ liệu khác nhau.
Ví dụ: DOS sử dụng cơ chế FAT16, FAT32, NTFS. TRong khi đó linux sử dụng hệ thống ext2 để lưu trữ tiệp tin. Để tạo 1 đĩa miền với hệ thống file ext2 cho linux ta thực hiện 2 bước sau:
# fdformat /dev/fd0
# mkfs /dev/fd0
Bất kỳ hệ thống file nào cũng cung cấp cho bạn các lệnh cơ bản như
# ls -l /home Liệt kê thư mục
# mkdir /home/data Tạo thư mục con data trong thư mục home
# cd /home/data Chuyển vào thư mục home/data
# cat > test.txt Tạo vào ghi vào file tes.txt
Hello Kevin!
^D
# cat test.txt xem nội dung file
# pwd xem thư mục hiện hành
# rm test.txt xóa tiệp tin test.txt
# rmdir ./data xóa thư mục data.
1.2 Tiến trình (process)
Ta nói các tiến trình có thể chạy song song đồng thời, nhưng thực tế thì chương trình thực thi một cách tuần tự chứ không song song vì ở mỗi thời điểm CPU chỉ xử lý được một tiến trình mà thôi. Hầu hết các hệ điều hành mô phỏng khả năng xử lý song song bằng kỹ thuật điều phối tiến trình theo thời gian (Time Schedule).
1.3 Các thư mục trên linux.
/bin thư mục chứa file chương trình thực thi và file khởi động của hệ thống (dạng nhị phân)
/boot các file ảnh (Image file) của kernel
/dev chứa các file thiết bị
/etc chứa các file cấu hình toàn cục của hệ thống
/home chứa thư mục con đại diện cho mỗi user khi đăng nhập.
/lib chứa các thư viện C và các thư viện liên kế động
/mnt thư mục này chứa các thư mục gắn kết tạm thời đến các ổ đĩa hay thiết bị khác.
/tmp là thư mục tạm dùng để chứa các file tạm mà lúc chương trình thực thi
/var thư mục này chứa các biến.
1.4 Phân quyền Bảo vệ và truy cập file.
1.4.1 Quyền truy xuất file, thư mục
Trong linux đối với một tiệp tin hay thư mục bất kỳ điều có 3 quyền
r: cho phép đọc (read)
w: cho phép ghi (write)
x: cho phép thực thi (exceute)
–: không cho phép.
Nhưng các quyền này được chỉ định cho 3 đối tượng.
Owner : người sở hữu (user)
Group: Nhóm sở hữu.
Other: Người sử dụng thông thường
ví dụ:
1 | # ls – l testfile - r-x rwx rw- 1 root books 2211 NOV 22:11 testfile file type |
-: nên testfile là một dạng file test, d là thưc mục, p là p
Nhóm user r-x tức user có quyền đọc và thực thi nhưng không có quyền ghi.
Nhóm Group rwx có đầy đủ các quyền đọc ghi và thực thi.
Nhóm Other rw- chỉ có quyền đọc và ghi không có quyền thực thi 1: là liên kết cứng user ở đây là quyền root.
Group là nhóm books.
Muốn thay đổi quuyền trên file ta sử dụng lệnh chmod lệnh này truy xuất với các nhóm u(user) g(group) o(other) và tiền tố +/- để thêm bớt quyền
ví dụ:
1 | # ls – l testfile - r-x rwx rw- 1 root books 2211 NOV 22:11 testfile |
để thay đổi quyền ghi cho user và quyền thực thi cho Other:
1 | # chmod u+w o+x testfile # ls – l testfile - rw rwx rwx 1 root books 2211 NOV 22:11 testfile |
để loại bỏ quyền của nhóm Other:
1 | # chmod g-r testfile # ls – l testfile - rw rwx --- 1 root books 2211 NOV 22:11 testfile |
Ngoài ra có thể sử dụng lệnh chmod bằng cách khác ngắn gọn hơn.
ví dụ:
1 | # ls – l testfile - r-x rwx rw- 1 root books 2211 NOV 22:11 testfile |
Nhóm user r-x = 4 + 1 = 5 Nhóm Group rwx = 4 + 2 + 1 = 7 Nhóm Other rw- = 4 + 2 = 6
để thay đổi quyền ghi cho user và quyền thực thi cho Other:
1 | # chmod 777 testfile # ls – l testfile - rw rwx rwx 1 root books 2211 NOV 22:11 testfile |
1.4.2 Các đối tượng truy cập file, thư mục
Đầu tiên người quản trị dùng lệnh groupadd để tạo group mới,sau đó dùng lệnh useradd để tạo tài khoản cho user và chỉ định user đó thuộc nhóm nào.
ví dụ:
1 2 3 | # groupadd books tạo ra group b # mkdir /home/kv tạo ra user kv thuộc đối tượng b # useradd kv -g books -d /home/kv -p 2211kq |
-g chỉ định nhóm mà tài khoản kv thuộc. -d chỉ định đường dẫn chứa user mới tạo. -p passwork cho tài khoản kv.
1 2 3 4 | # su kv chuyển quyền từ quản trị sang đăng nhập với tư cách user kv. # login linux login: kv passwork: ****** $ pwd |
Ta thử làm việc với quyền của user kv bằng cách tạo và viết một file
1 2 | $ cat > test.txt bash: test.txt : permission denied |
tại sao lại không thể thực thi lệnh trên nhỉ? thử kiểm tra bằng lệnh ls -l thử xem nha. nhưng trước tiên hãy quay về với quyền root nhá.
1 | # ls -l /home d rwx rwx r-x 4 root root 2230 nov 22:11 kv |
rõ ràng ở nhóm Other chỉ có quyền đọc và thực thi thôi. Do đó phải cấp quyền ghi cho nhóm này, để thực hiện điều đó ta có thể sử dụng lệnh chmod như phía trên.
Cách 1: chmod tất cả mọi người điều có quyền đọc ghi
1 2 | # chmod o+w /home/kv # ls -l /home d rwx rwx rwx 4 root root 2230 nov 22:11 kv |
Cách 2: chgrp đổi nhóm của file, chỉ những người thuộc group mới được quyền đọc và ghi
1 2 | # chgrp books /home/kv # ls -l /home d rwx rwx rwx 4 root books 2230 nov 22:11 kv |
Cách 3: chown thay đổi quyền sở hữu, chỉ một người được quyền truy cập.
1 2 | # chown kv /home/kv # ls -l /home d rwx rwx rwx 4 kv root 2230 nov 22:11 kv |
Bài viết đến đây cũng hơi dài rồi. Bài viết tiếp theo, tôi viết tiếp phần 2 tập lệnh của Linux. Các bạn nhớ theo dõi đọc tiếp phần tiếp theo tại đây nhé.
Nguồn Sách Lập trình LINUX Tác giả Nguyễn Phương Lan – Hoàng Đức Hải.
Bài viết các bạn có thể tham khảo:
- Các tập lệnh của Linux (Phần 2) – Tìm hiểu Linux cơ bản
- Các tập lệnh của Linux (Phần 3) – Tìm hiểu Linux cơ bản
- Lập trình shell