Conceder ao usuário2 permissão somente leitura para o subdiretório do usuário1 [duplicado]

1

Servidor: Debian

Eu sou user1 , com o diretório /home/user1/website/logs Desejo conceder a um novo usuário, chamado user2 , acesso de leitura aos arquivos localizados em /home/user1/website/logs sem conceder user2 acesso a qualquer outra coisa dentro do diretório pessoal de user1 e sem configurar um diretório compartilhado.

Como isso pode ser feito, se possível, ou é impossível?

EDIT: Além disso, eu preciso manter as permissões de todos os arquivos contidos em / home / user1 / website / logs restritos de modo que o mundo nunca tenha permissões para isso. Ele precisa ser acessível apenas para os usuários no servidor.

    
por Jonathan Rauscher 11.07.2016 / 02:52

1 resposta

1

Supondo que você tenha acesso root e o usuário2 não, você pode configurá-lo com permissões clássicas do UNIX da seguinte maneira. Você cria um grupo para este esquema de acesso (provavelmente coloque tanto user1 quanto user2 nele, embora para o controle de acesso você só precise de user2 nele), abaixo eu vou me referir a ele pelo nome rdlog . Depois de ter o grupo, os seguintes comandos devem configurar o que você deseja:

chgrp rdlog /home/user1 /home/user1/website /home/user1/website/logs
chmod g=x /home/user1 /home/user1/website
chmod -R g=r /home/user1/website/logs

Ao definir apenas o x bit nas permissões do diretório, apenas as referências exatas nesses diretórios podem ser usadas. Isso significa que qualquer pessoa em rdlog pode listar ou cd no diretório de logs. E com permissão readonly nesse diretório e os arquivos nele. Isso tem várias limitações.

A primeira é que parte da segurança é segurança através da obscuridade. Enquanto você não dá permissão para listar o diretório /home/user1 , se é um arquivo lá, ele ainda pode ser referenciado, se eles adivinharem o nome (mas então as permissões do arquivo entram em vigor) . Assim, por exemplo, eles poderiam digitar cat /home/user1/.bashrc e determinar, a partir do erro que recebem (nenhum arquivo versus permissão negada), se esse arquivo realmente existe.

A segunda limitação é que você só consegue fazer isso uma vez . Se você precisar conceder a um usuário diferente acesso a outra coisa em seu homedir, não poderá fazer o mesmo truque, porque você pode ter apenas uma configuração de grupo.

Você também pode fazer algo com as ACLs. Isso poderia evitar as limitações, se você fizer certo. No entanto, você pode realmente alcançar o seu objetivo desejado (ou seja, a verdadeira questão que fez você perguntar a este), movendo o diretório em questão em algum outro lugar, onde você pode fazer as permissões realmente certas. Se você ainda precisar vê-lo quando você se referir a ~/website/logs , você pode colocar um link suave de lá para o novo local.

    
por 11.07.2016 / 04:08