sudo保持环境变量】的更多相关文章

https://askubuntu.com/questions/57915/environment-variables-when-run-with-sudo https://www.phusionpassenger.com/library/indepth/environment_variables.html 环境变量放在sudo前面会失效,放到sudo后面可以生效…
编译Linux内核的最后是make modules_install install,这两个一般都需要root权限,即sudo,而一般我交叉编译内核时都是在.bashrc中export ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- 等等,而sudo默认会复位掉环境变量,导致设置的变量无效. sudo visudo 执行以上命令,在打在的文件中 Defaults env_reset行下面加一行 Defaults env_keep="ARCH CROSSED_…
1   命令:  visudo              98gg      98行             yy           复制当前行             p             粘贴            改成   zhang   ALL(ALL)  NOPASSWD:ALL     2  修改PATH环境变量路径 PATH说简单点就是一个字符串变量,当输入命令的时候LINUX会去查找PATH里面记录的路径.比如在根目录/下可以输入命令ls,在/usr目录下也可以输入ls,…
sudo执行脚本找不到变量 问题 当普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能获取到值,如题情况如下: $ cat tesh.sh echo $var $ var=aaa $ export var # export 变量 $ sudo echo $var # sudo执行echo命令,返回变量值 aaa $ sudo bash test.sh # sudo执行脚本,不能获取变…
这是第一次在博客园中写自己的随笔,也是第一次使用Markdown的编辑环境,值得纪念一下!希望在以后学习linux的道路上能多多记录自己的学习心得和遇到问题的解决方法,朝着运维的方向迈出坚实的脚步. 问题描述 最近在编译一个开源软件时,在好不容易配置好各种编译环境之后,由于各种权限问题还是无法正常进行编译,所以索性切换到root用户下进行编译,这时自然不存在所谓的无权限问题了.但是有时候并不想在root用户和普通用户来回切换,说白了就是懒得输入root用户的密码,太长了.于是就想到了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) NOP…
简介 变量 普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本,然后再sudo执行脚本,就找不到变量,未能获取到值,如题情况如下: $ cat tesh.sh echo $var $ var=aaa $ export var # export 变量 $ sudo echo $var # sudo执行echo命令,返回变量值 aaa $ sudo bash test.sh # sudo执行脚本,不能获取变量值 $ bash te…
1. sudo 和 root不完全等效,继承的环境变量不一样,最主要的区别还是输入的密码不同. 2. 使用sudo去执行一个程序时,出于安全的考虑,这个程序将在一个新的.最小化的环境中执行,也就是说,诸如PATH这样的环境变量,在sudo命令下已经被重置成默认状态了.由于环境变量的原因,比如pip可以执行,但是sudo pip不一定可以执行(PATH改变了,除非加上完整路径). 3. 默认情况下sudo会重置PATH环境变量,赋给PATH的值在/etc/sudoers文件中的“Defaults …
1. sudo就是普通用户临时拥有root的权限.好处在于,大多数时候使用用户自定义的配置,少数情况可以通过sudo实现root权限做事. 故而,需要注意的一点是,在你使用了sudo后,你临时不再是原先用户,不能使用属于自己的命令.举个例子:sudo source ... 该命令会执行失败,提示没有source命令.但你去掉sudo,又可以执行了.(从侧面可以反映sudo不等于获得root所有权限.)莫要滥用sudo. 2. 系统环境变量,对应/etc/profile文件,对所有用户有效.而用户…
问题: 当普通用户下,设置并export一个变量,然后利用sudo执行echo命令,能得到变量的值,但是如果把echo命令写入脚本, 然后再sudo执行脚本,就找不到变量,未能获取到值. 原因 sudo运行时,会默认重置环境变量为安全的环境变量,也即,但前设置的变量都会失效,只有少数配置文件中指定的环境变量能保存下来. sudo的配置文件是 /etc/sudoers 需要root权限才能读取: 在/etc/sudoers中修改:Defaults    env_reset为:Defaults   …