Permissões de pasta ao usar / etc / skel e pam

3

Eu tenho um servidor Red Hat 5.8 que está ligado ao diretório ativo e os usuários são autenticados via diretório ativo quando eles fazem login via sftp. As pastas iniciais do usuário são criadas durante o login usando /etc/pam.d/system-auth. A linha específica que cria a pasta pessoal é

session optional pam_mkhomedir.so skel=/etc/skel/ umask=0066

Isto dá corretamente permissões para as pastas domésticas 711 para que ninguém mais possa ler seus diretórios. O problema é que o pam_mkhomedir.so também modifica permissões em todas as pastas / arquivos dentro da pasta / etc / skel que eu não quero. Existe uma pasta public_html (para o apache) que precisa ter 755 permissões para que os usuários possam criar páginas da web.

Existe uma maneira para eu a) parar o pam_mkhomedir.so de alterar recursivamente todas as permissões de arquivo ou b) criar um script que crie a pasta public_html após o skel ser copiado e para definir as permissões corretas?

    
por Rothgar 09.06.2012 / 01:10

2 respostas

1

Eu não acho que você gostaria de manter o módulo mkhomedir.so de alterar todos os arquivos de forma recursiva, já que public_html pode não ser a única pasta / arquivo que você tem em seu esqueleto. Mas, até onde sei, o módulo não permite a não recursão ou a exclusão de outros diretórios específicos do umask.

Você pode executar um script depois para criar o diretório public_html ou apenas modificar as permissões do diretório public_html já criado usando o módulo pam_exec.so. Veja: PAM: Executar um comando antes do pam_mkhomedir?

Um outro pensamento é que você poderia investigar a alteração do grupo em seus arquivos / pastas iniciais para um grupo que somente o Apache tem acesso e definir o umask como 0026. Isso daria ao grupo Apache acesso total ao diretório pessoal do usuário, mas não outros usuários no sistema.

    
por 09.06.2012 / 04:12
0

"umask" tem efeito em todos os novos arquivos criados pelo usuário. pam_mkhomedir.so não pode fornecer o que você deseja.

Estou usando addjobd-mkhomedir.conf .

Altere as linhas como esta mkhomedir -u 0077 .

Em seguida, apenas a pasta principal está definida para esta permissão. Todos os outros não são afetados.

    
por 01.11.2016 / 09:31