Linux 【sudo 命令】给某个用户提权

sudo:super user do:“超级用户才能干的事”,其功能是授权某个普通用户执行管理员命令。

使用sudo服务可以授权某个指定的用户执行某些指定的命令。通过在满足工作需求的前提下尽可能少放权,可保证服务器的安全。配置sudo服务时,可以直接编辑配置文件/etc/sudoers,亦可以执行visudo命令进行设置,一切妥当后普通用户便能够使用sudo命令进行操作了。

sudo的主要特性

  1. sudo 限制用户只在某台主机上运行某些命令。
  2. sudo 提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。
  3. sudo 使用时间戳文件日志来执行类似的“检票”系统。当用户调用sudo并且输入他的密码时,用户获得了一张存活期为5分钟的票(这个值可以在/etc/sudoers设置)
  4. sudo 的配置文件是/etc/sudoers,属性必须为0440,它允许系统管理员集中地管理用户的使用权限和使用主机。

sudo对很多人来说,是一个超级复杂的命令,其实不是因为命令有多难,而是因为命令本身还需要配置文件。

修改配置文件:

visudo

第一列

第二列

第三列

root

ALL=(ALL)

ALL

用户名

ALL:主机:允许从任何终端、机器访问 sudo;

(ALL):身份:sudo 命令被允许以谁的身份执行;

ALL:允许的命令:所有命令都可以作为 root 执行

在101行处添加:

tom ALL=(ALL) NOPASSWD: ALL

放开其他权限:

root ALL=(ALL) ALL

tom ALL=(ALL) NOPASSWD:ALL

# tom用户可以在任何主机上以任何用户和组的身份执行任何命令,而不需要输入密码

jake ALL=(ALL) /usr/bin/mkdir, /usr/bin/rm, /usr/bin/touch

# jake用户可以在任何主机上以任何用户和组的身份执行mkdir、rm、touch命令,需要输入密码

alan ALL=(ALL) NOPASSWD:/usr/bin/mkdir, /usr/bin/rm, /usr/bin/touch

# alan用户可以在任何主机上以任何用户和组的身份执行mkdir、rm、touch命令,而不需要输入密码

语法

sudo 参数 命令

参数:

-A :使用图形化界面读取用户密码值

-p :设置需要密码验证时的提示语

-b :将要执行的命令放在后台执行

-r :设置新的SELinux映射角色

-E :保留用户原本的环境变量信息

-s :设置默认调用的Shell终端

-t :设置新的SELinux安全上下文类型

-H :将用户的家目录环境变量设置为/root

-u :设置使用哪位用户的身份执行

-i :模拟用户的初始登录过程

-l :列出;列出用户权限或检查某个特定命令

-v :设置需要验证当前用户的密码

-k :下次强制验证当前用户的密码

-v :更新用户的缓存信息,让密码有效期延长5分钟

-K :删除用户的缓存信息,让密码有效期立即结束

示例:

1.查看当前用户有哪些被sudo服务授权的命令

sudo -l

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值