A primeira coisa que me vem à mente é que alguém pode mudar de caminho e fazer com que o nova-rootwrap seja preenchido com algum código malicioso.
Existe uma discussão realmente boa sobre este tópico - > link
Eu quero dar à minha conta nova
sudo privilegiledge então eu adiciono este configure em / etc / sudoers
Defaults:nova !requiretty
nova ALL = (root) NOPASSWD: /openstack/bin/nova-rootwrap
/etc/nova/rootwrap.conf *
nova ALL = (root) NOPASSWD: /usr/bin/privsep-helper *
Então eu mudo para a nova:
su - nova
Aqui está a pergunta:
Quando executo sudo /openstack/bin/nova-rootwrap
, funciona, mas quando executo sudo nova-rootwrap
, o sistema me pergunta a senha. Parece que o NOPASSWD
não funciona.
Já adicionei /openstack/bin
ao meu caminho de env. O sistema é o CentOS7.4.
Por que isso acontece? Como posso executá-lo sem uma senha?
A primeira coisa que me vem à mente é que alguém pode mudar de caminho e fazer com que o nova-rootwrap seja preenchido com algum código malicioso.
Existe uma discussão realmente boa sobre este tópico - > link
Seu comando para trocar de usuário não está atualizando o ambiente, preservando o ambiente do usuário anterior. Usar um shell de login em vez de usar apenas "-" conseguirá isso mais completamente.
Isto é, se você quer um ambiente completamente novo, você deve estar fazendo isso:
su --login nova
Isso também funciona:
sudo -i nova
É um motivo de segurança, porque é muito ruim dar sudo sem caminho completo ou dar sudo ao script que é próprio do usuário não privilegiado, porque você concede a ele privilégio de root naquele momento.