有很多指令都只可以用 root 身份去执行,因此我们需要成为 root 用户。要这样做,我们可以使用 su 指令(更替用户)。su 指令有下列格式:

su - <user>

su <user>
  但我们最经常是用 su 指令来成为 root 用户:
su - root

su root
如果不指定用户名称,缺省的用户是 root,因此以上的指令可以缩短为:
su -

su
  然而这两个指令有不同的特性。'su <user>' 将 <user> 这个身份赋予现时的用户;而 'su- <user>' 除了将 <user> 的身份赋予现时的用户之外,更会将环境设置成 <user> 登录时的环境。很多时候,用户会单单采用 'su' 来成为 root,尝试执行一个指令(例如:ifconfig),然后收到一个 'command not found' 的错误。举个例子:
su
Password:
ifconfig
bash: ifconfig: command not found
  原因是系统上的普通用户与 root 用户有不同的 PATH 环境变量。当你输入一个 Linux 指令,指令壳会尝试在用户的 PATH 内寻找及执行那个指令。它会寻找 PATH 变量内的每个目录直至找到配对。
  很多时候当用户在 IRC 或其它地方汇报问题时,他们会被导向此页。当你要检测为何找不到某个执行档时,查看现有的 PATH 很有帮助:echo $PATH

为普通用户而设的指令多数位于 /usr/bin 及 /bin,偶尔也会在 /usr/local/bin —— 上游在包装时缺省不会采用 /usr/local/* 路径。然而,root 的指令多数位于 /usr/sbin 及 /sbin,偶尔也会在 /usr/local/sbin。这亦反映在 root 的 PATH 内。

当你用 su - 来变成 root 时,你亦会采纳 root 的 PATH;反观只用 su 就会保留用户的 PATH 值。正因如此,单单用 su 来成为 root 时,执行/usr/local/sbin/、/usr/sbin、或 /sbin 内的指令便会导致 command not found 这个错误。要获得更详细的解释,请参阅 bash 的使用手册(man bash),特别是有关 INVOCATION 及登录指令壳这个部份。

因此你假若只使用 su,便须要提供指令的全路径(例如:/sbin/ifconfig),否则请使用su - 来成为 root。
---------------------
作者:蹒跚走路的程序猿
来源:CSDN
原文:https://blog.csdn.net/phj_981805903/article/details/16973481
版权声明:本文为博主原创文章,转载请附上博文链接!

最新文章

  1. Objective-C开发编码规范【转载】
  2. Heartbeat+DRBD+MySQL高可用方案
  3. C++实现类似飞鸽的内网聊天工具,采用多播的协议实现
  4. php路径目录解析函数dirname basename pathinfo区别及实例
  5. Codeforces Round #357 (Div. 2) E 计算几何
  6. (笔记)angular 多选按钮
  7. 关于async与await的FAQ 转
  8. Android-L-Samples
  9. Spring(3.2.3) - Beans(7): 延迟实例化
  10. Swift - 浮点数转换成整数(四舍五入与直接截断)
  11. 【C++】模拟实现auto_ptr
  12. Flex布局学习笔记
  13. Cesium home键定位的位置
  14. 关于table表格 td里内容较多换行的处理方法
  15. golang文件操作
  16. linux 环境统配
  17. 自签名证书 nginx tomcat
  18. Codeforces963C Frequency of String 【字符串】【AC自动机】
  19. python 的基础 学习 第五天 基础数据类型的操作方法
  20. cocos2dx开发之util类&amp;方法——取范围随机数

热门文章

  1. Android反调试笔记
  2. py解释器PC
  3. Python之路,第十五篇:Python入门与基础15
  4. Flask中的route
  5. [LeetCode&amp;Python] Problem 389. Find the Difference
  6. Unity 灯光系统详解
  7. loadrunner如何对mysql进行增删改查
  8. 20155208 实验四 Android开发基础
  9. CentOS7源码安装qbittorrent最新版本
  10. php基础-1