Linux下su与su -命令的本质区别
2015-07-13 00:00
417 查看
摘要: Linux下su与su -命令的本质区别
人以前一直习惯直接使用root,很少使用su,前几天才发现su与su -命令是有着本质区别的!
大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户。Linux中切换用户的命令是su或su -。前天我在使用useradd这个命令时,才体会到这两者的本质区别。如图:
我首先是用su命令切换到root身份的,但是运行useradd时,出现错误:bash: useradd: command not found。google了一下,原因是在这个用su命令切换过来的root用户上。
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。如图:
Linux就是这样,有时候配置文件多了或者少了一个空格,服务就运行不了。细节问题一定要注意,这样才能少走弯路! http://www.ha97.com/4001.html
人以前一直习惯直接使用root,很少使用su,前几天才发现su与su -命令是有着本质区别的!
大部分Linux发行版的默认账户是普通用户,而更改系统文件或者执行某些命令,需要root身份才能进行,这就需要从当前用户切换到root用户。Linux中切换用户的命令是su或su -。前天我在使用useradd这个命令时,才体会到这两者的本质区别。如图:
我首先是用su命令切换到root身份的,但是运行useradd时,出现错误:bash: useradd: command not found。google了一下,原因是在这个用su命令切换过来的root用户上。
su命令和su -命令最大的本质区别就是:前者只是切换了root身份,但Shell环境仍然是普通用户的Shell;而后者连用户和Shell环境一起切换成root身份了。只有切换了Shell环境才不会出现PATH环境变量错误。su切换成root用户以后,pwd一下,发现工作目录仍然是普通用户的工作目录;而用su -命令切换以后,工作目录变成root的工作目录了。用echo $PATH命令看一下su和su -以后的环境变量有何不同。以此类推,要从当前用户切换到其它用户也一样,应该使用su -命令。如图:
Linux就是这样,有时候配置文件多了或者少了一个空格,服务就运行不了。细节问题一定要注意,这样才能少走弯路! http://www.ha97.com/4001.html
相关文章推荐
- linux cut用法
- linux中IPC管道实现进程间传输数据
- linux回到上次目录和历史命令查找快捷方式
- 本地PC安装Centos 6.5 操作手册及遇到的问题
- Linux下使用gcc编译程序找不到库的分析和解决方法
- linux下查看所有用户及所有用户组
- Linux软防火墙ACL匹配的优化点
- Linux软防火墙ACL匹配的优化点
- Linux下/proc目录简介
- linux的组
- 初步认识Unix/Linux系统编程
- kali linux 安装Pidgin QQ
- linux下完全删除mysql
- Linux 4.0+内核对硬件交换模块的支持(HW Switch Offload)
- linux程序设计——把管道用作标准输入和输出(第十三章)
- linux下mysql安装和安装遇到的问题
- Linux内核RCU(Read Copy Update)锁简析-前传
- Linux内核RCU(Read Copy Update)锁简析-前传
- Linux下的硬链接和软链接
- linux内核时钟机制及延时