sviluppo-web-qa.it

Come posso consentire a un utente di fare causa a un altro senza consentire l'accesso come root?

Vorrei consentire a determinati utenti di fare causa ad un altro account utente senza dover conoscere la password di quell'account, ma non consentire l'accesso a nessun altro account utente (ad esempio root).
Ad esempio, vorrei consentire a Tom il DBA di fare un sopralluogo all'utente Oracle, ma non all'utente Tomcat o root.

Immagino che ciò possa essere fatto con il file/etc/sudoers - è possibile? Se é cosi, come?

56
gharper

Sì, questo è possibile.

In / etc/sudoers l'elemento che segue immediatamente il uguale è l'utente che il comando potrà eseguire come.

tom  ALL=(Oracle) /bin/chown tom *

L'utente (tom) può digitare Sudo -u Oracle/bin/chown tom/home/Oracle/oraclefile

45
Brent

Aggiungi al tuo/etc/sudoers qualcosa di simile

tom ALL=(Oracle) ALL

Quindi l'utente tom dovrebbe essere in grado di usare Sudo per eseguire le cose come utente Oracle con l'opzione -u, senza lasciare tom

Cioè ottenere una Shell come Oracle utente (beh, dato che il tuo Sudo è abbastanza nuovo da avere l'opzione -i).

Sudo -u Oracle -i
42

Per fornire SOLO le funzionalità della domanda, aggiungere quanto segue a/etc/sudoers:

tom            ALL=(Oracle)    /bin/bash

Quindi Tom può:

Sudo -u Oracle bash -i
9
karimofthecrop

Ad esempio, vorrei consentire a Tom il DBA di fare un sopralluogo all'utente Oracle, ma non all'utente Tomcat o root.

Di recente ho dovuto eseguire questa operazione su un sistema e ho avuto difficoltà a trovare le mie note sulla configurazione alternativa che ho usato anni fa che permetteva anche la sintassi su <user>. Nella mia situazione, dovevo consentire a più utenti di su per un utente specifico.

Crea un gruppo usando addgroup <groupName> che altri utenti saranno in grado di su senza una password. Quindi aggiungi quel gruppo a ciascun utente a cui desideri poter su a quell'utente senza password: usermod -a -G <groupName> <userName> (o usermod -a -G Oracle tom). Le modifiche al gruppo potrebbero non avere effetto fino al prossimo accesso.

Nota: nel tuo caso, hai già il gruppo perché il gruppo Oracle sarebbe stato creato quando avessi fatto l'utente Oracle con adduser Oracle.

Ora modifica /etc/pam.d/su e in seguito a:

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so

..aggiungi le righe delle regole di autenticazione in modo che la sezione sia simile alla seguente:

# This allows root to su without passwords (normal operation)
auth       sufficient pam_rootok.so
auth       [success=ignore default=1] pam_succeed_if.so user = <groupName>
auth       sufficient   pam_succeed_if.so use_uid user ingroup <groupName>

Sostituisci <groupName> con Oracle in questo caso. Ciò consentirà a qualsiasi utente che fa parte del <groupName> per su <groupName>

Ora tom può su Oracle e se devi fornire ad altri utenti lo stesso accesso, aggiungili al gruppo Oracle.

domanda simile qui

0
jtlindsey