Dando acesso aos serviços do sistema UNIX aos diretórios home dos usuários restritos

2

Eu preciso restringir as permissões dos diretórios de usuários em /home para que, para algumas contas, outros usuários não possam ler arquivos ou fazer o cd neles. Mas ainda preciso dar acesso aos serviços do sistema para eles.

A abordagem que tenho usado até agora é chgrp www-data do diretório inicial e chmod o-rx , então eles se parecem com isso

drwxr-x--- user www-data    user

Mas acabei de descobrir que, se o usuário criou um arquivo ~/.forward , o postfix o ignora e entrega as mensagens localmente. Se eu chmod o+rx o diretório, .forward funciona novamente. (Isso parece sugerir, contrário a essa resposta , que .forward é lido antes que o agente de entrega local do postfix receba o e-mail ou o agente de entrega local não esteja acessando o diretório inicial como o usuário.)

Como devo contornar isso? E se houver outros serviços do sistema que precisam de acesso?

Outra abordagem pode ser chgrp some-system-group do diretório e certificar-se de que todos os serviços do sistema que acessam o diretório estejam no grupo some-system-group .

Isso funcionaria? É um plano ruim?

Existem outras abordagens que são melhores?

    
por edam 08.01.2013 / 12:36

2 respostas

2

Com permissões clássicas do unix, você terá problemas. Coisas que você pode experimentar:

  • Use as ACLs, se suportadas. Desta forma, você pode dar por exemplo. o grupo wwww-data separa as permissões.
  • Se isso não funcionar, tente evitar o requisito de acesso ao diretório inicial:
    • Em vez do clássico ~/.forward , talvez tente usar filtragem de peneira ou outros métodos de entrega.
    • Para as coisas da WWW, você pode alterar a configuração do servidor web para usar um diretório alternativo onde todos os diretórios da web do usuário são armazenados e, em seguida, criar links simbólicos para ele a partir do diretório pessoal real. Ou seja, se você realmente quiser ~/username websites, o que eu costumo desabilitar em todos os lugares nos dias de hoje.
por 08.01.2013 / 12:50
2

Conforme documentado , com um postfix de configuração padrão assume a identidade da caixa de correio proprietário antes de tentar a entrega.

Especificamente:

Delivery via ~/.forward files is done with the privileges of the recipient. Thus, ~/.forward like files must be readable by the recipient, and their parent directory needs to have "execute" permission for the recipient.

Se isso não está funcionando para você, você estragou as permissões de alguma forma.

    
por 08.01.2013 / 12:57