码迷,mamicode.com
首页 > 系统相关 > 详细

linux系统命令学习系列-用户切换命令su,sudo

时间:2018-04-05 20:56:28      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:alt   编辑   sudoer   文件中   visudo   sudo   配置   exit   参数   

先复习一下上节内容:

  1. 用户组添加groupadd
  2. 用户组修改groupmod
  3. 用户组删除groupdel
  4. 作业创建一个id为501的组group1,然后改成group2, 同时id变为502,最后删除这个组,命令分别如下:

groupadd –g 501 group1

groupmod –g 502 –n group2 group1

groupdel group2

 

这一节,我们来说一下用户切换相关命令

为什么要进行用户切换?

在操作过程中需要使用特定的用户进行特定的操作,多数情况下是因为权限,比如要修改一个文件,只有root用户有权限修改,那么就要切换到root用户下进行操作。切换用户一般有两个命令:

 

1. su命令

 

su命令不加参数,默认切到root用户,需要输入root用户密码进行验证,

 技术分享图片

技术分享图片

exit命令可退出root用户。

su命令可以加一个“-”再加上用户名,此时,不但身份变化了,同时也拥有了此用户的“用户环境”,比如用户家目录以及此用户的其它个性化设置。

 技术分享图片

 

普通用户切换其它用户需要知道其它用户的密码,root用户使用su命令切换其它用户,不需要知道用户密码

 技术分享图片

 

2. sudo命令

 

sudo的用法是,在sudo后面加上要执行的命令,表示用root身份执行此命令,比如

sudo useradd user1,表示用root身份执行添加用户的操作。

此命令在系统中的动作流程是

  1. 检查当前用户是否有sudo的权限,通过检查/etc/sudoers文件

比如我们用user1执行sudo useradd命令,会报错

 技术分享图片

  

  2. 在用户输入自己的密码后,验证用户密码

  3. 密码正确后,如果当前用户有权限用sudo执行对就的命令,系统就会以root用户身份执行相关命令

基于以上流程,我们需要先给用户sudo的权限,此权限存储在/etc/sudoers这个文件中,可以用vi或vim进行编辑(这两个命令以面会讲到),或是用sudoers文件的专用命令visudo,这里我们用visudo进行编辑,可以看到root用户的sudo权限:

 技术分享图片

 

这一行表示的意思是,root用户(第一列),从任何地方登录(第二列的ALL),可以执行任何人(第三列的ALL)的任何命令(第四列的ALL),根据这个定义,我们把user1的权限也加上

 技术分享图片

 

保存后退出,再次在user1中执行sudo useradd命令,此时要求输入user1的密码,证明权限生效了

 技术分享图片

 

还可以通过 %组名称 的方式给用户组分配权限,比如

%users ALL=(ALL) ALL

表示所有users组中的用户都可以执行sudo命令。

如何不想每次都输入密码,可以使用NOPASSWD进行配置,如下:

 技术分享图片

 

再次执行sudo useradd命令

 技术分享图片

 

已不再要求输入密码。

再进一步,可以设置用户有权限执行哪些命令,比如我们让user1只能执行shutdown命令,可以做如下配置

 技术分享图片

 

保存退出后,在user1中再次执行sudo useradd命令

 技术分享图片

 

已没有执行权限

 

更多文章关注微信公众号“挨踢学霸”

技术分享图片

 

linux系统命令学习系列-用户切换命令su,sudo

标签:alt   编辑   sudoer   文件中   visudo   sudo   配置   exit   参数   

原文地址:https://www.cnblogs.com/itxb/p/8724133.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!