目录
注:
1、以下测试在ubuntu 9.10上进行,其他平台未测试。
2、本文只是我个人的理解,不一定完全正确
3、版权所有,转载请注明作者和出处
一、区别
1、su和su-都能切换到root用户,只要知道了root密码,这样系统就很不安全了,但是没有root密码的话普通用户又不能干一些需要root权限才能干的活。所以呢就发明了sudo这个命令
2、sudo:使用sudo执行一个只有root用户才能执行的命令,但是需要密码,这里的密码不是root的密码,而是用户自己的密码。这里用户只是临时获得了root的权限,几分钟后,root权限自动消失,这样就解决了安全性问题。
二、su,su- 命令介绍
注:su username,这个用户必须要有密码才能切换过去,否则切换不成功
su | Substitute user identity |
1、su-,su -l,su --login三个命令的含义相同,后面只用su-
2、su命令:改变用户身份或切换到root
三、sudo 命令介绍
注:linux一般默认的账户是普通账户,普通用户是无法执行sudo命令的,默认情况下只有root用户才能执行sudo命令,普通用户要想执行sudo,需要root预先设定:通过编辑/etc/sudoers来实现。
sudo | Execute a command as another user |
1、sudo 可以理解为supper do,即使用超级用户来执行
2、 man sudo 结果如下
3、 通过sudo -l命令查看当前用户对sudo命令的使用权限
四、用法介绍
1、sudo xxx,在命令的最前面加上sudo即可
2、su,su-
1)su:不加用户名,默认切换到root账户,当前目录和环境变量不改变,USER,HOME,LOGNAME等变量改变
2)su username:切换为其他用户,当前目录和环境变量不改变,USER,HOME,LOGNAME等变量改变
3)su - :切换为root用户,同时变更工作目录和环境变量,以及USER,HOME,LOGNAME等变量
4)su - username:切换到其他用户,同时变更工作目录和环境变量,以及USER,HOME,LOGNAME等变量
O(∩_∩)O哈哈~,今天终于搞明白这3个命令了,,洗洗睡吧。
2020-02-21 23:20@北京