Eu sou novo no SELinux. veio do debian. Eu quero dar httpd
acesso a um diretório.
O Navegador de alertas do SELinux sugere:
# grep httpd /var/log/audit/audit.log | audit2allow -M mypol
# semodule -i mypol.pp
Eu não conseguia entender como esse comando funciona. Eu não especifico um caminho de diretório em nenhum lugar. como ele sabe qual diretório permitir httpd?
Anteriormente, usei o grep para extrair texto da saída ou arquivo. Mas aqui o grep está sendo usado em um processo. Que eu não entendi.
Também qual é a solução real. Se eu quiser conceder acesso de gravação httpd a um diretório?
fedora
rhel
apache-httpd
selinux
Neel Basu
fonte
fonte
Respostas:
Veja como alterar permanentemente o contexto de um diretório:
Aqui está mais uma documentação sobre os diferentes contextos para httpd:
RHEL 7: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/SELinux_Users_and_Administrators_Guide/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html
RHEL 6: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Managing_Confined_Services/sect-Managing_Confined_Services-The_Apache_HTTP_Server-Types.html
fonte
O SELinux utiliza atributos estendidos que podem ser anexados às estruturas de diretório no disco. Pense se estes são metadados. Listas de controle de acesso (ACLs) sendo outra.
Os atributos estendidos que você precisa anexar a um diretório são chamados de contextos e o SELinux age como um guarda de trânsito, garantindo que um executável que tenha determinados contextos tenha permissão para acessar o sistema de arquivos com base nesses contextos. Você pode ver o que está disponível no diretório usando o
-Z
interruptor parals
.Aqui você pode ver que esses diretórios têm o contexto
httpd_sys_script_exec_t:s0
nocgi-bin
diretório e ohtml
dir. temhttpd_sys_content_t:s0
.Você pode adicioná-los usando o
chcon
comando:O comando que você está perguntando simplesmente carregará o módulo.
mypoll.pp
Eu não acredito que ele concederá permissões para qualquer coisa; provavelmente há mais mensagens noaudit.log
que você está perdendo com o seu comando, que lhe dirá com mais detalhes o que você precisa fazer para permitir o acesso.Eu o encorajo a dedicar algum tempo e se familiarizar com o SELinux. É confuso no começo, mas geralmente é direto, depois de passar um pouco de tempo com ele. Veja os recursos abaixo para começar.
Referências
fonte
chcon -R -t httpd_sys_content_t <dir>