Confusione con sudo e più account locali

0

Ho difficoltà a capire perché certe cose sono molto più complicate su un terminale mac rispetto a una shell Linux standard.

Dire che ho due account locali, un amministratore chiamato "adm" e un utente standard "usracc" e voglio essere in grado di aggiornare il database locate con il comando updatedb . Devo semplicemente eseguire sudo updatedb , ad eccezione di usracc non presente nell'elenco di sudoers.

Ok, dico e su adm poi sudo updatedb che mi dice che il comando updatedb non è stato trovato. Quindi per riassumere:

  1. il mio account utente normale non si trova nell'elenco di sudoers (questo è effettivamente intenzionale, in quanto non voglio compromettere il sistema se la password per questo account è compromessa).

  2. il mio account amministratore può sudo ma apparentemente non quel particolare comando, che non può essere trovato per nessun motivo.

  3. quando I su al mio account admin vedo; shell-init: error retrieving current directory: getcwd: cannot access parent directories: Permission denied che viene ripetuto ogni volta che provo ad ottenere assistenza con il tasto tab.

quindi con l'account root disabilitato, il tipo di mela ti costringe a dare i privilegi sudo agli account degli utenti per essere in grado di fare cose semplici, in che modo ciò aiuta esattamente la sicurezza? O ho completamente frainteso qualcosa qui?

    
posta posdef 19.09.2014 - 14:07
fonte

1 risposta

1

Non stai portando avanti il tuo ambiente di shell nella sessione su adm . quindi se si echo $PATH nell'account usracc e nell'account adm, si scoprirà che non sono uguali (motivo per cui adm non può trovare il comando updatedb). Tutto quello che devi fare è dire a su che vuoi portare avanti il tuo env ( su -m adm dovrebbe farlo) o semplicemente aggiungere il percorso a updatedb.

Anche se sulla mia casella updatedb si chiama /usr/libexec/locate.updatedb ed è uno script.

    
risposta data 23.09.2014 - 06:03
fonte

Leggi altre domande sui tag