su和sudo的基本用法

su(相当于自己身份切换为皇帝)

su 后面的格式一定是

su - 用户名,左右都有空格,否则环境变量切换不过去

su - 用户名 -c 命令  ,仅仅用用户名身份执行某一个命令之后又自动切换回来

-c一般用于开机以某个用户身份启动服务

 

sudo(皇帝给了你令牌,你还是你自己)

 

例如非root用户luoqi无法用useradd命令创建用户,当然用suid也可以实现在luoqi用户下创建用户,suid权限太广,相当于每个大臣都给了令牌。

利用sudo命令,可以实现仅仅针对某一个用户执行某一个命令的时候,获取root权限。

 

在luoqi01下尝试useradd

 

[luoqi01@localhost ~]$ useradd luoqi
-bash: /usr/sbin/useradd: 权限不够

 

此时在root用户下visudo,visudo约等于vim /etc/sudoers ,但是visudo自带语法检测功能

添加此行,ALL代表在哪个主机上,(ALL)代表可以切换什么角色,最后是授权的命令

   说明: 

        第一个字段:root为能使用sudo命令的用户; 
        第二个字段:第一个ALL为允许使用sudo的主机,第二个括号里的ALL为使用sudo后以什么身份(目的用户身份)来执行命令; 
        第三个字:ALL为以sudo命令允许执行的命令; 
上列解释: test   ALL=(root) /usr/sbin/useradd 
表示允许luoqi01用户从任何主机登录,以root的身份执行/usr/sbin/useradd命

 如果:  那么此用户再次su切换到root不需要密码

以上操作完成之后 visudo -c 检查语法

此时切换到授权sudo用户上 sudo -l 查询一下此用户被授权的命令

在用户上执行被授权命令格式 sudo 命令   前面一定加sudo才可以正确执行被授权的命令

5分钟之内需要此用户密码才能执行sudo ,输入密码5分钟之内不再需要密码。  时间戳路径 /var/sudo/luoqi01

注意!

如果授权sed,那么普通用户可以用sed -i ‘99a luoqi01  ALL=(ALL)  NOPASSWD:ALL’ 直接修改/etc/sudoers 内容,很危险!这条命令代表可以不用密码切换到root用户。

 

下面是sudo的几个参数

 

-k 的效果是,下次执行sudo命令必须再次输入此用户密码。防止你处理完别人在5分钟之内搞破坏。

 

转载于:https://www.cnblogs.com/luoqi302331/p/10380768.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值