Como posso dar acesso a uma única pasta wordpress para uma terceira pessoa no Ubuntu?

Como posso dar acesso a uma única pasta wordpress para uma terceira pessoa no Ubuntu?

O proprietário e grupo de 'www/website1' é root:www-data e posso mexer em seu conteúdo ou configuração como usuário root ou sudo.

Mas agora quero criar outro site chamado website2 (no próprio diretório 'www'), cujo acesso precisa ser concedido a um amigo meu (para que ele possa facilmente configurar este site para mim como quiser). Mas ele não deveria ser capaz de mexer ou mesmo visualizar qualquer outro diretório no meu sistema operacional, mesmo com o sudo.

Para esse propósito, posso criar um novo usuário em meu sistema operacional Ubuntu e criar um ID/senha de login FTP para ele. Mas eu vi/descobri que, junto com o acesso 777 a este site2, ele também, automaticamente, está obtendo acesso de leitura à pasta raiz completa e a todas as suas subpastas.

Existe uma maneira curta de controlar isso, para que ele possa ver apenas 1 (ou 2 pastas) necessárias, mas não mais do que as especificadas? Além disso, não quero mexer nas propriedades de todas as outras pastas do meu sistema operacional completo, uma por uma. Obrigado.

Responder1

www-dataé a chave aqui: esse é o grupo. Você pode adicionar usuários a um grupo para que eles tenham acesso a arquivos e diretórios com base nas permissões do grupo.

O comando seria:

 usermod -a -G www-data {user2}

{user2} poderá então alterar os arquivos que estão conectados a este grupo (além dos arquivos que ele mesmo pode alterar).

Se necessário, você pode até criar um novo grupo, conectá-lo aos 2 usuários e restringir o usuário2 especificamente aos arquivos conectados a esse grupo. O Apache usa www-data como usuário, mas esse usuário também pode ter mais do que o grupo www-data.

Eu vi/descobri que, junto com o acesso 777 a este site2, ele também, automaticamente, está obtendo acesso de leitura à pasta raiz completa e a todas as suas subpastas.

chmod 777 nunca é a resposta, a menos que você também inclua a parte adesiva.

Responder2

use o seguinte comando:

setfacl -R -m user:{user2}:rwX www/website2

Isso deve dar ao usuário {user2} acesso total a www/website2 e a tudo dentro desse diretório.

Editar:Acabei de notar que o seu problema é que {user2} tem acesso de leitura a outros diretórios além de www/website2. Esses diretórios geralmente têm, por padrão, acesso de leitura habilitado para "outros", ou seja. para qualquer usuário - é por isso que {user2} pode lê-los. Sem remover esse acesso, você não poderá impedir que {user2} os visualize. O único método é - como afirmei no comentário da sua pergunta - bloquear {user2} na prisão chroot do FTP, para que www/website2 seja o diretório raiz desse usuário. Verifique se o seu servidor FTP suporta isso.

informação relacionada