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

11

Eu sei editar / etc / sudoers para que eu possa executar um comando como sudo sem precisar 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 eu quero executar são "mount" e "umount").

w4etwetewtwet
fonte
Qual é o seu sistema operacional? Você está tentando montar uma partição NTFS, partição EXT ou unidade óptica?
nate

Respostas:

13

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

sudo groupadd anyname

Em seguida, precisamos editar /etc/groupe adicionar os usuários

anyname:x:407:

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

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

Agora precisamos configurar o sudo para permitir que os membros do grupo "anyname" realmente invoquem os comandos mounte umount.

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

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

Agora sudo mountnão solicitamos a senha, mas como é uma dor de digitar o sudo o tempo todo, podemos evitá-la dong o seguinte:

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

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

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

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

e, em seguida, torne-os 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 estão localizados os comandos mount e umount. Pode estar em / bin / em vez de /sbin. Portanto, você pode precisar fazer as alterações necessárias

IMPORTANTE : BTW não executa o script em sistemas baseados no Arch, em que todas as pastas da lixeira são vinculadas uma à outra.

Stormvirux
fonte
11
Obrigado. Na verdade, tenho implementado usando uma .bashrc global, que contém uma função montar parecido com este: mount {sudo mount $ *}
w4etwetewtwet