<Trước | Nội dung | Tiếp theo>
Thực hiện các đặc quyền của chúng tôi
Bây giờ chúng ta đã tìm hiểu cách thức hoạt động của quyền này, đã đến lúc thể hiện nó. Chúng tôi sẽ chứng minh giải pháp cho một vấn đề chung - thiết lập một chỉ thị được chia sẻ. Hãy tưởng tượng rằng chúng ta có hai người dùng tên là “bill” và “karen”. Cả hai đều có bộ sưu tập CD mu-sic và muốn thiết lập một thư mục dùng chung, nơi mỗi người sẽ lưu trữ các tệp nhạc của mình dưới dạng Ogg Vorbis hoặc MP3. Người sử dụng hóa đơn có quyền truy cập vào các đặc quyền của siêu người dùng thông qua sudo.
Điều đầu tiên cần phải xảy ra là tạo một nhóm có cả hai hóa đơn và karen với tư cách là thành viên. Sử dụng công cụ quản lý người dùng đồ họa, hóa đơn tạo một nhóm được gọi là Âm nhạc và thêm người dùng hóa đơn và karen với nó:
Hình 3: Tạo nhóm mới với GNOME
Tiếp theo, hóa đơn tạo thư mục cho các tệp nhạc:
[bill @ linuxbox ~] $ sudo mkdir / usr / local / share / Music
Mật khẩu:
[bill @ linuxbox ~] $ sudo mkdir / usr / local / share / Music
Mật khẩu:
từ hóa đơn đang thao tác các tệp bên ngoài thư mục chính của anh ấy, các đặc quyền của người dùng siêu cấp được yêu cầu. Sau khi tạo thư mục, nó có các quyền và quyền sở hữu sau:
[bill @ linuxbox ~] $ ls -ld / usr / local / share / Music
drwxr-xr-x 2 root root 4096 2016-03-21 18:05 / usr / local / share / Music
[bill @ linuxbox ~] $ ls -ld / usr / local / share / Music
drwxr-xr-x 2 root root 4096 2016-03-21 18:05 / usr / local / share / Music
Như chúng ta có thể thấy, thư mục được sở hữu bởi nguồn gốc và có 755 quyền. Để làm cho thư mục này có thể chia sẻ được, hóa đơn cần thay đổi quyền sở hữu nhóm và quyền của nhóm để cho phép viết:
[bill @ linuxbox ~] $ sudo chown: music / usr / local / share / Music [bill @ linuxbox ~] $ sudo chmod 775 / usr / local / share / Music [bill @ linuxbox ~] $ ls -ld / usr / local / share / Music
drwxrwxr-x 2 root nhạc 4096 2016-03-21 18:05 / usr / local / share / Music
[bill @ linuxbox ~] $ sudo chown: music / usr / local / share / Music [bill @ linuxbox ~] $ sudo chmod 775 / usr / local / share / Music [bill @ linuxbox ~] $ ls -ld / usr / local / share / Music
drwxrwxr-x 2 root nhạc 4096 2016-03-21 18:05 / usr / local / share / Music
Vậy tất cả những điều này có nghĩa là gì? Có nghĩa là bây giờ chúng ta có một thư mục,
/ usr / local / share / Music do root sở hữu và cho phép đọc và ghi vào nhạc nhóm. Nhóm nhạc có bill và karen thành viên, do đó bill và karen có thể tạo tệp trong thư mục / usr / local / share / Music. Những người dùng khác có thể liệt kê nội dung của thư mục nhưng không thể tạo tệp ở đó.
Nhưng chúng tôi vẫn có một vấn đề. Với quyền hiện tại, các tệp và thư mục được tạo trong thư mục Nhạc sẽ có quyền bình thường của người dùng hóa đơn và karen:
[bill @ linuxbox ~] $ > / usr / local / share / Music / test_file
[bill @ linuxbox ~] $ ls -l / usr / local / share / Music
-rw-r - r-- 1 hóa đơn thanh toán 0 2016-03-24 20:03 test_file
[bill @ linuxbox ~] $ > / usr / local / share / Music / test_file
[bill @ linuxbox ~] $ ls -l / usr / local / share / Music
-rw-r - r-- 1 hóa đơn thanh toán 0 2016-03-24 20:03 test_file
Thực ra có hai vấn đề. Đầu tiên, mặc định cái ô trên hệ thống này là 0022, ngăn không cho các thành viên trong nhóm ghi tệp của các thành viên khác trong nhóm. Điều này sẽ không thành vấn đề nếu thư mục dùng chung chỉ chứa các tệp, nhưng vì thư mục này sẽ lưu trữ nhạc và âm nhạc thường được sắp xếp theo thứ bậc gồm các nghệ sĩ và đồng nghiệp, các thành viên của nhóm sẽ cần khả năng tạo tệp và các thư mục bên trong thư mục được tạo bởi các thành viên khác. Chúng ta cần thay đổi cái ô được sử dụng bởi hóa đơn và karen thay vào đó là 0002.
Thứ hai, mỗi tệp và thư mục được tạo bởi một thành viên sẽ được đặt thành nhóm chính của người dùng thay vì nhóm Âm nhạc. Điều này có thể được khắc phục bằng cách đặt bit setgid trên thư mục:
[bill @ linuxbox ~] $ sudo chmod g + s / usr / local / share / Music
[bill @ linuxbox ~] $ sudo chmod g + s / usr / local / share / Music
Thực hiện các đặc quyền của chúng tôi
[bill @ linuxbox ~] $ ls -ld / usr / local / share / Music
drwxrwsr-x 2 root nhạc 4096 2016-03-24 20:03 / usr / local / share / Music
[bill @ linuxbox ~] $ ls -ld / usr / local / share / Music
drwxrwsr-x 2 root nhạc 4096 2016-03-24 20:03 / usr / local / share / Music
Bây giờ chúng tôi kiểm tra xem liệu các quyền mới có khắc phục được sự cố hay không. hóa đơn đặt của anh ấy cái ô đến 0002, xóa tệp thử nghiệm trước đó và tạo một tệp và thư mục thử nghiệm mới:
[bill @ linuxbox ~] $ ô 0002
[bill @ linuxbox ~] $ rm / usr / local / share / Music / test_file [bill @ linuxbox ~] $ > / usr / local / share / Music / test_file [bill @ linuxbox ~] $ mkdir / usr / local / share / Music / test_dir [bill @ linuxbox ~] $ ls -l / usr / local / share / Music
drwxrwsr-x 2 bill nhạc 4096 2016-03-24 20:24 test_dir
-rw-rw-r-- 1 bill nhạc 0 2016-03-24 20:22 test_file [bill @ linuxbox ~] $
[bill @ linuxbox ~] $ ô 0002
[bill @ linuxbox ~] $ rm / usr / local / share / Music / test_file [bill @ linuxbox ~] $ > / usr / local / share / Music / test_file [bill @ linuxbox ~] $ mkdir / usr / local / share / Music / test_dir [bill @ linuxbox ~] $ ls -l / usr / local / share / Music
drwxrwsr-x 2 bill nhạc 4096 2016-03-24 20:24 test_dir
-rw-rw-r-- 1 bill nhạc 0 2016-03-24 20:22 test_file [bill @ linuxbox ~] $
Cả hai tệp và thư mục hiện được tạo với các quyền chính xác để cho phép tất cả các ghi nhớ của nhóm Âm nhạc để tạo tệp và thư mục bên trong Âm nhạc thư mục.
Một vấn đề còn lại là cái ô. Cài đặt cần thiết chỉ kéo dài cho đến khi kết thúc chương trình và phải được đặt lại. Trong Chương 11, chúng ta sẽ xem xét việc thực hiện thay đổi đối với cái ô dài hạn.
<Trước | Nội dung | Tiếp theo>