GNU/Linux >> Linux Esercitazione >  >> Linux

Come impostare il percorso per i comandi sudo

Questo è normalmente impostato da secure_path opzione in /etc/sudoers . Da man sudoers :

 secure_path   Path used for every command run from sudo.  If you don't
               trust the people running sudo to have a sane PATH environ‐
               ment variable you may want to use this.  Another use is if
               you want to have the “root path” be separate from the “user
               path”.  Users in the group specified by the exempt_group
               option are not affected by secure_path.  This option is not
               set by default.

Per eseguire comandi che non sono nel $PATH predefinito , puoi farlo

  1. Usa il percorso completo:sudo ~/bin/my-command; o

  2. Aggiungi la directory contenente il comando a secure_path . Esegui sudo visudo e modifica la riga del percorso sicuro:

    Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/youruser/bin/"
    

    Salva il file e la prossima volta esegui sudo , la directory ~/bin sarà nel suo $PATH .


Questo è quello che ho usato per una soluzione alternativa:

sudo cp $(which my-command) /usr/bin
...

Il which Il comando viene eseguito in una subshell che non è root, quindi è in grado di trovare my-command , quindi, sudo copia l'eseguibile in un percorso che è root l'utente può accedere. Non eccezionale per la sicurezza, ma per me andava bene eseguire un'immagine docker che veniva distrutta subito dopo l'esecuzione del comando.


Linux
  1. Come posso impostare il completamento automatico per i comandi Git?

  2. Come impostare il percorso JAVA_HOME su Ubuntu?

  3. Come posso impostare un nick predefinito per le nuove connessioni irssi?

  4. Come impostare umask per un utente di sistema?

  5. Come impostare PATH per tutti gli utenti in Debian?

Come configurare il cluster RabbitMQ su CentOS 7

Come eseguire comandi Sudo senza password

Come abilitare il sudo senza password per l'utente in Linux

Come configurare un server Apt-cacher?

Come configurare Tls per Postfix su Ubuntu?

Come eseguire sudo comandi senza password