# semanage fcontext -a -t public_content_rw_t "/myftp/pub(/.*)?"
Não se esqueça de incluir o (/.*)?
no final do nome do diretório.
I also tried to use audit2allow to generate a policy, but what it does is generate a policy that gives ftpd write access to directories of type public_content_t; this is equivalent to turning on allow_ftpd_full_access, if I understood it correctly
Essencialmente, sim; já que o SELinux permite que diretórios / arquivos rotulados com public_content_t
sejam compartilhados entre diferentes serviços. No entanto, o controle de acesso adicional está em vigor por meio do uso de sebooleans
(ou sebool
, mais precisamente).
Dar "acesso completo ao ftpd" não significa dar-lhe os direitos de fazer / ler / escrever o que e onde quiser. O SELinux designou políticas para os serviços em seu sistema; ou seja, ftpd
tem permissão para ler arquivos se o contexto do arquivo do diretório ( fcontext
) for public_content_t
. O SELinux dá permissões de gravação para o servidor ftp se o texto do diretório for public_content_rw_t
; outros serviços, como o samba, o apache, etc., devem ter permissões de gravação para esses diretórios por meio dos booleanos, de acordo com os public_content_t
, ela basicamente eliminará uma camada de segurança. Portanto, sugiro rotular o diretório com o contexto public_content_rw_t
e remover sua política local gerada personalizada.
Para mais informações e detalhes, por favor veja as páginas wiki do SELinux .