Esegui come utente diverso


9

Su un sistema RedHat, sto cercando di avviare un programma con un altro utente che non ha alcuna shell. In / etc / passwd, la shell è / sbin / nologin.

Ho provato:

  1. su myuser -c /home/myuser/script.sh Risultato: questo account non è al momento disponibile.

  2. Con chown e setuid: chown myuser: mygroup /home/myuser/script.sh chmod + s /home/myuser/script.sh /home/myuser/script.sh Risultato: script.sh viene comunque eseguito come mio utente connesso ( radice).


Stai eseguendo il suroot come utente non privilegiato?
James O'Gorman,

Risposte:


17

provare:

su myuser -s /bin/sh -c /home/myuser/script.sh

0

questo errore significa che in / etc / passwd hai impostato shell / sbin / nologin o / sbin / false per l'utente myuser.

Si prega di impostare qualcosa di utile come / bin / bash


Ecco cosa stava succedendo l'OP già pubblicato; OP chiede se esiste un modo per eseguire il programma nonostante il nome utente non abbia shell.
Bart Silverstrim,

Sì ... è la domanda in effetti. Vorrei sapere se è possibile eseguire uno script come un altro utente, senza impostare una shell in / etc / passwd
Karl

1
Non puoi farlo usando lo script se l'utente ha una shell come questa.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.