Basta ajustar sua política de segurança do sudo, criando uma regra em /etc/sudoers.d
que permita:
- um conjunto definido de usuários (possivelmente apenas um usuário ou um grupo, conforme necessário),
- para executar SOMENTE
modprobe
ermmod
, - APENAS no argumento cmd
psmouse
, - COM ou SEM senha do sudo.
Isso é exatamente o que '/etc/sudoers.d' é geralmente usado. Então aqui vai ... (assumindo configuração de host único e lembrando que os arquivos localizados em /etc/sudoers.d
são analisados por sudo
na ordem lexical ordenada.)
- verifique se
/etc/sudoers
inclui a linha#include /etc/sudoers.d
- Normalmente, trabalho com um arquivo padrão pessoal
/etc/sudoers.d/00_aliases
, onde defino os aliases user, cmd, host e group a gosto. Dessa forma, não só reduzo drasticamente o uso desudo visudo
para ajustar/etc/sudoers
, que contém as configurações padrão do sistema base, como também meus outros arquivos em/etc/sudoers.d/
usam aliases analisados primeiro porsudo
in/etc/sudoers.d/00_aliases
. - solte um arquivo em
/etc/sudoers.d
, nomeado por exemplo 20_psmouse
Se você não planeja usar extensivamente os arquivos sudoers.d, você pode não criar /etc/sudoers.d/00_aliases
e, em vez disso, incluir seu ad-hoc aliases diretamente nos seus arquivos drop-in, conforme mostrado abaixo.
User_Alias MOUSE_TWKR = user1[, user2[, user3[, ...]]]
Cmnd_Alias MOUSE_MOD_TWK = /usr/bin/modprobe, /usr/bin/rmmod
MOUSE_TWKR your-host = NOPASSWD: MOUSE_MOD_TWK psmouse
A verdade está no pudim, então você precisará:
1) consulte man sudoers
(no Archlinux, os exemplos começam na linha 1911 de 2038 linhas !!) e
2) experimente um pouco.
Por exemplo, se a regra acima for muito permissiva e você quiser restringir o uso de qualquer opção junto com os cmds modprobe
e rmmod
no contexto que você está administrando, substitua a entrada do arquivo por:
MOUSE_TWKR your-host = NOPASSWD: MOUSE_MOD_TWK [!-] psmouse
... e com entrada de senha obrigatória:
MOUSE_TWKR your-host = MOUSE_MOD_TWK [!-] psmouse
(*) substitua "your-host" pelo seu nome de host, ou com ALL
para permitir todos os hosts, o que reduz apenas para yr host se yr system for uma caixa independente e / ou you ' Não estou lidando com o administrador remoto em uma sub-rede, por exemplo ...