Qual é a melhor maneira de permitir que um usuário escreva no diretório / var / www?

1

No meu laptop para teste, simplesmente agrada cada subdiretório de /var/www ao meu myuser:www-data . Mas, agora que estou configurando um servidor voltado para o público, estou pensando se essa é a maneira correta de fazer isso? Se não, qual é a melhor maneira de permitir que uma conta não-root grave em /var/www .

    
por Macha 03.03.2010 / 20:42

4 respostas

0

Em geral, eu colocaria os diretórios em myuser:root e definiria o modo como 0755 (para diretórios; 0644 para arquivos).

Eu não os teria com www-data como grupo porque seu servidor da Web é executado sob esse usuário / grupo. Se alguém comprometer seu servidor da Web, não será possível gravar arquivos em lugar algum. Você quer ter certeza de que os arquivos são legíveis por www-data , mas você pode fazer isso configurando a permissão para "outros" para permitir isso.

Outra opção é deixar /var/www totalmente de propriedade de root e sempre usar sudo para copiar arquivos para ele. Isso pode ajudar, fazendo com que você pense exatamente sobre o que está fazendo antes de alterar o site, mas não é realmente adequado para atualizações com scripts.

    
por 03.03.2010 / 21:16
0

Eu manteria a propriedade e as permissões padrão e usaria ACLs Posix para dar permissão de gravação aos usuários que precisam dela.

A página man acl(5) dá uma boa visão geral e as páginas do manual getfacl(1) e setfacl(1) dirá como realmente lê e escreve ALCs.

    
por 03.03.2010 / 21:33
0

De um modo geral, faço algo semelhante ao que você faz. Se é um usuário único que precisa de acesso, eu faço chown / var / www / htdocs para esse usuário e termino com ele. Se vários usuários precisarem acessar remotamente, sugiro usar um wiki, ou wordpress, ou algum outro CMS que gerencie permissões de acesso para você. A melhor maneira de fazer isso varia dependendo do seu caso de uso. Se você pudesse ser mais claro sobre o que você está fazendo com o que você precisa. Você terá uma resposta melhor sobre como configurá-lo corretamente.

    
por 05.03.2010 / 22:45
0

Você provavelmente deve configurar o site como um virtualhost e, em seguida, você pode usar /srv/sites/yourdomain.com/ como ou o que quer que seja como o docroot. em seguida, crie um grupo yourdomain ou simplesmente chame-o de "webadmin" ou algo assim e adicione seus usuários a esse grupo.

    
por 06.03.2010 / 00:02