使用sudo执行命令的时候提示找不到命令

摘要:
事出有因,源自使用源码编译nginx,在/usr/local/sbin/目录下创建了nginx启动的符号链接,执行sudonginx的时候提示找不到命令,但是使用普通用户身份和root用户身份执行的时候均能找到命令.猜测原因可能出在$PATH环境变量上.于是执行sudoenv发现PATH果然有问题,/usr/local/sbin/不在PATH里.搜了一下,发现原因是这样的.在/etc/sudoers这个文件中有一项是secure_path,当使用sudo执行命令的时候,PATH变量会被重置为secure_path的值.而使用sudo执行命令是否重置环境变量则是由/etc/sudoers文件中的env_reset这一项来决定.据说可以将这一项设置为!

事出有因, 源自使用源码编译 nginx , 在 /usr/local/sbin/ 目录下创建了nginx 启动的符号链接 , 执行 sudo nginx 的时候提示找不到命令, 但是使用普通用户身份和root用户身份执行的时候均能找到命令. 猜测原因可能出在 $PATH 环境变量上.

于是执行 sudo env

发现 PATH 果然有问题 , /usr/local/sbin/ 不在 PATH 里.

搜了一下 , 发现原因是这样的.

在 /etc/sudoers 这个文件中有一项是 secure_path , 当使用sudo执行命令的时候 , PATH 变量会被重置为 secure_path 的值. 而使用sudo执行命令是否重置环境变量则是由 /etc/sudoers 文件中的 env_reset 这一项来决定 . 据说可以将 这一项设置为 !env_reset , 这个我没验证.

免责声明:文章转载自《使用sudo执行命令的时候提示找不到命令》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle 12C 创建表空间、用户、目录及授权Centos 6.5 SNMP客户端安装及配置版本net-snmp-5.7.3下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

linux添加用户,修改用户密码,修改用户权限,设置root用户操作

1、添加普通用户 [root@server ~]# useradd chenjiafa   //添加一个名为chenjiafa的用户[root@server ~]# passwd chenjiafa    //修改密码Changing password for user chenjiafa.New UNIX password:              ...

ubuntu16安装docker

首先确保curl已经安装! 然后执行: curl -sSL https://get.docker.com/|sudo sh 这个是通过脚本的方式安装docker. 运行命令测试 sudo docker run ubuntu echo "hello" 如果没有拉取镜像,这条命令会自动去拉取。  docker提供了一种非root用户来执行docker的方式:...

Jetson AGX Xavier/Ubuntu测试SSD的读写速度

我是在Jetson AGX Xavier上测试的,Ubuntu上应该也可以用。 1. 查看SSD df -h /dev/nvme0n1p1是我要测试的硬盘。 2. 读速度 sudo hdparm -tT /dev/nvme0n1p1 -t 执行设备读取的时间 -T 执行缓存读取的时间 多测几次会准一些 for i in 1 2 3; do sudo h...

(转)Ubuntu中启用关闭Networkmanager网络设置问题!

【Server版本】 在UbuntuServer版本中,因为只存有命令行模式,所以要想进行网络参数设置,只能通过修改/etc/network/interfaces。具体设置方法如下: (1) UbuntuServer 修改 IP地址 打开/etc/network/interfaces sudo vim/etc/network/interfaces 加入以...

Ubuntu18.04+GTX1080Ti+CUDA9.0+cuDNN7.0+TensorFlow-GPU1.9环境搭建

注:下面的的驱动版本不要安装最新(默认)的版本,因为会遇到各种问题,将会浪费你的大量时间。(当然大神无视) 环境 系统:Ubuntu 18.04 LTS 显卡:GTX1080Ti CUDA:9.0 cuDNN:7.0 TensorFlow:teansorflow-gpu 1.9 Python版本:3.6 一、安装NVIDIA显卡驱动 1.删除旧的驱动。 原...

升级指令

ntfs读写: 只有更新此命令,才能在linux中对windows中共享的内容作出的修改反应到windows中sudo apt-get install ntfs-3g sudo apt-get install ntfs-config 分区图形化:sudo apt-get install gparted在右键菜单中加入打开终端: sudo apt-get i...