
Como eu adicionaria sinalizadores e/ou argumentos para permitir que os usuários no arquivo sudoers executem certas partes dos comandos, como permitir apenas que um usuário execute sudo rm
e não sudo rm -rf
? Estou usando 14.04.
# # Este arquivo DEVE ser editado com o comando 'visudo' como root. # # Considere adicionar conteúdo local em /etc/sudoers.d/ em vez de # modificando diretamente este arquivo. # # Consulte a página de manual para obter detalhes sobre como escrever um arquivo sudoers. # Padrões env_reset,pwfeedback Padrões mail_badpass Padrões secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Especificação de alias de host #Especificação do alias do usuário # Especificação do alias do Cmnd # Especificação de privilégio do usuário raiz TODOS=(TODOS:TODOS) TODOS Ruby ALL=/usr/bin/apt-get update,/usr/bin/rm,/usr/bin/rmdir,/usr/bin/mkdir # Membros do grupo admin podem obter privilégios de root %admin TODOS=(TODOS) TODOS #Permitir que membros do grupo sudo executem qualquer comando % sudo TODOS = (TODOS: TODOS) TODOS # Veja sudoers(5) para mais informações sobre as diretivas "#include": #includedir /etc/sudoers.d
Responder1
Conforme declarado nos comentários, não há uma maneira de controlar os sudoers da maneira solicitada, embora existam permissões refinadas disponíveis no sistema:
https://help.ubuntu.com/community/FilePermissionsACLs
Mas mesmo isso não é suficiente, você basicamente teria que substituir todas as bibliotecas de programas padrão por scripts para filtrar sinalizadores. O que seria confuso e potencialmente quebraria o sistema.
Em vez disso, considere inverter o problema e criar usuários que não precisem de sudoers. Certificando-se de que eles estão nos grupos certos e usando ACLs para expandir as permissões quando necessário, para que possam acessar os arquivos necessários sem causar problemas.