Qual è la differenza tra httpd_read_user_content e httpd_enable_homedirs?


8

Il modulo apache di SELinux ha due parametri booleani simili: httpd_read_user_contente httpd_enable_homedirs.

La pagina man dice che la prima consente a httpd di leggere il contenuto dell'utente e la seconda a httpd di leggere le home directory .

Qual'è la differenza tra loro?

Quale parametro devo impostare vero se voglio consentire a httpd di leggere i file nella /home/foodirectory?

Risposte:


10

httpd_read_user_contentconsente a qualsiasi server Web confinato di leggere i file nelle home directory degli utenti in /home.

httpd_enable_homedirsconsente ad Apache di usare la sua UserDirdirettiva (cioè URL che sembrano http://www.example.com/~username/).

Se stai semplicemente mappando i nomi di dominio nelle directory degli utenti, dovrebbe essere sufficiente abilitare la prima httpd_read_user_content, ma se vuoi usare le directory degli utenti di Apache, dovresti abilitarle entrambe.


2

Dopo aver fatto qualche ricerca da solo, ho studiato le differenze tra loro usando il sesearchcomando:

$ sesearch --allow -s httpd_t -b httpd_read_user_content
Trovate 5 regole semantiche av:
   consentire httpd_t user_home_dir_t: dir {ioctl read getattr lock search open}; 
   consentire httpd_t user_home_t: file {ioctl read getattr lock open}; 
   consentire httpd_t user_home_t: dir {ioctl read getattr lock search open}; 
   consentire httpd_t home_root_t: dir {getattr search open}; 
   consentire httpd_t home_root_t: lnk_file {leggi getattr};
$ sesearch --allow -s httpd_t -b httpd_enable_homedirs
Trovate 15 regole semantiche av:
   consentire httpd_t user_home_dir_t: dir {ioctl read getattr lock search open}; 
   consentire httpd_t user_home_dir_t: lnk_file {leggi getattr}; 
   consentire httpd_t autofs_t: dir {ioctl read getattr lock search open}; 
   consentire httpd_t cifs_t: file {ioctl read getattr lock open}; 
   consentire httpd_t cifs_t: dir {ioctl read getattr lock search open}; 
   consentire httpd_t cifs_t: lnk_file {leggi getattr}; 
   consentire httpd_t nfs_t: file {ioctl read getattr lock open}; 
   consentire httpd_t nfs_t: dir {ioctl read getattr lock search open}; 
   consentire httpd_t nfs_t: lnk_file {leggi getattr}; 
   consentire httpd_t user_home_t: file {ioctl read getattr lock open}; 
   consentire httpd_t user_home_t: dir {ioctl read getattr lock search open}; 
   consentire httpd_t user_home_type: dir {getattr search open}; 
   consentire httpd_t user_home_type: lnk_file {leggi getattr}; 
   consentire httpd_t home_root_t: dir {ioctl read getattr lock search open}; 
   consentire httpd_t home_root_t: lnk_file {leggi getattr}; 

Tutte le regole del http_read_user_contentsono incluse nel httpd_t -b httpd_enable_homedirs. Cioè, il campo di applicazione di quest'ultimo è più ampio del primo.

Come Michael ha detto correttamente, dovremmo abilitare solo il primo se vogliamo solo posizionare il root del documento nella home directory di un utente.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.