Por que não consigo alterar o nome do host do meu servidor usando o sudo? [duplicado]

2

De um usuário que faz parte do grupo sudoers, normalmente posso executar qualquer comando fazendo sudo <command>

Mas o seguinte comando falha afirmando "Permissão negada"

sudo echo "myhostname" > /etc/hostname

Nem sequer me pede a senha. Como eu mudo o nome do host?

    
por Kaizer Sozay 03.12.2014 / 10:26

2 respostas

2

O comando correto no seu caso será echo "newhostname" | sudo tee /etc/hostname , porque, como nssnd explicou, sudo aplica-se apenas ao comando único e o redirecionamento tem menos prioridade que sudo . Outra opção é usar o comando bash :

sudo bash -c "echo newhostname > /etc/hostname"
    
por 03.12.2014 / 10:55
1

sudo aplica-se apenas ao seu primeiro comando, por isso, o ">" a operação é feita a partir do seu usuário.

Para executar seu comando:

  1. obtenha um shell de root executando sudo -i
  2. execute seu comando: echo "myhostname" > /etc/hostname
  3. sair do shell de raiz com exit
por 03.12.2014 / 10:42