用sudo命令无法读取环境变量的解决方法

通过sudo -l来查看sudo的限制:

$ sudo -l

Matching Defaults entries for xxx on this host:

env_reset, mail_badpass,

secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin

User xxx may run the following commands on this host:

(ALL : ALL) NOPASSWD: ALL

注意看第一行的选项Defaults env_reset表示默认会将环境变量重置,这样你定义的变量在sudo环境就会失效,获取不到。

另外有的发行版还有一个Defaults env_keep=""的选项,用于保留部分环境变量不被重置,需要保留的变量就写入双引号中。

解决:

1、在用户的主目录里的.bashrc中添加:

alias sudo='sudo env PATH=$PATH'

2、sudo visudo

# Defaults env_reset     # 注释掉原有配置

# Defaults env_keep=”…”     # 注释掉指定的变量保持

Defaults !env_reset     # 修改为不重置环境

(0)

相关推荐

  • linux系统下将php和mysql命令加入到环境变量中的方法

    在Linux CentOS系统上安装完php和MySQL后,为了使用方便,需要将php和mysql命令加到系统命令中,如果在没有添加到环境变量之前,执行 “php -v”命令查看当前php版本信息时时 ...

  • crontab 环境变量的使用方法

    环境:(产品,平台,机型,软件版本,等)AIX5L 问题描述:crontab中启动的shell脚本不能正常运行,但是使用手动执行没有问题,在$home/.profile中设定了脚本所需要的环境变量。 ...

  • Word无法创建工作文件提示请检查临时环境变量如何解决

    Word是微软的一个文字处理应用程序,是我们在电脑中常用的工具之一.不过有用户在打开电脑中的Word文件时提示“Word无法创建工作文件,请检查临时环境变量”.有时候我们为了节省系统盘空间,修改Int ...

  • ubuntu 命令行中文乱码问题的解决方法

    首先...我说的命令行是指Ctrl+Alt+F1~F6开启的纯命令行模式 不是在X Window里打开的终端... 如果你遇到的是终端里无法显示中文这篇文里的方法基本对你没用....可以跳过了~ 言归 ...

  • CentOS终端命令行显示中文乱码的解决方法

    安装CentOS的时候选择了中文,结果在终端不能显示中文,都是乱码,解决方法: 修改/etc/sysconfig/i18n,内容为 复制代码 代码如下: LANG="zh_CN.GB18030" LA ...

  • CentOS执行ftp命令提示ftp:command not found解决方法

    在使用centos时, 要用ftp上传文件, 但是一到脚本的ftp命令就会出错: 复制代码 代码如下: ftp: command not found 原因是否ftp客户端没有安装上, 要重新安装一下就 ...

  • iTunes不能读取iPhone X内容解决方法

    新买的iPhone X到手2周了,想要把手机中的资料备份一下.结果刚用数据线连接上,iTunes就提示了"iTunes不能读取iPhone X的内容,请前往iPhone偏好设置的摘要选项卡, ...

  • win7无法读取dvd光驱的解决方法

    虽然现在很少有人使用光盘来刻录东西了,但是还是有一些使用群体在使用着光盘,比如说在影像店购买的电影光盘.明星的CD,还有就是婚纱店的相册光盘,他们都在使用着光盘.有时就会遇到电脑无法读取光盘的现象,遇 ...

  • Word:向程序发送命令时出现问题,最新解决方法

    困扰了快半年了,估计是装了软件造成了,网上的各种方法:删除normal.dot,改注册表等等,都用了,还是不行.用了一个小时,突然就很轻松了解决了,大家可以试试 操作方法 01 找到安装好的word文 ...