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进程出现问题,我们想分析一下其线程堆栈,却发现 ...
随机推荐
- Linux挂载U盘
在将硬盘插到Linux系统上,打开硬盘时一直提示:unknown filesystem type 'ntfs'. 1.安装gcc,提供编辑环境 yum -y install gcc 2.下载ntfs- ...
- 合(析)取范式转主合(析)取范式--》Java实现
这次老师布置了如下上机作业,不限语言.思前想后,问了几个大神,说了一堆不知道什么鬼的算法名称.... 经过一番百度,发现Java可以包含库然后使用JavaScript的一些函数,其中eval() 函数 ...
- [转]Traits 编程技法+模板偏特化+template参数推导+内嵌型别编程技巧
STL中,traits编程技法得到了很大的应用,了解这个,才能一窥STL奥妙所在. 先将自己所理解的记录如下: Traits技术可以用来获得一个 类型 的相关信息的. 首先假如有以下一个泛型的迭代器类 ...
- MySQL Server 5.6 解压版安装配置
MySQL解压版下载地址为: http://dev.mysql.com/downloads/mysql/5.6.html#downloads 安装及配置步骤: ①将MySQL的zip包解压到路径C:\ ...
- js实现输入验证码
html部分: <div> <input type="text" id="input" /> <input type=" ...
- java-base64
1.encode public static String encode(byte[] bValue, String encode) { ByteArrayOutputStream o = new B ...
- JQUERY1.9学习笔记 之基本过滤器(十) 非选择器
非选择器jQuery( ":not(selector)" ) 例:找出所有input标签为非"checked"的,并且高亮其邻居元素span. <!DOC ...
- mysql 字符串拼接函数CANCAT()与GROUP_CANCAT()
1.CONCAT() 拼接单行字符串 select concat(‘100’,user_id) from table1; select concat('11','22','33'); 结果 11223 ...
- day06
一.configparser模块 configparser用于处理特定格式的文件,其本质上是利用open来操作文件 1.获取所有节点 import configparser config = conf ...
- ARM9的MMU
一 页表 1. 页表是放置在RAM(一般为DRAM)中的一个数据段. 2. ARM的地址空间为2^32字节,即4G字节. 3. 一级页表总共有4096条记录,每条记录对应的地址块为1M,一级页表中的记 ...