Linux su和sudo 区别 以及如何实现sudo su 切换root权限

su命令

su表示切换用户,如: 输入:su命令后回车表示切换当前的用户到root用户,或者: 输入:su - root(或者其他用户名)这里加了"-"后表示也切换的当前的环境变量到新用户的环境变量。

        一般我们切换身份都是切换到root,然后进行一些仅仅有root能干的事,比方改动配置文件。比方下载安装软件。这些都仅仅能是root才有权限干的事。切换到root能够是单纯的su,或者是su -和su - root,后面两个是一样的意思。

su root  输入root密码后切换之root用户但是pwd目录不变

su - root  输入root密码后切换之root用户但是pwd目录/root

sudo命令

sudo 表示获取临时的root权限命令,如: sudo gedit /etc/shadow,表示临时使用root权限来编辑/etc/shadow密码文件,因为/etc/shadow密码文件需要使用root权限才能打开与编辑。所以这里使用了sudo命令临时使用root权限来做一些普通账户无法完成的工作。

相比于su切换身份须要用户的password,常常性的是须要root password,sudo仅仅是须要自己的password,就能够以其它用户的身份来运行命令。常常是以root的身份运行命令。也并不是全部人都能够用sudo:

sudo的运行有这样一个流程:

        1).当用户运行sudo时,系统于/etc/sudoers文件里查找该用户是否有运行sudo的权限;

        2).若用户具有可运行sudo的权限。那么让用户输入用户自己的password,注意这里输入的是用户自己的password。

        3).假设password正确。便开始进行sudo后面的命令,root运行sudo是不须要输入password的,切换到的身份与运行者身份同样的时候。也不须要输入password。

下看看/etc/sudoers这个配置文件:

ROOT          ALL=(ALL)                  ALL

用户账号      登陆者来源主机名  =(能够切换的身份)         可运行的命令

sudo搭配su

sudo这个命令就是给后面的命令加上root权限(sudo=superuser do),su这个命令是switch user,切换用户,你sudo su这个命令的意思是用root的权限来切换到()用户。你根本没有指定用户,当然切换不过去

你要切换到root,那就是su root,然后输入root的密码,你要让自己成为有执行sudo权限的人,那就要修改sudoer-list,在命令行里敲

sudo visudo 

然后在打开的文件里把你的用户名加上去(按照里面已有的用户的格式来填:username ALL=(ALL)ALL)

添加一行数据,就成功啦:

注:首先你得在root 权限添加自已的,否则免谈。

假设我们要想像su那样直接切换到root。然后干自己想干的。这个时候,就要将命令改动成/bin/su -。例如以下:

获得root权限:

  • sudo su(实质上就是su,而su默认是获得root权限)
  • su
  • su root
  • su -root
  • sudo -i

总结

        了解完su和sudo,是不是发现sudo有太多的优点了。su方式切换是须要输入目标用户的password。而sudo仅仅须要输入自己的password,所以sudo能够保护目标用户的password不外流的。当帮root管理系统的时候,su是直接将root全部权利交给用户。而sudo能够更好分工,仅仅要配置好/etc/sudoers,这样sudo能够保护系统更安全,并且分工明白,有条不紊。

参考

linux权限之su和sudo的差别

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值