script para su com senha no script sem raiz

8

Eu escrevi um processo que envolve a atualização de links simbólicos em arquivos localizados em três máquinas diferentes. Nessas máquinas, existem 4 usuários cada um, cada um com os quais esses links devem ser atualizados.

Usando su, existe uma maneira de passar o argumento da senha para o comando em uma única linha, sem chamar o sudo, pois os usuários não terão direitos de administrador?

Minha única solução alternativa neste momento é ssh, mas eu gostaria de poder fazer isso sem codificar em um monte de hosts / ips.

Triplell89
fonte

Respostas:

3

Você pode canalizar a senha para su como este:

echo pa$$w0rd | su -c whoami user_1
gogators
fonte
11
Obtendo o erro "O padrão deve ser um tty"
Triplell89
Você está usando ssh? Tente a opção -t para ssh.
gogators
@KevinVW, não vejo -t como opção no su.
Maestromani
O -t é para ssh, não su. Se força uma pseudo-tty para que su possa ler a senha do stdin.
Gogators #