
我讀過了 如何讓 sudo 保留我的環境變數?我的 /etc/sudoers 文件中有以下幾行。
Defaults env_reset
.....
Defaults env_keep += "PATH"
但是當我執行 sudo 時,我的 PATH 變數是不同的,如下所示。
ckim@stph45:~/testsocket] printenv PATH
/home/ckim/Neuro/py-faster-rcnn/caffe-fast-rcnn/.build_debug/tools/:/home/ckim/anaconda2/lib:/home/ckim/anaconda2/bin:/home/ckim/uClinux/sparc-uclinux-3.4.4/bin:/opt/abde-rtems/bin:/opt/abde/bin:/opt/abocd/bin:/usr/lib64/qt4/bin:/home1/vivado-2014.3.1/DocNav:/home1/vivado-2014.3.1/Vivado/2014.3.1/bin:.:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/sbin:/usr/X11R6/bin:/usr/local/Acrobat7.0/bin:/home1/cadence/installs/INCISIV152/tools/bin:/home1/cadence/installs/INCISIV152/tools/bin/64bit:/home1/cadence/installs/INCISIV152/tools.lnx86/bin/64bit:/home1/ise132/ISE_DS/ISE/bin/lin64:/home1/ise132/ISE_DS/ISE/synopsys:/home1/ise132/ISE_DS/PlanAhead/bin:/home1/ise132/ISE_DS/ChipScope/bin/lin64:/home/ckim/bin
ckim@stph45:~/testsocket] sudo printenv PATH
/sbin:/bin:/usr/sbin:/usr/bin
有什麼問題嗎?我正在 CentOS 6.7 (Final) 上的 tcsh 上執行此操作。
編輯(問題改變):(感謝堂吉訶德)加上「。」後到 sudoers 文件中的 secure_path , secure_path 有效,因此我可以讓它在當前目錄中找到我的可執行文件,但它給了我這個錯誤。
ckim@stph45:~/testsocket] sudo TCPEchoServer 7
sudo: ignoring `TCPEchoServer' found in '.'
Use `sudo ./TCPEchoServer' if this is the `TCPEchoServer' you wish to run
如何讓 shell 不忽略“.”在安全路徑中?我不想放“./executable”,這就是我開始這個問題的原因。