È possibile rendere gli utenti subordinati a un utente diverso da root in Linux?


0

Vorrei creare utenti subordinati a un altro utente in Linux. Con questo voglio dire che voglio che l'utente superiore sia correlato agli utenti subordinati in due modi:

  • L'utente superiore deve poter accedere a tutti i file subordinati utenti con le stesse autorizzazioni che hanno
  • L'utente superiore deve essere in grado di su a questi utenti subordinati senza inserire le password degli utenti , simile a come può essere root su a qualsiasi utente che abbia una shell di login

È possibile? Se é cosi, come? So di poter gestire la prima cosa con i gruppi, ma la seconda è in realtà la più importante.

Ho cercato un po 'per trovare una soluzione, ma non sono riuscito a trovarne una. Non sono sicuro che ciò significhi che non può essere fatto / è davvero oscuro o semplicemente non ho le parole giuste per farlo.


Penso che PolicyKit dovrebbe aiutare con il secondo. Guarderei SELinux, invece di andare in giro con i gruppi.
Ignacio Vazquez-Abrams

Voluto sudo lavoro?
Scott

Risposte:


1

La prima parte - l'accesso ai file - è generalmente impossibile su Linux semplice. Puoi fare alcune cose con gruppi o file ACL, ma non c'è nulla che impedisca l'utilizzo del proprietario del file chmod per rendere privati ​​i propri file.

C'è niente del genere in Linux come " X è subordinato di root perciò root può accedere ai file di X ".
Invece, root ha semplicemente la capacità di "sovrascrivere tutti i permessi" (cap_dac_override). È tutto.

Tuttavia, potrebbe essere possibile scrivere un LSM che faccia questo - il tipo di modulo usato da SELinux o SMACK ... O potresti semplicemente usarlo su <subordinate_user> e leggi i loro file in questo modo:


La seconda parte è possibile scrivendo personalizzato sudo regole o configurazione PAM speciale per su (anche se sfortunatamente non conosco nessun modulo PAM esistente che possa aiutare).

Ad esempio, se si desidera consentire all'utente X di eseguire sudo -u Z -s (equivalente a su Z ), la regola sarebbe:

X    ALL=(Z) ALL

Puoi anche usare %groupname per specificare un gruppo Unix:

superiorguy    ALL=(%subordinates) ALL

La modifica del file sudoers lo ha fatto. Posso vivere senza i permessi dei file poiché posso semplicemente consentire al mio utente di agire come un altro senza password. Grazie!
Dylan
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.