Giáo trình Học linux permission Giáo trình Học linux permission
Trang 1Quản lý tài khoản và phân
quyền người dùng
Trang 2L o g o
Quản lý người dùng
Trong Linux có 3 dạng đối tượng:
- User : tài khoản người dùng
Trang 3L o g o
Quản lý người dùng
- User : là người dùng có thể truy cập tới hệ thống
Mỗi tài khoản phải có mật khẩu tương ứng
Có 2 loại user:
Super user: root: có toàn quyền trên hệ thống
regular user: người dùng thường: user1, user2
Để quản trị người dùng: tạo mới, thay đổi thuộc
tính, xóa bỏ phải có quyền của root
Mỗi user có một định danh riêng gọi là UID
Định danh của người dùng thường bắt đầu từ 500
Trang 4L o g o
Quản lý người dùng
Mỗi user luôn là thành viên của một group
Khi tạo một user thì mặc định một group được tạo ra
Mỗi group còn có một định danh riêng gọi là GID
Định danh của group thường sử dụng giá trị bắt
đầu từ 500 –CentOS, 1000-Ubuntu
Trang 6L o g o
Quản lý người dùng
Quản trị user và group bằng đồ họa:
1 Tạo user và group:
Trang 7L o g o
Quản lý người dùng
Quản trị user và group bằng dòng lệnh:
1 Tạo user:
Cú pháp: #useradd [option] <username>
Ví dụ: tạo người dùng có tên user4
Chuyển sang chế độ user4
Trang 8L o g o
Quản lý người dùng
Quản trị user và group bằng dòng lệnh:
2 Đặt mật khẩu user:
Cú pháp: #passwd [option] <username>
-d <delete>: xóa mật khẩu người dùng -l <lock>: khóa mật khẩu
-u <unlock>: mở khóa mật khẩu
Trang 9L o g o
Quản lý người dùng
Quản trị user và group bằng dòng lệnh:
2 Sửa thông tin user:
Cú pháp: #usermod [option] <username>
• -c, comment : thay đổi thông tin cá nhân của tài khoản người dùng.
• -g, initial_group : tùy chọn này thay đổi tên hoặc số khởi tạo đăng
nhập nhóm người dùng
• -p, passwd : thay đổi mật khẩu đăng nhập của tài khoản người dùng.
Trang 10L o g o
Quản lý người dùng
Quản trị user và group bằng dòng lệnh:
3 Xóa user:
Cú pháp: #userdel [option] <username>
• -r, remove : gỡ bỏ thư mục người dùng.
• -f, force: gỡ bỏ ngay cả khi không phải chủ sở hữu
Ví dụ:
Trang 13L o g o
Quản lý người dùng
Những file có liên quan đến user và group:
1 /etc/passwd : chứa danh sách các tài khoản trên hệ
thống, cung cấp thông tin về tài khoản như: User ID, Group ID, Home Directory, Shell…
Trang 14L o g o
Quản lý người dùng
Những file có liên quan đến user và group:
1 /etc/passwd : định dạng của file
Trường 1: Tên người dùng được sử dụng khi đăng nhập
Trường 2: chỉ ra mật khẩu mã hóa được lưu trong tập tin shadow
Trường 3: UID: định danh của người dùng: 0 (root), 1-99 (tài khoản hệ thống),
500 – 999 (tài khoản người dùng định nghĩa) (Ubuntu 1000-9999)
Trường 4: GID: định danh của nhóm (lưu trữ trong /etc/group)
Trường 5: Tên nhóm của người dùng Trường 7: đường dẫn Shell
Trường 6: Thư mục của người dùng
Trang 15L o g o
Quản lý người dùng
Những file có liên quan đến user và group:
2 /etc/shadow : chứa mật khẩu đã được mã hóa
Trường 1: Tên người dùng được sử dụng khi đăng nhập
Trường 2: Mật khẩu đã được mã hóa dùng thuật toán MD5 Nếu trường này
rỗng thì chưa đặt mật khẩu cho tài khoản này, nếu là ký tự * thì tài khoản này bị vô hiệu hóa.
Những trường còn lại có liên quan tới ngày của mật khẩu.
- Chỉ có người dung root mới có quyền đọc file này
Trang 16L o g o
Quản lý người dùng
Những file có liên quan đến user và group:
3 /etc/group : chứa thông tin về group của user:
4 /etc/gshadow: chứa mật khẩu của group (ít sử dụng)
Trang 17L o g o
Quản lý người dùng
Thực hành:
- Tạo user1, user2, user3 với mật khẩu tương ứng
- Chuyển đổi shell làm việc của mỗi user
Trang 18L o g o
Phân quyền
Mục đích phân quyền: Linux xác thực chương
trình và người dùng khi thao tác với dữ liệu.
Các quyền trên hệ thống
Trang 20L o g o
Phân quyền
Phần quyền bằng dòng lệnh:
Trang 24#Chown [user]:[group] [path]
- Thay đổi quyền sở hữu của nhóm đối với file
và thư mục:
#Chgrp [group] [path]
Trang 25L o g o
Phân quyền
Thực hành:
- Tạo thư mục /Thuchanh (bằng quyền root)
- Tạo file baitap.txt trong thư mục /Thuchanh
- Thay đổi chủ sở hữu baitap.txt là User1.
- Cấp quyền: Toàn quyền với User1, cho phép User2
quyền ghi, Other quyền đọc lên file baitap.txt
(user1 và user2 cùng nhóm kma)
- Logon vào các User để kiểm tra kết quả
Trang 26L o g o
Cấu trúc các bit đặc biệt
1 Sticky bit:
- Được sử dụng cho các thư mục chia sẻ, nhằm ngăn
chặn người dùng đổi tên hay xóa file của người dùng khác
- Những user có quyền: root, owner file, owner của thư
mục chứa file
- Khi sticky được thiết lập thì sẽ xuất hiện chữ “t” nằm
ở vị trí cuối cùng của câu lệnh hiển thị permission
- Lệnh:
#Chmod +t [đường dẫn]
Trang 27L o g o
Cấu trúc các bit đặc biệt
Bài tập:
- Cấp quyền 777 cho thư mục /kma
- Lần lượt login vào User1, User2, User3
- Mỗi người dùng tạo thư mục riêng trong thư mục
/kma.
- Kiểm tra người dùng này thay đổi, xóa thư mục của
người khác?
- Login vào root thiết lập Stickey cho thư mục /kma
- Login vào từng người dùng kiểm tra xem người dùng này có thay đổi, xóa thư mục của người khác?
Trang 28L o g o
Cấu trúc các bit đặc biệt
2 SUID và SGID (setuid và setgid):
- Được thiết lập cho một ứng dụng hoặc file thực thi
- Người dùng không phải là chủ sở hữu của file cũng có thể thực thi như chính chủ sở hữu.
- Đối với thư mục: Thừa kế quyền sở hữu của nhóm.
- Ví dụ: #ls –l /usr/bin/passwd
- Lệnh:
#chmod u+s [đường dẫn]
#chmod g+s [đường dẫn]
Trang 29L o g o
Liên kết tập tin
1 Liên kết cứng (hard link): là liên kết trong cùng một hệ thống
tập tin với hai node entry tương ứng trỏ đến cùng một nội dung vật lý.
- Filename và othername cùng inode sẽ cùng tham chiếu đến
vùng nhớ trong bộ nhớ chứa dữ liệu.
- Cú pháp: #ln [đường dẫn 1] [đường dẫn 2]
Trang 30L o g o
Liên kết tập tin
Ví dụ:
- Tạo tập tin hardlink.txt ở thư mục gốc “/”:
- Kiểm tra tập tin vừa tạo:
- Tạo tập tin hardlink_1.doc bằng cách dùng liên kết cứng với
tập tin hardlink.txt:
Trang 31L o g o
Liên kết tập tin
- Nhập nội dung “test hard link” vào tập tin hardlink.txt:
- Kiểm tra nội dung của tập tin liên kết cứng hardlink_1.doc:
- Kiểm tra inode entry của 2 tập tin vừa tạo:
=> inode của tập tin gốc và tập tin được tạo ra bằng liên kết cứng là như nhau
Trang 32L o g o
Liên kết tập tin
2 Symbolic link (liên kết mềm): là liên kết không dùng đến node
entry mà chỉ đơn thuần là tạo shortcut.
Trang 33L o g o
Liên kết tập tin
Ví dụ:
- Tạo tập tin symboliclink.txt ở thư mục gốc “/”:
- Tạo tập tin symboliclink_1.doc bằng cách dùng liên kết mềm
với symboliclink.txt:
- Kiểm tra tập tin vừa tạo:
Trang 34L o g o
Liên kết tập tin
- Nhập nội dung “test symbolic link” vào tập tin symboliclink.txt:
- Kiểm tra nội dung của tập tin liên kết cứng hardlink_1.doc:
- Kiểm tra inode entry của 2 tập tin vừa tạo:
=> inode của tập tin gốc và tập tin được tạo ra bằng liên kết mềm
khác nhau.
Trang 35L o g o
Liên kết tập tin
- Xoá tập tin symboliclink.txt
- Kiểm tra nội dung của tập tin liên kết mềm symboliclink_1.doc
=> Chú ý: - Khi xoá tập tin gốc, tập tin symboliclink không thể xem được.