Permitir que usuários de um determinado grupo executem um comando sem sudo

8

Eu sei como editar / etc / sudoers para que eu possa executar um comando como sudo sem ter que digitar minha senha, no entanto existe uma maneira de permitir que um programa seja executado completamente sem sudo, por todos os usuários de um grupo . (Os programas que quero executar são "mount" e "umount").

    
por w4etwetewtwet 26.08.2013 / 12:32

1 resposta

10

Suponha que eu queira adicionar um grupo de usuários com permissão para executar mount e umount sem senhas. Então, primeiro quero adicionar um grupo chamado "anyname"

sudo groupadd anyname

Em seguida, precisamos editar o /etc/group e adicionar os usuários

anyname:x:407:

estará presente, portanto, adicione usuários que você deseja adicionar aos usuários separados por vírgulas.

anyname:x:407:user1,user2,...

Agora, precisamos configurar o sudo para permitir que os membros do grupo "anyname" invoquem os comandos mount e umount .

Você só precisa adicionar as seguintes linhas ao / etc / sudoers

%anyname ALL=NOPASSWD: /sbin/mount, /sbin/umount

Agora, sudo mount não pedirá senha, mas como é uma dor na bunda digitando sudo o tempo todo, podemos evitá-lo pelo seguinte:

Eu posso criar o seguinte script chamado "/ usr / bin / mount" (e script similar para umount)

#! /bin/sh
sudo /sbin/mount $*

Para tornar isso um pouco mais seguro, poderemos alterar a propriedade desses scripts para o grupo "anyname".

chgrp anyname /usr/bin/mount /usr/bin/umount

e depois torná-los executáveis apenas para o grupo "anyname"

chmod g+x /usr/bin/mount  /usr/bin/umount

EDIT : Dependendo do sistema operacional que você está usando, verifique onde os comandos mount e umount estão localizados. Pode estar em / bin / em vez de /sbin. Então você pode ter que fazer as mudanças necessárias

IMPORTANTE : BTW não executa o script em sistemas baseados em Arch, onde todas as pastas bin são linkadas umas às outras.

    
por 26.08.2013 / 16:05