su 与sudo区别

 su - <user>,su <user>
sudo su -<user>,sudo su <user>
1)先看一下带-和不带-的区别
 带-:切换用户的同时,进入到该用户的的home目录
 不带-:仅仅是切换用户,目录不变,还是当前用户所在目录

除此之外还有一个重要的区别就是

带-:以Login shell的模式登陆

不带-:以非login shell的模式登陆


[root@localhost ~]# grep loginbash ~/.bash_profile
loginbash="loginbash"
export loginbash
[root@localhost ~]# grep non_loginbash ~/.bashrc
non_loginbash="non_loginbash"
export non_loginbash
[root@localhost ~]# exit
ログアウト
[sabopeusr0-admin@localhost ~]$ sudo su
[root@localhost sabopeusr0]# echo $loginbash

[root@localhost sabopeusr0]# echo $non_loginbash
non_loginbash
[root@localhost sabopeusr0]#

 [sabopeusr0-admin@localhost ~]$ sudo su -
最終ログイン: 2017/07/28 (金) 14:31:50 JST日時 pts/2
[root@localhost ~]# echo $loginbash
loginbash
[root@localhost ~]# echo $non_loginbash
non_loginbash
[root@localhost ~]#

 
2) su=su root,su - = su - root,su=su root
 sudo su=sudo su root,sudo su - = sudo su - root
3)su <user>和sudo su <user>的区别
su <user>:将当前用户,切换成<user>,输入的密码是<user>的密码
sudo su <user>:以root的身份将当前用户切换成<user>,输入的是当前用户的密码

猜你喜欢

转载自baiyunliu.iteye.com/blog/2386896