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

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top