Eu tenho um diretório compartilhado Departamento, ele tem 3 subdiretórios departamentos Conta, Vendas, Pré-vendas e cada subdiretório tem o diretório de funcionários do departamento igual a acc1, acc2, acc3 / sale1, sales2 / ps1, ps2, ps3, ps4
como cada funcionário tem uma senha de nome de usuário para acessar apenas seu diretório, sem visualizar nenhum outro diretório.
a mesma coisa que fiz no windows server.
Como eu faço isso ?
Responder1
Primeiro, faça com que cada funcionário pertença ao grupo de departamentos, ou seja, acc1 pertence a Conta e ps3 pertence a Pré-vendas. Em seguida, no nível do departamento, faça com que cada subdiretório em Departamento tenha seu ID de grupo igual ao respectivo grupo de departamento, com acesso de leitura + execução em nível de grupo e revogue todo o acesso de outros, para que fique assim quando você fizer ls -la Departments
:
drwxr-x--- 5 root Account 4096 Jul 25 08:43 Account
drwxr-x--- 6 root Presales 4096 Jul 25 08:44 Presales
drwxr-x--- 4 root Sales 4096 Jul 25 08:44 Sales
Em seguida, faça com que cada ID de usuário e ID de grupo do diretório de funcionários seja o usuário, faça com que o usuário tenha acesso total ao diretório e revogue todo o acesso do grupo e de outros, por exemplo, para Conta:
drwx------ 2 acc1 acc1 4096 Jul 25 08:43 acc1
drwx------ 2 acc2 acc2 4096 Jul 25 08:43 acc2
drwx------ 2 acc3 acc3 4096 Jul 25 08:43 acc3
chown
, chgrp
e chmod
serão seus amigos se você fizer isso na linha de comando. Veja, por exemplohttp://www.perlfect.com/articles/chmod.shtmlpara obter detalhes sobre seu uso.
Este método funciona na medida em que as permissões/membros possam ser definidas de forma hierárquica e uniforme, ou seja, não há necessidade de misturar diferentes tipos e/ou níveis de permissões num determinado nível (por exemplo, alguns utilizadores individuais têm acesso de leitura e escrita, mas os utilizadores apenas pertencem a um grupo têm apenas acesso somente leitura) - para esses casos são necessárias ACLs.
Responder2
Alternativamente, você pode configurar FACLS para esses diretórios. Seria o método mais limpo, melhor e preferido se você precisar de listas de controle de acesso mais complicadas.
use páginas de manual para:
homem getfacl
homem setfacl
o uso será algo assim:
setfacl -md:g:"nome do grupo":rwx /caminho/para/desired/diretório
setfacl -mg:"nome do grupo":rwx /caminho/para/desired/diretório
A primeira linha configura a regra a ser aplicada automaticamente aos arquivos/pastas recém-criados no diretório. O segundo se aplica ao mesmo diretório de nível superior onde estão sendo aplicados, mas dá acesso a esse diretório, pois ele já existe.
***NOTA: as aspas ao redor do nome do grupo indicam que você deve preencher o nome do grupo em seu comando. não use aspas reais ao executar o comando, você deseja que o nome do grupo esteja sem aspas.