Edit: no meu caso virtual_use_local_privs = TRUE fez o truque.
Estou tentando forçar newly created files and directories
dentro de foo / directory a ser owned by nginx
user e a definir as permissões corretas, então nginx group users can execute and modify
, se necessário.
A única coisa é que eu acabei de configurar vsftpd
service onde meus virtual
usuários agem como vsftpd user
, onde vsftpd é um usuário real sem shell.
Após o login, cada usuário é chrooted
em um diretório de propriedade de user vsftpd
e group nginx
. Para isso eu criei o diretório chroot:
mkdir chroot/
e, em seguida, deu as permissões padrão:
chown -R vsftpd:nginx chroot/
e depois habilitado o SGUID:
chmod -R g+s chroot/
Bem aqui, quando um usuário vsftpd cria um diretório, as permissões padrão são vsftpd:nginx
, mas as permissões padrão para os arquivos são nginx:nginx
, o que não é o que eu quero.
Então, como eu preciso que o grupo de usuários nginx
execute e modifique arquivos se eu precisar configurar o umask '0022' através do vsftpd config, mas eu acho que estou indo no caminho errado. Alguém pode me apontar para a direção certa?
Obrigado em avançado!
Editar:
O comando setfacl
ajudou muito, mas ainda estou tendo problemas com umask.
Eu corro setfacl -R -m d:u:vsftpd:rwx,d:g:nginx:rwx,d:m:rx,d:o::r chroot/
onde getfacl chroot/
retorna:
# owner: vsftpd
# group: nginx
# flags: -s-
user::rwx
group::rwx
mask::rwx
other::r--
default:user::rwx
default:user:vsftpd:rwx #effective:r-x
default:group::rwx #effective:r-x
default:group:nginx:rwx #effective:r-x
default:mask::r-x
default:other::r--
mas o upload de novos arquivos deixa as seguintes permissões -rw-------+ 1 vsftpd nginx 25 feb 7 13:14 info.php
Observe que a definição de umask no vsftpd.conf está definida como 1002
Onde estou errado? Muito obrigado!