Por exemplo, dando Um servidor web (ou qualquer servidor externo acessível) completo acesso (leitura, gravação e execução) aos arquivos de um usuário não é uma boa idéia do ponto de vista da segurança. Como regra , você deve restringir isso para ler o acesso de arquivos e ler / executar para diretórios. De fato, o padrão no FreeBSD é dar acesso a others
read a um arquivo de usuários. Isso tornaria sua vida muito mais fácil, mas vai contra o seu primeiro ponto.
Uma solução ainda melhor é executar o servidor da Web em um jail
e gerar uma cron
job (em execução como root) que usa, por exemplo rsync
para espelhar os arquivos acessíveis pelo usuário para um diretório na cadeia.
Para coisas como o bittorrent eu também faria um único diretório onde o cliente bittorrent possa ler e escrever coisas. Configure esse diretório para um grupo torrents
que tenha acesso de leitura / gravação e torne todos os usuários membros desse grupo.
Editar:
Se você estiver montando dentro da jaula com a configuração nullfs
, os direitos de grupo do diretório para leitura / gravação soam como uma boa opção. A cadeia deve fornecer isolamento.
Eu usei um combinação de nullfs
e unionfs
para disponibilizar arquivos, mas para colocar modificações em outro lugar. Então você pode colocar coisas recebidas do torrent em um diretório uploads
sem tocar no material no diretório files
.