Como executar o comando como usuário diferente

1

É possível executar um comando

  • com parâmetros em primeiro lugar começando com - (traço) %código%
  • como usuário e grupo diferentes, por exemplo, /usr/bin/echo -n foo
  • usando o comando apache:apache
  • quando o shell de login está definido como su ?

Eu tentei:

  • %código%
    • falha com /sbin/nologin . Parece que o primeiro argumento pode não começar com traço.
  • %código%
    • falha com su -s "/usr/bin/echo" -g apache apache -n foo . Parece que su: invalid option -- 'n' não pode ser usado se o shell de login for su -c "/usr/bin/echo -n foo" -g apache apache
por czerny 23.06.2017 / 01:15

2 respostas

5
su -s /bin/bash -c "/usr/bin/echo -n foo" -g apache apache
  • -s /bin/bash substitui o nologin e permite interpretar o valor de -c option
  • -c "/usr/bin/echo -n foo" permite evitar o uso do primeiro argumento de início de traço
por 23.06.2017 / 01:15
5

sudo para o resgate!

sudo -u <user> -g <group> -- echo -n foo
    
por 23.06.2017 / 06:35

Tags