Perché è root in ruota e operatore? Essere root in un gruppo può mai fare la differenza?


18

Ho appena notato sulla mia macchina FreeBSD che root è su ruota e operatore. Sto provando a pensare a una situazione in cui l'UID 0 in un gruppo avrebbe alcun effetto su ... beh ... qualsiasi cosa, e sto andando in bianco. Del resto, root ha bisogno anche di un gruppo di login primario in / etc / passwd? O login (3) soffoca e muore se l'utente ha un campo vuoto del gruppo primario?

(Per chiarire: capisco lo scopo dell'esistenza del gruppo "root", dal momento che i file hanno bisogno di un proprietario del gruppo. Non capisco come sia importante che l'utente root / toor / qualunque cosa abbia quell'appartenenza al gruppo.)

È solo un'innesto di decenni fa o c'è una vera ragione?

Risposte:


5

In breve: no. Il root wheele il operatorgruppo non cambiano nulla.

Ma stai anche mettendo in discussione altre 2 cose:

  • ID gruppo radice è (per impostazione predefinita) impostato su 0, che è la cosa più vicina a un valore vuoto che puoi ottenere.

    $ head -4 /etc/passwd
    # $FreeBSD: releng/9.2/etc/master.passwd 243947 2012-12-06 11:52:31Z rwatson $
    #
    root:*:0:0:Charlie &:/root:/bin/csh
    toor:*:0:0:Bourne-again Superuser:/root:
    

    Come detto, ogni utente deve avere un gruppo, quindi non è possibile impostare l' id del gruppo radice (né alcun utente gid) su un valore vuoto o vuoto. Se provi a impostare un gid utente su vuoto, verrai avvisato da pwd_mkdb:

    pwd_mkdb: no gid for user root
    pwd_mkdb: at line #3
    pwd_mkdb: /etc/pw.Rlb2U3: Inappropriate file type or format
    re-edit the password file?
    

    Quindi il fatto che il root sia definito riguarda più il fatto che abbia un nome appropriato anziché solo un numero stupido. È possibile modificare il root gid in qualsiasi numero privo di significato (gid non compreso /etc/group). L' utente root sarebbe comunque in grado di accedere, suo qualsiasi altra cosa che root possa fare. Finirai per avere qualcosa del genere:

    $ id
    uid=0(root) gid=10000 groups=10000,5(operator)
    
  • sul perché alcuni utenti fanno parte del gruppo di ruote che è una storia completamente diversa, poiché FreeBSD , come OpenBSD o NetBSD , gli utenti devono far parte del programma wheelper eseguire il su root .

    Dalla documentazione di FreeBSD ( capitolo 9.4 ):

    Per su alla radice (o qualsiasi altro account con privilegi di superuser), è necessario essere in ruota di gruppo. Se questa funzione non fosse presente, chiunque disponga di un account su un sistema che ha anche scoperto la password di root sarebbe in grado di ottenere l'accesso a livello di superutente al sistema. Con questa funzione, questo non è strettamente vero; su (1) impedirà loro anche cercando di inserire la password se non sono in ruote .

    Ma hai ragione, rimuovere l' utente root dalla ruota non cambierebbe le cose. Ciò è puramente formale, per quanto l' utente toor non faccia parte della ruota o della radice faccia parte del gruppo di operatori .

  • Il gruppo di operatori è tuttavia, puramente formale, senza alcun significato speciale in sé.

Ecco anche cosa pensa Richard Stallman del gruppo ruote (dal manuale di gnu su ):

Perché GNU "su" non supporta il gruppo "wheel" ===================================== ==========

(Questa sezione è di Richard Stallman.)

A volte alcuni utenti cercano di mantenere il potere totale su tutto il resto. Ad esempio, nel 1984, alcuni utenti del laboratorio di intelligenza artificiale del MIT decisero di impadronirsi del potere cambiando la password dell'operatore sul sistema Twenex e mantenendola segreta a tutti gli altri. (Sono stato in grado di contrastare questo colpo di stato e ridare potere agli utenti rattoppando il kernel, ma non saprei come farlo in Unix.)

Tuttavia, a volte i sovrani lo dicono a qualcuno. Con il solito meccanismo "su", una volta che qualcuno apprende la password di root che simpatizza con gli utenti ordinari, può dire il resto. La funzione "gruppo ruota" renderebbe tutto ciò impossibile, e quindi cementerebbe il potere dei sovrani.

Sono dalla parte delle masse, non quella dei sovrani. Se sei abituato a supportare i boss e gli amministratori di sistema in qualunque cosa facciano, all'inizio potresti trovare questa idea strana.


1

login (3) e altri si aspettano un gruppo primario. Ne hanno bisogno in modo che possano impostare campi validi nei file utmp / wtmp. E anche se non lo facessero (ha cambiato il formato del file), avresti riscontrato un problema più fondamentale quando login (1) o sshd (8) o altri programmi tentano di impostare la sessione utente - indipendentemente da utmp / wtmp devono riempire entrambi Proprietà del processo del kernel UID e GID (poiché i file creati dall'utente che ha effettuato l'accesso devono avere UID e GID riempiti, come si nota).

Per quanto riguarda il motivo per cui onnipotente-root ha bisogno di più del gruppo primario, non per i controlli delle autorizzazioni (poiché vengono saltati per UID 0), ma per altri usi.

Il gruppo "wheel" viene utilizzato in particolare per diversi controlli di autenticazione aggiuntivi come ad esempio pam_wheel

Altri gruppi come "operatore" potrebbero essere utilizzati per funzionalità di sicurezza (ad esempio, alcuni processi eseguiti da root potrebbero impostareu (2) su UTENTE non privilegiato (come "nessuno"), mantenendo comunque le appartenenze al GRUPPO (come "operatore"). Consentirebbe a tale processo di continuare ad accedere ai file di proprietà di quel gruppo, riducendo in modo significativo i problemi di sicurezza dell'esecuzione con accesso UID 0 completo.

Non sono sicuro se ci sono programmi che utilizzano questa funzione nel tuo sistema (o se la CORRENTE di FreeBSD predefinita)


0

Può fare la differenza - non appena un programma controlla l'appartenenza al gruppo e si comporta in modo diverso a seconda del risultato. Naturalmente, non vi è alcuna differenza nei privilegi che l'utente root può imporre .


0

Non è che se nessuno è un membro della ruota di gruppo, allora la ruota viene semplicemente ignorata e tutti gli utenti possono eseguire su ... e potenzialmente indovinare la password. Avendo almeno un userid un membro della ruota di gruppo (cioè root userid), i controlli della ruota vengono controllati e solo altri membri della ruota di gruppo possono provare a eseguire su.

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.