Posso restringir o sudoer nopasswd ao diretório?

1

Talvez eu deva reformular - qual é a maneira mais segura de realizar minhas necessidades?

Detalhes

Estou usando o WinSCP para modificar meu document_root do Apache. O diretório / var / www / html tem um proprietário e um grupo de raiz. Usando o WinSCP eu devo logar como root para modificar esses arquivos, já que o sudo -s requer uma senha. Eu não quero logar com root remotamente, então o que eu gostaria de fazer é adicionar um sudoer sem um requisito de senha para / var / www / html. Isso é possível?

    
por TylersSN 25.03.2015 / 15:39

1 resposta

1

O Sudo não é a ferramenta certa para este trabalho. Ele controla quais comandos você pode executar, não quais arquivos você pode acessar.

A ferramenta certa para o trabalho são permissões de arquivo, com listas de controle de acesso se o usuário / grupo / usuário tradicional do Unix permissões não são suficientes.

Crie um grupo, vamos chamá-lo de webroot e torná-lo o próprio diretório /var/www/html e os arquivos aí existentes.

sudo addgroup webroot
chgrp -R /var/www/html
chmod -R g+ws /var/www/html

O s bit nos diretórios faz com que os arquivos herdem a propriedade do grupo do diretório. Você também precisará garantir que os arquivos lá sejam graváveis em grupo.

Se você quiser acessar /var/www/html com a conta que está usando para enviar arquivos, adicione essa conta ao grupo webroot :

sudo adduser iusemagentonow webroot

Se você tiver problemas para manter a propriedade do grupo e a permissão de gravação do grupo em arquivos recém-criados, use a ACL em vez de chgrp .

sudo setfacl -d -R group:webroot:rwX /var/www/html
sudo setfacl -R group:webroot:rwX /var/www/html

Tome cuidado para que os arquivos em /var/www/html não possam ser gravados pelo usuário e grupo que está executando o Apache ou qualquer servidor da Web que você esteja usando. O usuário que está executando o servidor da Web não deve ter permissão para gravar nenhum arquivo, exceto os arquivos de dados que devem ser atualizados pelo aplicativo da Web. Em particular, não permita que o servidor da Web grave nenhum arquivo executável, pois isso facilita as explorações.

    
por 26.03.2015 / 01:25