linux sudo环境变量设置
这是第一次在博客园中写自己的随笔,也是第一次使用Markdown的编辑环境,值得纪念一下!希望在以后学习linux的道路上能多多记录自己的学习心得和遇到问题的解决方法,朝着运维的方向迈出坚实的脚步。
问题描述
最近在编译一个开源软件时,在好不容易配置好各种编译环境之后,由于各种权限问题还是无法正常进行编译,所以索性切换到root用户下进行编译,这时自然不存在所谓的无权限问题了。但是有时候并不想在root用户和普通用户来回切换,说白了就是懒得输入root用户的密码,太长了。于是就想到了sudo命令,但是关键问题就出来了,切换到root用户下能正常编译,使用sudo命令竟然无法编译,提示错误为相关的编译器没有找到,这种问题对于我这种linux的小白来说有点困难,毕竟使用root用户是可以编译通过的。好了以下详细记录自己解决问题的办法吧。
环境变量配置
- 对于全局环境变量配置使用/etc/bash.bashrc和/etc/profile两个文件,这两个文件中存放了全局的环境变量。也就是说是所用用户共享的环境变量。当然让我困惑的也正是这一点。
- 对于局部环境变量,也就是针对每个用户的环境变量,在每个用户家目录下面都有两个隐藏文件分别是.bashrc和.profile,这两个文件中记录了,该用户专属的环境变量,当然如果在全局环境变量和局部环境变量中都定义了同一个环境变量的情况下,就会出现环境变量路径重复的情况,不过好像也没有什么大的问题。
- 在执行sudo命令的时候,我以为由于环境变量是配置的全局环境中的,所以应该不用管环境变量的问题。带着这个问题去百度了一下找到了有关问题的解释su和sudo的区别,但是关于这篇文章中说的sudo使用的是root的环境变量,我在root的家目录下的.profile文件中添加了需要的路径,但是并没有解决问题,关于这点还带进一步学习啊。其实对于linux的相关文档读的太少了,有待加强。原来sudo使用的是自己的环境变量,于是继续找答案,在sudo环境变量传递中找到了一点思路。但是使用该方法也没有解决问题,可能是自己人品太差了。最后只能使用杀手锏了,在secure_path中添加了需要的路径,这次终于编译通过了。
结论
- linux主要作为一个服务器使用,为了保证系统的安全性和给予用户足够的权限执行相关操作,采取的sudo命令使用自己的环境变量也是很有道理的。还是以前对于sudo命令理解的太浅了,经过这回问题的解决,也算是学习了好多,加深了对于sudo命令使用的认识。
- 就一个看似很小的环境变量的问题在linux中竟然能引发这多一连串的问题,看来学习linux还有很漫长的道路要走啊,希望自己能每天都进步一点,最终能实现自己linux运维和开发的目标。
linux sudo环境变量设置的更多相关文章
- Linux下环境变量设置 (转)
Linux下环境变量设置 1.在Windows 系统下,很多软件安装都需要配置环境变量,比如 安装 jdk ,如果不配置环境变量,在非软件安装的目录下运行javac 命令,将会报告找不到文件,类似的错 ...
- Linux下环境变量设置技巧
Linux下环境变量设置技巧,不用/etc/profile而是在/etc/profile.d目录下新建特定的shell文件来设置 区别: 1.两个文件都是设置环境变量文件的,/etc/profile是 ...
- linux中环境变量设置
Linux下环境变量设置的三种方法: 如想将一个路径加入到$PATH中,可以像下面这样做: 只对当前的shell 起作用的环境变量 1.控制台中设置,不赞成这种方式,因为他只对当前的shell 起作用 ...
- 【Linux】环境变量设置
在Windows中环境变量设置是非常easy的事情.例如以下图.仅仅要右键我的电脑->高级系统设置->环境变量,选择Path之后,点击"编辑"就能够输入你要加入的内容. ...
- Linux 中环境变量设置
本文主要整理自以下博文: .bash_profile和.bashrc的什么区别及启动过程 linux环境变量设置方法总结(PATH/LD_LIBRARY_PATH) .bash_profile 和 . ...
- linux下环境变量设置的问题
在当前环境变量前新增加一个路径 export PATH=/your/bin/path:$PATH export LD_LIBRARY_PATH=/your/lib/path:$LD_LIBRARY_P ...
- 在Linux里环境变量设置的方法(export PATH)
一般来说,配置交叉编译工具链的时候须要指定编译工具的路径,此时就须要环境变量设置.比如我的mips-linux-gcc编译器在"/opt/au1200_rm/build_tools/bin& ...
- Linux下环境变量设置
分类 Linux下的环境变量按生存周期来划分,可以划分为两种: 1)永久的:需要修改配置文件, 变量永久生效 2)临时的:直接在终端使用export命令声明即可,但是关闭shell后失效. 设置方法 ...
- Linux Unix 环境变量设置实例
背景 从第一次写Hello World我们便开始接触环境变量.这最基础的系统设置是必须要掌握的,尤其在是Linux/Unix系统中.比如,哪天某个Java进程出现问题,我们想分析一下其线程堆栈,却发现 ...
随机推荐
- hdu 4631(最近点对,容器)
点击打开链接 题意: 给你一个平面,每次加入一个点,当点数>=2时,求最近点对距离的平方,最后输出所有的平方和. 给你a,b,c x[0]=0;x[i]=(x[i-1]*a+b)%c 如果按照平 ...
- Android之声音管理器《AudioManager》的使用以及音量控制
以下为网上下载然后拼接-- Android声音管理AudioManager使用 手机都有声音模式,声音.静音还有震动,甚至震动加声音兼备,这些都是手机的基本功能.在Android手机中,我们同样可以通 ...
- tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable
linux 下 启动tomcat 报: Neither the JAVA_HOME nor the JRE_HOME environment variable is definedAt least o ...
- jquery如何将获取的颜色值转换为十六进制形式
jquery如何将获取的颜色值转换为十六进制形式:大家或许已经注意到了,在谷歌.火狐和IE8以上浏览器中,获取的颜色值是RGB形式,例如rgb(255,255,0),感觉非常不适应,或者在实际编码中不 ...
- java-base64
1.encode public static String encode(byte[] bValue, String encode) { ByteArrayOutputStream o = new B ...
- js 联系电话验证实现
var str=$('#tele').val(); var regPartton=/1[3-8]+\d{9}/; ...
- java学用代码
/** *Java获取IP代码 */ import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.ev ...
- easyui tabs 真正刷新用法
//刷新当前标签Tabs function RefreshTab(currentTab) { var url = $(currentTab.panel('options')).attr('href') ...
- 多线程爬虫Java调用wget下载文件,独立线程读取输出缓冲区
写了个抓取appstore的,要抓取大量的app,本来是用httpclient,但是效果不理想,于是直接调用wget下载,但是由于标准输出.错误输出的原因会导致卡住,另外wget也会莫名的卡住. 所以 ...
- CentOS 6.4 安装 Fcitx4.0
一.首先安装中文支持: su root yum install "@Chinese Support" exit yum remove ibus 注销再登陆 二.安装fcitx 下载 ...