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进程出现问题,我们想分析一下其线程堆栈,却发现 ...
随机推荐
- web初识-tomcat的基本使用
Web入门 1. 软件结构: C/S : 有客户端, 维护较麻烦, 需要客户端和服务器端都更新. B/S : 优点 : 客户端就是浏览器, 更新方便, 只需要更新服务器端即可 ...
- Tomcat部署多个项目及相关配置
1.配置多个项目 在tomcat的conf目录下,找到server.xml,在其中添加<Host>节点即可进行多个项目的部署 <Host name="localhost&q ...
- asp.net 调用天气所遇到的问题
由于在项目用了显示天气的功能,原有的调用方法 直接通过 <iframe name="weather_inc" src="http://i.tianqi.c ...
- 百度地图api窗口信息自定义
百度地图加载完后,完全可以用dom方法操作,比较常用的就是点击mark的弹窗,利用jQuery可以很快的创建弹窗,需要注意的就是地图都是异步加载,所以绑定时间要用 jQuery 事件 - delega ...
- php $_server 整理
$_SERVER['PHP_SELF'] #当前正在执行脚本的文件名,与 document root相关. $_SERVER['argv'] #传递给该脚本的参数. $_SERVER['argc'] ...
- 关于Java中重载的若干问题
一.问题引入 今天看视频时偶然间看到了,说父类和子类间也可以重载,貌似和以前的观念有些冲突,就验证了下…… 二.问题解决 看如下代码: public class Son extends Father ...
- poj2352 Stars
http://poj.org/problem?id=2352 #include <cstdio> #include <cstring> #define maxn 400000 ...
- delphi对ini文件的操作(转载 万一)
ini 文件操作记要(1): 使用 TIniFileunit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Gr ...
- arc4random和arc4random_uniform
Objective-C 中有个arc4random()函数用来生成随机数且不需要种子,但是这个函数生成的随机数范围比较大,需要用取模的算法对随机值进行限制,有点麻烦. 其实Objective-C有个更 ...
- java笔记15之this
this:是当前类的对象引用,记为该类的一个对象 注意:谁调用这个方法,在这个方法内部的this就是代表谁 解决场景: 解决局部变量隐藏成员变量 class Student { private Str ...