欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

sudo控制权限简单用法介绍

程序员文章站 2023-10-17 08:23:41
为了安全及管理的方便,可将需要用root权限的用户加入到sudo管理,用root的权限来管理系统。利用sudo控制用户对系统命令的使用权限。 普通用户可以查看,但不能删除: 但是在/tmp公共环境下可以搞事情: 下面我们授予bqh1用户root权限。 执行如下visudo 或者 vi /etc/su ......

  为了安全及管理的方便,可将需要用root权限的用户加入到sudo管理,用root的权限来管理系统。利用sudo控制用户对系统命令的使用权限。

sudo控制权限简单用法介绍

sudo控制权限简单用法介绍

普通用户可以查看,但不能删除:

sudo控制权限简单用法介绍

但是在/tmp公共环境下可以搞事情:

 sudo控制权限简单用法介绍

下面我们授予bqh1用户root权限。

执行如下visudo 或者 vi /etc/sudoers命令,即可打开sudo的配置文件进行编辑:

可以vi编辑器的功能:输入98jj

sudo控制权限简单用法介绍

现在我们用普通用户创建一个用户:

sudo控制权限简单用法介绍

sudo控制权限简单用法介绍

如果不加sudo的话,相当于调兵没带虎符。

如何只授权于某些命令呢?例如:(touch、useradd、mkdir、rm)

sudo控制权限简单用法介绍

注意:授权的命令得写全路径,全路径不知道的情况下可以用which查。

sudo控制权限简单用法介绍

sudo控制权限简单用法介绍

执行命令每次都让输入密码,如何屏蔽:

sudo控制权限简单用法介绍

看效果,并没有提示输入密码:

sudo控制权限简单用法介绍

案例:

定义一个管理员,别名admins,在server机器可以切换的角色有qhjs,能够拥有adm和user命令权限,不希望输入密码;再定义一个初级管理员,拥有user权限,不需要密码,具体配置如下:

执行如下visudo 或者 vi /etc/sudoers命令,即可打开sudo的配置文件进行编辑:

可以vi编辑器的功能:输入98jj查看当前配置情况。

###################sudo 格式 ###################

#root                  all=(all)               all

#user_alias       host_alias = runas_alias      cmnd_alias

##################by sudo text#####################

定义用户或用户组别名:

user_alias     admins = bqh, %home      

user_alias     chujiadmin=jyw

定义主机别名:

host_alias     servers = bqh-01, abchost

定义命令别名:

cmnd_alias  user = /usr/sbin/useradd

cmnd_alias  adm = /bin/rm

定义切换角色别名:

runas_alias    qhjs = root

runas_alias    qhjs1 = bqh

###################################################

定义用户规则:

admins      servers = (qhjs) nopasswd:adm, user

chujiadmin  servers = (qhjs)  nopasswd:user

sudo控制权限简单用法介绍

我们切换到bqh用户下查看拥有哪些权限:

sudo控制权限简单用法介绍

我们切换到jyw用户下查看拥有哪些权限:

sudo控制权限简单用法介绍

我们添加新用户并加入到/home组下,再查看权限有哪些:

sudo控制权限简单用法介绍

sudo控制权限简单用法介绍

什么情况下使用上述别名:

大部分用all,工作中一般有多个系统用户,需要分类,分层次管理用户的时候才用定义。

 

sudo配置文件小结:

授权格则中的所有all字符串必须大写字母。

一行命令内容超长,可以用“\”斜线换行。

“!”叹号表示非,就是命令取反的一审,即禁止执行的命令。

命令的顺序是从后向前,即把禁止的命令写到后面,如:/usr/sbin/*,!/usr/sbin/visudo