有很多指令都只可以用 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
版权声明:本文为博主原创文章,转载请附上博文链接!

centos su命令的更多相关文章

  1. CentOS常用命令备忘

    1. 查看进程 ps -a 杀掉进程 kill PID 2. 添加计划任务crontab -e 例如:30 21 * * * service httpd restart 每天21:30重启apache ...

  2. 第3章 CentOS常用命令

    一.CentOS常用命令 1.1 文件和目录 # cd /home                        进入 '/home' 目录 # cd ..                       ...

  3. 其他综合-CentOS 7 命令行显示优化

    CentOS 7 命令行显示优化 1.实验描述 通过 CentOS 7.6 的显示优化,为实现命令行显示提供良好视觉体验. [基于此文章的环境]点我快速打开文章 2.实验环境 使用软件的版本:VMwa ...

  4. 12.su 命令与sudo 服务

     1.su 命令:解决切换用户身份的需求,使得当前用户在不退出登录的情况下,顺畅地切换到其他用户. 比如从root 管理员切换至普通用户: [root@Centos test]# id uid=0(r ...

  5. 只允许wheel组到用户才能使用 su命令

    su只是切换到root用户, 不改变当前目录: su - 切换到root和改变目录到/root 修改用户到组: usermod gpasswd wheel组相当于windows的 Administra ...

  6. centos常用命令

    应用程序->附件->终端 一:使用CentOS常用命令查看cpumore /proc/cpuinfo | grep "model name"   grep " ...

  7. CentOS 常用命令大全

    下面,就给大家介绍这些CentOS常用命令. 一:使用CentOS常用命令查看cpu more /proc/cpuinfo | grep "model name" grep &qu ...

  8. Linux 普通用户su命令切换控制

    1.编辑配置文件/etc/pam.d/su .将下面配置文件"#“去掉: # auth           required        pam_wheel.so use_uid 改成 a ...

  9. Linux下su与su -命令的区别

    在启动服务器ntpd服务时遇到一个问题 使用 su root 切换到root用户后,不可以使用service命令: 使用 su - 后,就可以使用service命令了. 原因: su命令和su -命令 ...

随机推荐

  1. Python学习笔记第十二周

    目录: 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令事务 索引 创建数据库 外键 增删改查表 权限 python 操作mysql  ORM sqla ...

  2. Angular 手动解析表达式

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. 本地存储之application cache和localstorage

    http://blog.csdn.net/kingliguo/article/details/52637087

  4. git 应用

    git - 简易指南 助你开始使用 git 的简易指南,木有高深内容,;). 安装 下载 git OSX 版 下载 git Windows 版 下载 git Linux 版 创建新仓库 创建新文件夹, ...

  5. day python calss08 深浅copy

    一  join (格式:   . join) 遍历列表把列表中的每一项用指定符号进行拼接.(把列表转成字符串0 # lst = ["汪峰", "吴君如", &q ...

  6. queue 的基本用法

    queue 1.back() 返回一个引用,指向最后一个元素2.empty() 如果队列空则返回真3.front() 返回第一个元素4.pop() 删除第一个元素5.push() 在末尾加入一个元素6 ...

  7. 20165313 《Java程序设计》第六周学习总结

    教材学习总结 一点浅见,不足之处还请谅解. 正则表达式:正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称作正则表达式的元字符. 链表:由若干个称作结点的对 ...

  8. 《DSP using MATLAB》Problem 5.7

    代码: %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ %% Output In ...

  9. javaweb防止表单重复提交

    参考孤傲苍狼 https://www.cnblogs.com/xdp-gacl/p/3859416.html 场景一:在网络延迟的情况下让用户有时间点击多次submit按钮导致表单重复提交 场景二:表 ...

  10. MySQL 8.0支持DDL原子化

    在MySQL 5.5/5.6/5.7版本中,DDL操作是非原子型操作,在执行过程中遇到实例故障重启,可能导致DDL没有完成也没有回滚.如 1.执行DROP TABLE T1,T2操作,实例重启恢复后, ...