comando eseguito con root ma non con sudo


0

Sto eseguendo il supervisorctlcomando con roote without rootutente. Con l' rootutente è ok ma con sudoesso non funziona. Ecco l'output:

[ec2-user@stg etc]$ sudo supervisorctl status
sudo: supervisorctl: command not found

Ora corro con l' rootutente:

[ec2-user@stg etc]$ sudo su -
Last login: Tue Jun  6 03:02:55 UTC 2017 on pts/1
[root@stg ~]# supervisorctl status
kafka                            BACKOFF   Exited too quickly (process log may have details)
zookeeper                        RUNNING   pid 24697, uptime 0:25:11

PATH la variabile è mostrata di seguito:

[root@stg ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin

[ec2-user@stg etc]$ echo $PATH
/home/ec2-user/.pyenv/shims:/home/ec2-user/.pyenv/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/aws/bin:/home/ec2-user/.local/bin:/home/ec2-user/bin

Aiutatemi a risolverlo.

Risposte:


0

Questo è un problema comune e hai identificato correttamente la fonte. Esistono due possibili soluzioni, assicurandosi che siano PATHpresenti root anche tutte le voci presenti ec2-useraggiungendo quanto segue al proprio profilo bash

export PATH="/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/opt/aws/bin:/root/bin:$PATH"

Oppure, IMO è la soluzione più elegante, assicurati di PATHincludere la directory specifica contenente supervisorctl.

Dovresti iniziare trovando la directory principale eseguendo whereis supervisorctlsotto root.

# whereis supervisorctl
/whatever/path/bin

Che dovrebbe quindi essere incluso nel tuo profilo bash

$PATH="/whatever/path/bin:$PATH"
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.