Comando Ubuntu runuser?

2

Estou criando um script bash que requer a execução de comandos como um usuário específico. Como resultado, estou usando o comando:

runuser

Eu testei este script e ele funciona perfeitamente no Ubuntu Server 14.10. No entanto, ao testá-lo em 14.04 e 12, encontrei o seguinte erro:

runuser: command not found

Isso acontece sempre que o comando runuser é usado.

Estou usando o seguinte comando para criar um novo usuário:

adduser --no-create-home --home "/home/$homedir" --disabled-password --gecos "$realname" "$uname" ; usermod -p "$passwd" "$uname"

Existe algo específico que precisa ser especificado ao criar o novo usuário? Existe uma dependência específica que está faltando?

Edições para perguntas:

Saída do echo $ PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/loc‌​al/games

Saída de ls -l / sbin / runuser

ls: cannot access /sbin/runuser: No such file or directory

A razão pela qual eu quero usar o runuser vs su é por causa do seguinte:

Ao usar o runuser, posso executar os seguintes comandos:

runuser user -c 'cd'
runuser user -c 'wget http://file.com'

Considerando que eu tenho que encadear os comandos da seguinte forma:

su user -c 'cd; wget http://file.com'
    
por user3024130 22.11.2014 / 20:42

1 resposta

9

runuser é um comando recente, apareceu em util-linux 2.23 . O Ubuntu 14.04 envia o util-linux 2.20 , por isso ainda não tem este comando.

runuser não é muito útil. Apenas use su . Observe que o comando runuser user -c 'cd' na verdade não faz nada - o escopo de cd não se estende até a próxima chamada para runuser . Você teria que usar runuser user -c 'cd && wget http://file.com' de qualquer maneira. Use su user -c 'cd && wget http://file.com' em vez disso.

    
por 23.11.2014 / 21:54