Permissões UNIX para permitir que usuários do grupo matem os processos uns dos outros

4

Digamos que temos um grupo ( dev ) com muitos usuários e um diretório de desenvolvimento compartilhado com g+rwx de permissões em todos os arquivos contidos. Essa configuração é suficiente para que qualquer usuário dev possa eliminar um processo iniciado por qualquer outro usuário dev (supondo que o processo foi iniciado com as permissões padrão)?

Por exemplo, digamos que temos o arquivo /opt/devfolder/bin/foo de propriedade do usuário1 (no grupo dev ) com o grupo id dev e permissões 0770. Se user2 (no grupo dev ) iniciar uma instância de "foo" do seu shell, pode user3 (no grupo dev ) matá-lo?

[Editar]

Se não, como podemos conseguir isso usando sudo ou algum outro utilitário UNIX padrão?

    
por maerics 26.10.2011 / 23:22

4 respostas

7

A maneira mais fácil de fazer o que você deseja é criar uma entrada em /etc/sudoers da seguinte forma:

%users localhost=(%users) NOPASSWD:/bin/kill

Isso permitirá que qualquer pessoa no grupo users execute /bin/kill como qualquer outro usuário no grupo users e não solicitará uma senha. Tenho certeza que isso é exatamente o que você estava pedindo.

Neste exemplo, estou assumindo que existe um grupo chamado users ao qual pertencem todos os membros do seu grupo de desenvolvimento. Você obviamente precisará modificar isso para corresponder ao seu ambiente local.

    
por 27.10.2011 / 02:26
3

Dependendo do seu problema, se você precisar que os usuários do grupo dev consigam eliminar todos os processos de um tipo específico de outro usuário, então pode haver uma solução.

%users localhost=(%users) NOPASSWD:/bin/killall -u <username>

ou

%users localhost=(%users) NOPASSWD:/bin/killall -u <username> perl

ou qualquer outra coisa. Você entendeu a ideia. Isso permitiria que os desenvolvedores eliminassem todos os processos 'perl', para um usuário específico. Lembre-se de que você pode usar os aliases de comando para redigir listas de aplicativos longs, e também pode usar expressões regulares (tenha cuidado para não permitir muito)

    
por 27.10.2011 / 05:06
2

As permissões do arquivo de grupo não se estendem aos processos em execução. Somente o proprietário de um processo pode matar o processo.

No entanto, você pode considerar a configuração de sudo para permitir aos usuários o comando kill de maneira limitada.

    
por 26.10.2011 / 23:25
0

Conceder usuários para eliminar processos com sudo permitirá que eles matem qualquer processo. Não pode ser restrito a apenas matar processos de um usuário específico.

    
por 26.10.2011 / 23:34