【技巧】Ubuntu临时授予用户sudo权限,并在一定时间后自动撤销

转载请注明出处:小锋学长生活大爆炸[xfxuezhagn.cn]

目录

背景说明

开始操作

at指令


更新:

写了个自动管理的脚本,开源了,点这里跳转:

【脚本】多功能Ubuntu临时授予用户sudo权限管理工具-CSDN博客非常方便的sudo权限管理https://blog.csdn.net/sxf1061700625/article/details/137750044

背景说明

        有时候普通用户需要使用sudo来执行一些操作,作为服务器管理员,需要盯着该用户使用完后再给他撤销sudo权限。当用户多起来的时候,这项工作就很麻烦了。通过自动定时撤销sudo权限,当我们给完了sudo之后就可以不用管了,甚至还可以做一个sudo权限申请的脚步,做到自动申请自动撤销。

开始操作

        1、授予用户 sudo 权限: 添加用户到 /etc/sudoers 文件或 /etc/sudoers.d/ 目录下的文件。这可以通过 visudo 工具或直接编辑相应文件来完成。(不建议直接操作/etc/sudoers)

        例如,要为用户名为 username 的用户授予 sudo 权限,可以使用以下命令:

echo "username ALL=(ALL:ALL) ALL" | sudo tee -a /etc/sudoers.d/temporary_sudo
test用户原本没有sudo权限
将test用户添加到temporary_sudo中
再次执行就发现可以使用sudo权限了

        2、设置一个计划任务来在 1 小时后撤销权限: 使用 at 命令可以很容易地设置这样的计划任务。首先,确保 at 被安装,还需要启动 at 守护进程:

sudo apt install at -y
sudo systemctl enable --now atd

        接着,设置一个任务来在 1 小时后删除先前创建的文件(注意,普通任务不需要加sudo,但由于这里是要操作/etc目录,所以at前面需要加上sudo,不然会执行失败):

echo "sudo rm /etc/sudoers.d/temporary_sudo" | sudo at now + 1 hours

        这样,用户将立即获得 sudo 权限,然后在 1 小时后,计划任务会自动删除先前创建的文件,从而撤销该用户的 sudo 权限。

        请注意,当对 /etc/sudoers 文件或 /etc/sudoers.d/ 目录中的文件进行更改时,一定要小心,因为不正确的更改可能会导致系统不稳定或者失去 sudo 访问权限。

测试1分钟后撤回sudo权限
到点后发现test的sudo权限确实被撤销了

at指令

        at 命令的格式非常简单,基本格式如下:

at [选项] [时间]
表 1 at 命令选项及含义
选项含义
-m当 at 工作完成后,无论命令是否输出,都用 E-mail 通知执行 at 命令的用户。
-c 工作标识号显示该 at 工作的实际内容。
-t 时间在指定时间提交工作并执行,时间格式为 [[CC]YY]MMDDhhmm。
-d删除某个工作,需要提供相应的工作标识号(ID),同 atrm 命令的作用相同。
-l列出当前所有等待运行的工作,和 atq 命令具有相同的额作用。
-f 脚本文件指定所要提交的脚本文件。
表 2 at 命令时间参数可用格式
格式用法
HH:MM比如 04:00 AM。如果时间已过,则它会在第二天的同一时间执行。
Midnight(midnight)代表 12:00 AM(也就是 00:00)。
Noon(noon)代表 12:00 PM(相当于 12:00)。
Teatime(teatime)代表 4:00 PM(相当于 16:00)。
英文月名 日期 年份比如 January 15 2018 表示 2018 年 1 月 15 号,年份可有可无。
MMDDYY、MM/DD/YY、MM.DD.YY比如 011518 表示 2018 年 1 月 15 号。
now+时间以 minutes、hours、days 或 weeks 为单位,例如 now+5 days 表示命令在 5 天之后的此时此刻执行。

        at 命令只要指定正确的时间,就可以输入需要在指定时间执行的命令。这个命令可以是系统命令,也可以是 Shell 脚本。

        使用 atq 命令用于查看当前等待运行的工作,atrm 命令后者用于删除指定的工作:

atq
#9 2013-07-26 02:00 a root
#说明root用户有一个at任务在2013年7月26日02:00执行,工作号是9

atrm [工作号]
#删除指定的at任务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小锋学长生活大爆炸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值