Impedire a SUDO di eseguire passwd


1

Voglio impedire agli utenti con accesso sudo di utilizzare sudo eseguire passwd (e quindi modificando la password di root).

È possibile? Se è così, come può essere realizzato?


2
Ad ogni modo, perché è così importante avere la password di root quando sei già un sudoer? La conferenza su questo "con un grande potere deriva una grande responsabilità" che sudo dà alla prima esecuzione è esattamente la risposta a questa domanda. Quello o dare autorizzazioni sudo "limitato" (solo alcuni programmi, e assicurare che non possono eseguire subshell, quindi no more o less )
ssice

Risposte:


5

In pratica, non puoi vietare agli utenti di eseguire un particolare comando, se sono ancora autorizzati a eseguire tutti gli altri comandi, che potrebbero copiare passwd a really-not-passwd-i-promise ed eseguirlo.

Se vuoi impedire a sudoers di modificare la password di root o la password di qualcun altro, non puoi impedirlo neanche; possono modificare manualmente /etc/shadow a condizione che abbiano i privilegi di root usando sudo.

(Ciò potrebbe essere ottenuto, ad esempio, usando Kerberos o LDAP per l'autenticazione - in questo modo nessuno potrebbe cambiare la password di un altro utente - ma ancora nulla può impedire a sudoers di interrompere semplicemente la configurazione o qualcosa del genere.)

Fondamentalmente, non dare pieno sudo diritti a persone di cui non ti fidi. Proibire un singolo comando e consentire a tutti gli altri non può essere fatto.


1
+1 - L'unica opzione che potrei pensare per consentire alcuni, ma non tutti, sudo i diritti sarebbero creare un gruppo di utenti con accesso ad alcuni dei root abilità. Ma @PaulDC, ci dovrebbe essere poco motivo per cui altri utenti al di fuori del sysadmin dovrebbero avere privilegi di root (in particolare gli utenti discutibili). Fai qualche ricerca per gruppi di utenti e visudo. Potrebbe essere il più vicino possibile (ma è necessario definire ogni cosa specifica che può essere fatta per limitarlo ed evitare editor come vim / emacs poiché ciò consentirebbe la modifica dei file con diritti di amministratore).
nerdwaller

La modifica dei file, la creazione di subshell, l'assegnazione di contesti di sicurezza e l'impostazione di setuid / funzionalità dovrebbero essere curati in modo particolare. Ma se non puoi fare nulla di tutto ciò, perché dovresti impersonare comunque la radice? Forse ti piacerebbe approfondire la ricerca in ACL, unix gruppi e / o sudo come utenti diverso da radice.
ssice

0

È molto difficile mantenere l'utente root fuori da qualsiasi cosa, ma credo che tu possa farlo con AppArmor.

Il problema è, come lo configureresti in modo che le password legittime cambino può accadere?

Il trucco potrebbe impostare un profilo AppArmor per sudo che è ereditato da tutti i suoi figli. Ciò non influisce sugli utenti che eseguono passwd come se stessi (per modificare la propria password) e non influisce sugli utenti che inseriscono root tramite su.

Tuttavia, sospetto che tu possa eludere ciò copiando, spostando o rinominando il sudo binario, quindi probabilmente vorrai bloccare passwd accesso in scrittura per tutti i processi di root, e quindi cambiarlo sempre usando un CD live.

Ovviamente, devi anche proteggere AppArmor stesso dalle modifiche. :)

La soluzione migliore è probabilmente anche dare accesso sudo solo per comandi specifici e solo per comandi che non cambiano il filesystem.


0

che dire di questo: modificare / etc / sudoers file come di seguito: %wheel ALL=(ALL) ALL,!/usr/bin/* /etc/shadow,!/usr/bin/* /etc/sudoers\ ,!/usr/bin/* /usr/bin/su,!/usr/bin/su,!/usr/sbin/visudo quindi nessun comando accessibile su questi file e sudo su pure.

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.