Gostaria de utilizar o servidor Ubuntu como servidor web, mas quero garantir que eu siga as práticas recomendadas para configurar as coisas. Desejo garantir que eu configure o diretório no melhor local e entenda como configurar a segurança apropriada nessa pasta. Gostaria de poder enviar um FTP para o servidor e enviar arquivos para as pastas da web, portanto, gostaria de entender como garantir que meu usuário do PureFTPd possa manipular arquivos / diretórios nas pastas da web.
filesystem
security
server
websites
JPrescottSanders
fonte
fonte
Respostas:
O que fiz no meu servidor para que meu usuário pudesse fazer o sftp direto
/var/www
é:Isso colocará seu usuário em um grupo que possui a propriedade do grupo em / var / www e em todos os seus diretórios filhos, configure tudo em / var / www recursivamente para permitir acesso de gravação ao seu grupo e defina o bit setgid no diretório / var / www para que todos os arquivos criados posteriormente em / var / www mantenham a mesma propriedade do grupo, em vez de definir o grupo para o grupo principal do criador.
fonte
www-data
qual o grupo em que o servidor Web já é executado. Como resultado, qualquer comprometimento dos scripts do servidor da Web significa que os arquivos abaixo/var/www
podem ser alterados. Apenas mudewww-data
para algo comoweb-users
(e crie esse grupo primeiro, comsudo addgroup web-users
).Esta é uma pergunta muito geral.
Obviamente, você não deseja executar seu servidor web como root. No entanto, a instalação do Ubuntu já faz isso da maneira certa.
Além disso, no site apache, há algumas dicas de como configurar corretamente seu diretório .
No que diz respeito ao ftp. Você deseja certificar-se de usar um servidor ftp seguro que não envie seus nomes de usuário e senhas em texto sem formatação pela rede. As páginas de ajuda do Ubuntu têm um tutorial de como configurar um servidor ftp .
fonte
Quando eu tenho apenas um servidor Ubuntu, com vários usuários usando o servidor como um servidor da Web, eu descarto o
/var/www
diretório porque para mim -/var/www
é onde você coloca os arquivos da Web globalmente. Eu atualizo o/etc/skel
diretório e adiciono uma pastapublic
eprivate
com um link simbólicowww -> public
e atualizo todos os meus hosts virtuais DocumentRoots para apontar/home/<user>/public
.Não vejo
/var/www
o lugar para colocar várias pastas e arquivos no nível do usuário. É para isso que o/home/
diretório foi projetado! Mantém os caminhos e as estruturas de diretórios limpos.fonte