Conta de usuário específica para o Apache no diretório / var / www

1

Vou explicar da melhor maneira possível. No meu servidor anterior, meu amigo configurou um usuário chamado webslave.

O diretório pessoal deste usuário era / var / www. Quando usaria o protocolo FISH para transferir arquivos (usando o Krusader), o usuário estava logado como webslave @ host.

Quando esse usuário fez alterações, o grupo sempre estava intacto, www-data, por exemplo.

No meu novo servidor, eu uso meu nome de usuário nome @ host e, muitas vezes, os arquivos são de propriedade de mim e do meu grupo.

Eu gostaria de adicionar um usuário, conforme descrito acima, que tenha www-data como grupo principal e nenhum acesso fora de / var / www.

Só quero ter certeza de que faço isso da maneira certa.

Fico feliz em esclarecer - Toda a ajuda apreciada - Agradecemos antecipadamente!

    
por Designs Edge 03.12.2015 / 22:36

2 respostas

1

Você não precisa de um novo usuário apenas para garantir que o grupo seja sempre www-data. Você chmod o dir real para ter o bit setgid, e todos os novos arquivos criados sob ele terão o grupo www-data.

Portanto, para ter certeza de que você precisa colocar arquivos com o usuário, ele mantém o grupo, a execução e o chmod corretos para definir o setGID do diretório.

sudo chgrp www-data /var/www
sudo chmod +g /var/www

link

Quanto ao usuário, depois de criar o usuário (como sugere o nkts), onde M é para não criar o diretório home, e a opção N é para não criar o grupo padrão idêntico ao usuário.

sudo useradd -d /var/www/ -g www-data -M -N -s /sbin/nologin user 

Eu configuraria isso para SFTP em vez de FISH, pois é mais seguro, confiável e muito flexível. Você também tem que chroot para sua casa para se certificar de que ele não tem acesso ao resto do sistema de arquivos, e restringi-lo ao internal-sftp. Adicione a / etc / ssh / sshd_config

Match User user
    ChrootDirectory /var/www
    ForceCommand internal-sftp

Nota: FISH é mais uma curiosidade arcaica e um shell que foi usado antes do SFTP.

Se você ainda quiser usar o FISH no Ubuntu:

sudo apt-add-repository ppa:fish-shell/release-2
sudo apt-get update
sudo apt-get install fish

E, em seguida, altere o shell do usuário

chsh -s /usr/bin/fish

Nós também temos que forçar o shell novamente em / etc / ssh / sshd_config

Match User user
    ForceCommand /usr/bin/fish

Este artigo também ajudará você com o FISH

link

A restrição para o homedir com peixes deve ser possível, mas mais complicada de configurar, e difícil de aplicar, pois seria mais fácil se o proprietário de / var / www fosse www-data.

Para configurar tal restrição, você precisaria pelo menos copiar / usr / bin / fish para dentro de / var / www (o que não é uma boa idéia), e para / var / www e / usr / bin / fish para ser de propriedade de root (o que também invalida a recomendação de alterar o setGID do diretório / var / www.

Como mencionado anteriormente, o SFTP é uma maneira mais moderna e mais segura de configurar um acesso remoto somente a arquivos do que o FISH.

    
por 04.12.2015 / 04:28
1

Você pode criar um novo usuário com o seguinte comando (suponho que você esteja na distribuição compatível com o RHEL):

# useradd -d /var/www/ -g www-data -M -N -s /sbin/nologin user

Não tenho ideia de qual aplicativo está fornecendo acesso por meio do protocolo fish.

    
por 04.12.2015 / 00:19