扩展(如何让普通用户具有指定的权限)

问题:
reboot、shutdown、init、halt、user管理,在普通用户身份上都是操作不了,但是有些特殊的情况下又需要有执行权限。又不可能让root用户把自己的密码告诉普通用户,这个问题how to 解决?

答:
可以使用sudo命令(su do:切换用户操作)。
sudu可以让管理员root事先定义某些特殊命令,和谁可以执行。
默认sudo中是没有除root之外用户的规则,要想使用,需要先配置sudo

  1. sudo配置文件路径: /etc/sudoers
    在这里插入图片描述

     a.配置sudo文件,请使用命令:#visudo , 打开之后使用方式和vim一样;
     b.配置普通用户的权限
    

    在这里插入图片描述
    字段含义:
    root:表示用户名,如果是用户组,则写成:%组名,
    举例:
    在这里插入图片描述
    All:表示允许登录的主机(地址白名单)
    (All):表示以谁的身份执行,这里All表示root身份
    All:表示当前用户可以执行的命令/权限,多个命令时可以使用“,”分割

PS:
2. 在写sudo规则的时候,不建议写直接形式的命令,而是写命令的完整路径!
路径可以使用which命令查看:
语法:#which 指令名称
在这里插入图片描述
查询结果:
在这里插入图片描述
在这里插入图片描述
3. 在添加好对应的规则之后,就可以切换到普通用户(test)了。此时再去执行,报错:
在这里插入图片描述

此时要想使用刚才的规则,则需要命令:
#sudo 需要执行的指令
在这里插入图片描述
PS:在输入sudo指令后,需要输入当前用户的密码,进行确认的操作,输入之后五分钟之内,可以免密。

  1. 特别注意:此时test可以修改root用户,这是由于配置权限时权限给予过大,需要修正为:
    在这里插入图片描述

     ps:
     禁止修改root密码的配置:
     /usr/bin/passwd/ [A-Za-z]*,!/usr/bin/passwd root
    
  2. 补充:在普通用户下,怎么查看自己具有哪些权限?
    语法:#sudo -l
    在这里插入图片描述

  3. 最后:
    sudo不是任何linux分支都有的命令,常见的centos和ubuntu都存在sudo命令。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值