nei sudoer, come verificare se un alias è già definito, per evitare definizioni dupl


1

Devo abilitare un comando per diversi utenti, abilitato quando vengono creati gli utenti. Attualmente ho qualcosa di simile (su un Linux SLES 12 SP1)

Cmnd_Alias S3CP = /usr/local/bin/prog param1 param2 * # constraining usage
u1 ALL=(u1-helper) NOPASSWD: S3CP
u2 ALL=(u2-helper) NOPASSWD: S3CP
u3 ALL=(u3-helper) NOPASSWD: S3CP
# etc...

Quello che vorrei fare è prendere questi abbellimenti locali fuori dalla configurazione principale e inserirli in /etc/sudoers.d/modo da gestire meglio le modifiche alle configurazioni

90-myapp-u1.conf # containing the Cmnd_Alias and the authorization
90-myapp-u2.conf # similarly

Ma ciò potrebbe causare Cmnd_Aliasdefinizioni duplicate dal secondo utente in poi. C'è un modo per verificare se un alias è già definito e saltare un comando? Analogo a una regola MATCH o #ifndef. OPPURE, c'è un altro modo idiomatico di fare lo stesso? Non voglio incorporare l'alias di comando.

Molte grazie.

Risposte:


1

La migliore soluzione per i frammenti sarebbe probabilmente quella di mettere semplicemente il tuo S3CP nel suo fronzolo separato dall'uso di esso. Quindi fai qualcosa del genere. Sarebbe quindi sul tuo sistema di gestione della configurazione assicurarsi che s3cp sia sempre installato prima di aggiungere altri frammenti che tentano di usarlo.

/etc/sudoers.d/s3cp

Cmnd_Alias S3CP = /usr/local/bin/prog param1 param2 * # constraining usage

/etc/sudoers.d/u1

u1 ALL=(u1-helper) NOPASSWD: S3CP

/etc/sudoers.d/u2

u2 ALL=(u2-helper) NOPASSWD: S3CP

/etc/sudoers.d/u3

u3 ALL=(u3-helper) NOPASSWD: S3CP

Se non esiste una funzionalità simile a ifndef, prenderò l'approccio suggerito - è pulito e posso facilmente integrarlo nella creazione dell'utente
Dinesh

Se definisco cmnd_alias nel file 1 incluso e provo ad usarlo nel file 2, ricevo 2 avvisi: prima sul file 1, che dice alias definito ma non utilizzato; e secondo sul file 2, dicendo che non è stato definito alcun alias. C'è qualche altra impostazione richiesta affinché gli alias abbiano visibilità su più file?
Dinesh

Suppongo che stai usando visudo o qualcosa del genere quando ricevi questo errore? Ho imbrogliato e ho appena usato un editor di testo standard e quindi non ho mai visto alcun avviso. Se si sceglie di eseguire questa operazione, è importante testare prima un sistema non di produzione.
Zoredache,

Hai ragione, stavo usando visudo e gli alias non hanno avuto effetto. Proverò più modi sulla mia macchina di prova perché mi piace l'approccio.
Dinesh
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.