A prática recomendada para gerenciar contas compartilhadas é bloquear a conta compartilhada.
Em vez de gerenciar o acesso a uma conta compartilhada - o que é ruim por vários motivos, você deve adicionar todos os desenvolvedores a um grupo (por exemplo, app_development
), testadores a outro grupo (por exemplo, app_testing
) etc. Depois que você tiver usuários (cada um deles usado apenas por uma única pessoa ) colocados em grupos de acordo com as tarefas e / ou tarefas que estão fazendo atualmente, conceda aos grupos permissões apropriadas para os arquivos. / p>
Para este exemplo, um desenvolvedor de software empregado para desenvolver aplicativos da web pertenceria a software_development
e web_development
(um desenvolvedor trabalhando em aplicativos locais pode pertencer a application_development
em vez de web_development
). Um membro testador / QA da equipe pertenceria aos grupos software_testing
e web_testing
.
Os usuários do grupo wheel
sempre têm permissão para ler e escrever via root (a menos que você esteja limitando diretamente o acesso deles ao SELinux).
sudo -i
groupadd software_development
groupadd web_development
groupadd software_testing
groupadd web_testing
mkdir -p /home/software_development/web_development/staging'
Listas de controle de acesso POSIX
Crie uma estrutura de diretórios para colaboração, dando permissão mínima para grupos
chown -R root:software_development /home/software_development
chmod 550 /home/software_development
setfacl -m g:software_development:r-x /home/software_development
setfacl -m g:software_testing:r-x /home/software_development
chown -R root:web_development /home/software_development/web_development
chmod -R 2570 /home/software_development/web_development
setfacl -R -m g:web_development:rwx /home/software_development/web_development
setfacl -R -m d:g:web_development:rwx /home/software_development/web_development
setfacl -m g:web_testing:r-x /home/software_development/web_development
setfacl -m d:g:web_testing:0 /home/software_development/web_development
setfacl -m d:g:web_testing:r-x /home/software_development/web_development/staging
setfacl -R -m d:u:root:r-x /home/software_development
-
root
e qualquer pessoa nos grupossoftware_development
ousoftware_testing
pode entrar em/home/software_testing
e ver seu conteúdo. - Todos os
web_developers
podem ver e modificar o conteúdo de/home/software_development/web_development
e todos os subdiretórios (os que existem atualmente e todos os que podem ser criados no futuro). - Todos os
web_testers
podem ver o conteúdo direto de/home/software_development/web_development
, mas nenhum subdiretório, excetostaging
. - Observe que
web_testing
esoftware_testing
não têm acesso de gravação, pois não precisam disso para realizar seus trabalhos.
É importante que os desenvolvedores entendam que seus projetos devem ser colocados dentro de um subdiretório de web_development
(geralmente um nome de projeto: ex. web_development/project_1
, negando acesso para que os testadores vejam Quando estiver pronto para testar / controle de qualidade, eles o copiariam para o subdiretório de teste.