首页 > 系统相关 >【技巧】Ubuntu临时授予用户sudo权限,并在一定时间后自动撤销

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

时间:2023-10-05 19:32:41浏览次数:32  
标签:00 sudoers sudo 用户 etc Ubuntu 权限

目录

背景说明

开始操作

at指令


背景说明

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

开始操作

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

        例如,要为用户名为 username

echo "username ALL=(ALL:ALL) ALL" | sudo tee -a /etc/sudoers.d/temporary_sudo


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

test用户原本没有sudo权限

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

将test用户添加到temporary_sudo中

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

再次执行就发现可以使用sudo权限了

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

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

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

        接着,设置一个任务来在 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 访问权限。


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

测试1分钟后撤回sudo权限

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

到点后发现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任务

标签:00,sudoers,sudo,用户,etc,Ubuntu,权限
From: https://blog.51cto.com/xfxuezhang/7716980

相关文章

  • ubuntu vscode编译vscodium
    gitclonehttps://github.com/VSCodium/vscodium.git修改点:1.get_repo.sh从build.env判断MS_COMMIT是否变更,未变更不拉取vscode源码2.build/build.sh添加SKIP_PATCH="no",在上一步后,其实patch应用完成了,所以不下载vscode的时候,再次path就会不成功,从而编译exit1prepare_vscod......
  • 2023-10-05 "code":"40006",msg"."Insufficient Permissions", ISV权限不
    1.登录支付宝开放平台https://open.alipay.com/2.找到控制台==》产品绑定,如下图: 我这里虽然已经绑定了,但是还没签约,意思就是还没开通app支付;3.点击去开通。 ......
  • Ubuntu 20.04 搭建 Timemachine
    创建一个目录,作为TimeMachine保存数据的目录。$sudomkdir/usr/local/timemachine$sudochownnobody:nogroup/usr/local/timemachine$sudochmod777/usr/local/timemachine安装netatalk服务和avahi-daemon服务。$sudoaptinstallnetatalkavahi-daemon编辑net......
  • 2023年全国职业院校技能大赛(高职组)windows维护&Ubuntu维护
    Windows系统维护在物联网系统中通常会发生一些安全问题,作为物联网工程师需对系统进行安全维护和性能优化配置。任务要求:Ø 帐户登录安全设置,此安全设置确定 OS 是否在此计算机每次验证帐户凭据时进行审核。要求开启成功、失败选项的编辑界面截屏,另存为 A-14-1.jpg。答:......
  • Ubuntu 安装谷歌浏览器报错解决:Errors were encountered while processing
    Ubuntu安装谷歌浏览器报错解决parallels@ubuntu-linux-22-04-02-desktop:~/snap/firefox/common/Downloads$sudodpkg-igoogle-chrome-stable_current_amd64.deb[sudo]passwordforparallels:dpkg:errorprocessingarchivegoogle-chrome-stable_current_amd64.deb(......
  • linux 中设置用户间针对单一目录的权限
     001、创建两个测试用户[root@pc1home]#ls[root@pc1home]#useradduser01##创建两个测试用户[root@pc1home]#useradduser02[root@pc1home]#echotmppasswd|passwd--stdinuser01Changingpasswordforuseruser01.passwd:allauthentication......
  • 超级实用!React-Router v6实现页面级按钮权限
    大家好,我是王天~今天咱们用reac+reactRouter来实现页面级的按钮权限功能。这篇文章分三部分,实现思路、代码实现、踩坑记录。嫌啰嗦的朋友,直接拖到第二章节看代码哦。前言通常情况下,咱们为用户添加权限时,除了页面权限,还会细化到按钮级别,比如、新增、删除、查看等权限。如下效......
  • stata 18 显示r603 不能安装外部命令 主要是设置文件夹的读写权限
    1.stata18安装位置的ado文件夹中新建plus personal ......
  • ubuntu20.04 将 max locked memory从默认的65536改为无限制
    RDMA开发中,需要注册MemoryRigon,需要比较大的内存区域,如果不把Ubuntu20.04系统默认的maxlockedmemory从默认的65536改为unlimited,将会报出这个错误:Couldn'tallocateMR解决办法如下(感谢chatGPT老师哈哈)Tosetthemaximumlockedmemoryfrom65536tounlimitedonUbunt......
  • 权限提升-Windows内核提权
    权限提升-Windows内核提权目录权限提升-Windows内核提权本节知识点系统内核溢出漏洞提权概述内核溢出提权步骤补丁对比法1.手动查找系统补丁2.对比查找系统潜在漏洞项目一:WindowsExploitSuggester项目二.WindowsVulnScan项目三wesng3.提权大集合项目地址:https://github.com/l......