Problema nell'esecuzione del comando come utente diverso con sudo -u


12

Quando sto provando a eseguire lscome utente abccon il seguente comando ricevo un errore:

xyz@host:~/temp$ sudo -u abc ls
[sudo] password for xyz:
Sorry, user xyz is not allowed to execute '/bin/ls' as abc on host.

Ma se lo faccio su abce quindi eseguo lsnon ho problemi

Risposte:


17

È necessario configurare i criteri di sicurezza sudo per consentire all'utente xyz exec qualcosa come utente abc. Leggi 'man sudoers' e usa il comando visudo per configurare / etc / sudoers.

Ad esempio, consentiamo all'utente xyz exec / usr / bin / whoami come utente abc senza password. Aggiungi questa stringa in / etc / sudoers (con visudo, non modificare direttamente / etc / sudoers):

xyz ALL = (abc) NOPASSWD: /usr/bin/whoami

E ora testalo:

xyz@host:~$ sudo -u abc /usr/bin/whoami
abc

ti è venuto in mente di spiegare perché dovrebbe evitare direttamente edit / etc / sudoers?
Adi Prasetyo,

Perché quando modifichi direttamente / etc / sudoers puoi fare un errore, rompere il file sudoers e (nel peggiore dei casi) bloccarti con l'uso di sudo. 'Visudo' non è solo un editor, controlla anche la sintassi del file sudoers e aiuta a evitare errori, errori di battitura, ecc.
svq

4

Questo perché sudoè diverso da su. Quando si su abcdiventa l'utente per abcquanto riguarda il sistema. È quindi possibile fare tutto ciò che abcpuò fare.

D'altra parte, sudoviene utilizzato per consentire ad altri utenti di eseguire alcuni comandi tramite proxy. In altre parole, la tua sudoconfigurazione ti consente di eseguire alcuni comandi per conto di abc. Se il comando che stai tentando di eseguire non è uno di questi, ricevi l'errore che hai segnalato.


0

Nel caso tutto vada bene, ma ricevi ancora un Sorry user xxx cannot execute...messaggio e continua a chiederti una sudopassword ogni volta.

Puoi farlo:

  1. Nella /etc/sudoersriga di eliminazione con le impostazioni dell'utente
  2. Salvare il file
  3. Apri il file, digita (NO COPING) le tue opzioni per quell'utente
  4. Salvare il file
  5. Provalo.

Questo ha funzionato per me. Si è scoperto che il finale in quella riga era negativo perché ho copiato i comandi che dovevano essere eseguiti tramite e-mail.


Sicuramente se tu avessi usato visudoper modificarlo in primo luogo, te lo avresti detto?
Auspex,

No, non lo faresti.
borbar

Ah bene. Avrei davvero pensato ... In ogni caso, penso che tu abbia molte più probabilità di ottenere errori digitando manualmente che da copia e incolla. Basta essere consapevoli del fatto che i fine linea differiscono.
Auspex,
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.