Evitar que usuários executem determinados programas

4

É possível impedir que usuários executem certos programas em seus computadores Linux? Existe um método de lista de permissões? Uma lista negra?

    
por Ivan 16.05.2009 / 02:02

6 respostas

8

A solução simples pode ser simplesmente remover permissões de execução em binários do sistema. Se você quiser evitar que os usuários compilem coisas ou executem coisas de diretórios que possuem acesso de gravação, você pode criar uma partição separada e montar esses sistemas de arquivos com a opção noexec.

man mount (opção noexec)

Do not allow direct execution of any binaries on the mounted file system. (Until recently it was possible to run binaries anyway using a command like /lib/ld*.so /mnt/binary. This trick fails since Linux 2.4.25 / 2.6.0.)

Acredito que outra maneira de conseguir isso seria usar algo como AppArmor ou SELinux .

    
por 16.05.2009 / 02:27
3

A resposta para isso depende se você quiser uma solução de lista negra ou lista branca.

A lista de permissões é realmente bastante fácil. Use a mesma abordagem que o Ubuntu e muitas outras distros usam. Crie um grupo para um determinado programa ou grupo de programas, defina o grupo do executável para isso e, em seguida, adicione usuários a esse grupo se quiser que eles possam acessá-lo. É assim que o acesso ao sudo, impressoras e uma série de outras coisas são feitas no Ubuntu (e outras distros).

A lista negra é realmente mais difícil, mas isso não é tão ruim assim. Blacklist eu acho que é inerentemente menos seguro. Na verdade, eu não consigo pensar em uma maneira de fazer isso que não trata é como um pseudo-whitelist ou seja, todo mundo é um membro do grupo relevante e você acabou de remover aqueles que você não quer.

    
por 16.05.2009 / 03:49
0

Use grupos e negue a execução nos programas. Ou você está procurando mais do que isso?

    
por 16.05.2009 / 02:24
0

Você provavelmente pode hackear algo junto com permissões e grupos padrão * nix.

No entanto, se você precisar de algo mais do que isso, provavelmente desejará as ACLs do POSIX do Google. A maioria (todos?) Dos principais sistemas de arquivos Linux os suportam, e eles oferecem muito controle e granularidade adicionais.

    
por 16.05.2009 / 02:40
0

Se você quiser dar acesso limitado a shell, dê uma olhada no rbash. Oferece várias limitações ao usuário. Também dê uma olhada no limits.conf do PAM (/etc/securit/limits.conf no Ubuntu). A terceira opção é criar um ambiente jail / chroot para seus usuários, onde você decide exatamente quais binários e bibliotecas eles têm acesso.

Outros também apontaram o uso de permissões, noexec e ACL para conseguir isso. Realmente depende de suas necessidades, qual solução é a melhor.

    
por 17.05.2009 / 19:26
0

Provavelmente não. Depende do que "certos programas" significam. Se um usuário tiver um shell interativo útil, ele poderá instalar quase todos os softwares desejados. Mas se você não quiser que eles possam executar uma cópia específica do software que você já instalou, as permissões normais de arquivo funcionarão bem. Por exemplo, crie um grupo "xmmsblacklist", chmod 705 / usr / bin / xmms, chgrp xmmsblacklist / usr / bin / xmms e adicione os usuários a esse grupo.

    
por 24.05.2009 / 02:58