Sự khác biệt giữa httpd_read_user_content và httpd_enable_homedirs là gì?


8

Mô-đun apache của SELinux có hai tham số boolean tương tự: httpd_read_user_contenthttpd_enable_homedirs.

Trang Man cho biết cái trước cho phép httpd đọc nội dung người dùng và cái sau cho phép httpd đọc thư mục nhà .

sự khác biệt giữa chúng là gì?

Tôi nên đặt tham số nào đúng nếu tôi muốn cho phép httpd đọc tệp trên /home/foothư mục?

Câu trả lời:


10

httpd_read_user_contentcho phép bất kỳ máy chủ web hạn chế nào đọc tệp trong thư mục nhà của người dùng /home.

httpd_enable_homedirscho phép Apache sử dụng UserDirchỉ thị của nó (tức là các URL trông như thế nào http://www.example.com/~username/).

Nếu bạn chỉ ánh xạ tên miền vào thư mục của người dùng, thì nó đủ để kích hoạt tên đầu tiên httpd_read_user_content, nhưng nếu bạn muốn sử dụng thư mục người dùng Apache, bạn nên kích hoạt cả hai.


2

Sau khi tự mình thực hiện một số nghiên cứu, tôi đã điều tra sự khác biệt giữa chúng bằng cách sử dụng sesearchlệnh:

$ Sesearch --allow -s httpd_t -b httpd_read_user_content
Tìm thấy 5 quy tắc av ngữ nghĩa:
   cho phép httpd_t user_home_dir_t: dir {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t user_home_t: file {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t user_home_t: dir {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t home_root_t: dir {getattr tìm kiếm mở}; 
   cho phép httpd_t home_root_t: lnk_file {đọc getattr};
$ Sesearch --allow -s httpd_t -b httpd_enable_homedirs
Tìm thấy 15 quy tắc av ngữ nghĩa:
   cho phép httpd_t user_home_dir_t: dir {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t user_home_dir_t: lnk_file {đọc getattr}; 
   cho phép httpd_t autofs_t: dir {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t cifs_t: file {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t cifs_t: dir {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t cifs_t: lnk_file {đọc getattr}; 
   cho phép httpd_t nfs_t: file {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t nfs_t: dir {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t nfs_t: lnk_file {đọc getattr}; 
   cho phép httpd_t user_home_t: file {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t user_home_t: dir {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t user_home_type: dir {getattr tìm kiếm mở}; 
   cho phép httpd_t user_home_type: lnk_file {đọc getattr}; 
   cho phép httpd_t home_root_t: dir {ioctl đọc khóa getattr mở}; 
   cho phép httpd_t home_root_t: lnk_file {đọc getattr}; 

Tất cả các quy tắc của http_read_user_contentđược bao gồm trong httpd_t -b httpd_enable_homedirs. Đó là, phạm vi của cái sau rộng hơn cái trước.

Như Michael đã nói một cách chính xác, chúng ta chỉ nên kích hoạt cái đầu tiên nếu chúng ta chỉ muốn đặt gốc tài liệu trên thư mục chính của người dùng.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.