Scrivere script di shell che può essere eseguito solo da un utente sudo in Ubuntu
Domanda
Sto scrivendo uno script di shell che dovrebbe essere gestito da solo gli utenti in lista utenti sudo, qual è il modo appropriato di fare questo?
quello che sto pensando è in script di shell, tenta di creare un file fittizio nel sistema di directory come / var / run / e rimuoverlo, quindi gli utenti non in lista sudo riceveranno un errore di autorizzazione, ma ci credo devo essere un modo più appropriato di fare questo, grazie per l'aiuto
Soluzione
È possibile controllare i valori di $ UID e $ EUID nello script. Sarebbero zero per essere equivalente a root. Oppure, se non bash, è possibile utilizzare id -u
.
Altri suggerimenti
Cambia le autorizzazioni di esecuzione dello script solo essere eseguibile dall'utente, e modificare la proprietà dello script per root
. Che dovrebbe farlo.
assicurarsi di essere nella lista sudoers poi:
sudo chmod 700 / path / to / nomescript
[commento rispondendo]
dispiace - io non uso la sovversione: la mia ipotesi è che sarà necessario eseguire un altro script come sudoer che creerà lo script con le autorizzazioni corrette
No, non è necessario Sono d' cambio di proprietà a root, ma sarà mantenere le cose pulite se si fa.