Tendo problemas ao executar um comando como outro usuário no Ubuntu

0

Estou usando o Ubuntu 14.04. Quando logado como root, estou tentando executar um comando como anotehr (postgres). No entanto, está falhando

root@remotebox:/home/rails/myproject# su - postgres 'pg_upgradecluster 9.3 main'
-su: pg_upgradecluster 9.3 main: No such file or directory

O que estou fazendo de errado?

    
por Dave 21.10.2016 / 22:27

1 resposta

0

Você está tentando passar 'pg_upgradecluster 9.3 main' para o shell padrão do usuário postgres. Dependendo da configuração do usuário postgres, isso pode significar executar o arquivo 'pg_upgradecluster 9.3 main' no PATH postgres, e este é o motivo pelo qual você obtém um "Nenhum erro de arquivo ou diretório".

Tente passar o argumento como um comando (-c):

su - postgres -c 'pg_upgradecluster 9.3 main'

como shell:

su - postgres -s /path/to/pg_upgradecluster -- 9.3 main

ou para escolher o shell:

su - postgres -s /bin/bash -- -c 'pg_upgradecluster 9.3 main'
    
por 21.10.2016 / 23:20