如何在Linux中控制sudo命令的使用范围?

通过配置/etc/sudoers文件并使用visudo命令,可实现对sudo权限的精细化管理:为用户指定可执行命令(如alice仅能重启nginx)、按组分配权限(如ops组运行特定脚本)、禁止危险命令(如禁止bob使用su)、启用日志审计(记录操作行为),遵循最小权限原则,保障系统安全。

如何在linux中控制sudo命令的使用范围?

在Linux中控制sudo命令的使用范围,核心是通过配置/etc/sudoers文件来实现精细化权限管理。直接编辑该文件不安全,应使用visudo命令,它会在保存时检查语法错误,避免系统权限配置失效。

限制用户可执行的命令

可以通过为特定用户指定允许运行的命令,防止其获得完整的root权限。

例如,在/etc/sudoers中添加:

alice ALL=(ALL) /bin/systemctl restart nginx, /bin/journalctl -u nginx

这表示用户alice只能重启nginx服务和查看其日志,不能执行其他需要sudo的命令。

按组分配sudo权限

将用户加入特定组,并为该组设置sudo规则,便于批量管理。

常见做法是允许sudo组成员执行任意命令:

%sudo ALL=(ALL:ALL) ALL

若要限制该组只能运行特定维护脚本:

%ops ALL=(root) NOPASSWD: /usr/local/bin/backup.sh, /usr/local/bin/cleanup.sh

这样ops组成员无需密码即可运行指定脚本。

禁止运行危险命令

可以显式禁止某些命令,防止滥用。

例如,阻止某个用户使用su或修改用户账户:

bob ALL=(ALL) ALL, !/usr/bin/su, !/usr/sbin/useradd, !/usr/sbin/usermod

感叹号表示排除,即使在通配符规则后也能生效。

启用日志审计与命令记录

确保sudo操作被记录,有助于追踪和审查。

确认/etc/sudoers中启用了日志:

Defaults logfile=”/var/log/sudo.log”

还可记录用户实际执行的命令:

Defaults log_input, log_output

这些日志能帮助管理员分析谁在何时执行了什么操作。

基本上就这些。合理配置sudoers规则,既能满足日常运维需求,又能有效降低权限滥用风险。关键是遵循最小权限原则,只给必要的命令权限。

以上就是如何在Linux中控制sudo命令的使用范围?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/4677.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Linux中怎么添加/删除FTP用户并设置权限
上一篇 2026年10月7日 10:32:50
Python绘制图表的实用工具和辅助库介绍
下一篇 2025年12月13日 06:10:59

相关推荐

  • Linux中怎么添加/删除FTP用户并设置权限

    1.环境:ftp为vsftp。被设置用户名为test。被限制路径为/home/test2.创建建用户:在root用户下: useradd -d /home/test test  #增加用户test,并制定test用户的主目录为/home/test passwd test #为test用户设置密码 人…

    2026年10月7日
    400
  • Linux下如何安装PHP的memcache扩展

    Step 1: 安装依赖项 在安装memcache扩展之前,我们需要安装一些系统依赖项。打开终端并输入以下命令: sudo apt-get updatesudo apt-get install build-essential libtool autoconf automake 这将安装编译器和所需的…

    2026年10月7日
    000
  • 在Java中生成全范围正数双精度浮点数的均匀分布

    本文探讨了在Java中生成全范围正数双精度浮点数时,ThreadLocalRandom.current().nextDouble()方法可能导致的分布不均问题。该方法倾向于在数值线性的高端产生更多值。为实现所有可表示正数双精度浮点数的真正均匀分布,教程将介绍一种基于随机长整型位并转换为双精度浮点数的…

    2026年10月7日
    100
  • 为什么Windows无法打开DNG文件?使用图像处理软件的正确方法

    为什么Windows无法打开DNG文件?使用图像处理软件的正确方法为什么Windows无法打开DNG文件?使用图像处理软件的正确方法为什么Windows无法打开DNG文件?使用图像处理软件的正确方法为什么Windows无法打开DNG文件?使用图像处理软件的正确方法

    DNG是Adobe推出的开放原始图像格式,用于解决私有RAW格式不兼容问题,需用Lightroom、Darktable等专业软件打开处理,其保留完整图像数据,支持无损编辑,与JPG相比后期空间大,与私有RAW相比更利于长期归档。 Windows系统本身无法直接打开DNG文件,这并不是因为文件损坏,而…

    2026年10月7日 • 用户投稿
    400
  • Linux如何修改IP、网关和DNS

    网卡eth0    ip修改为 102.168.0.1   复制代码 代码如下: ifconfig eth0 102.168.0.1 netmask 255.255.255.0 网关修改为 102.168.0.254 复制代码 代码如下: route add default gw 102.168.0…

    2026年10月7日
    500
  • OPPOFindX应用卸载不了怎么办?快速清理系统应用的完整教程

    无法卸载OPPO Find X应用时,先尝试常规卸载;若失败,依次清除数据、结束进程;仍无效则进入安全模式卸载;最后可用ADB命令强制移除系统应用。 如果您尝试卸载OPPO Find X上的某个应用,但发现无法通过常规方式移除,可能是由于该应用为系统预置或存在运行进程阻碍操作。以下是解决此问题的步骤…

    2026年10月7日
    000
  • linux如何使用yum安装php-fpm

    什么是PHP-FPM? PHP-FPM全称为PHP FastCGI进程管理器,是一种将PHP脚本作为FastCGI进程运行的程序。使用PHP-FPM的好处是运行速度更快,而且更加安全可靠。作为FastCGI进程,它可以随时被重启,从而避免了对系统的影响。 PHP-FPM已经被纳入 PHP 5.3.3…

    2026年10月7日
    300
  • linux bashrc怎么使用

    在linux中,bashrc是home目录下的一个shell文件,用于储存用户的个性化设置。在bash每次启动时都会加载bashrc文件中的内容,并根据内容定制当前bash的配置和环境。bashrc的作用:1、可以在利用命名函数alias定制需要的指令;2、设定环境路径;3、提示符设置。 一、.ba…

    2026年10月7日
    000
  • Linux安装软件的方法是什么

    1  rpm  -ivh 包名.rpm              rpm -ivh your-package   安装              rpm -e tree 卸载              rpm -ql tree  查询 2  yum安装自动解决rpm安装的依赖问题,安装更简单化   …

    用户投稿 2026年10月7日
    000
  • go如何执行linux命令

    首先建立一个exec.Cmd类型的值,然后执行这个类型的Start方法就可以启动命令了,获取此命令的输出管道,这个管道类型是io.ReadCloser,通过管道获取输出内容。 package mainimport ( “bytes” “fmt” “io” “os/exec”)func main() …

    用户投稿 2026年10月7日
    100
  • Linux中如何用yum安装并搭建PHP环境

    1、首先,确保系统已安装yum包管理器。如果您的系统未安装yum,请执行以下命令: sudo apt-get install yum 2、接下来,需要添加一个yum的软件源,以便从中获取PHP包。在终端执行以下命令: sudo rpm -Uvh https://dl.fedoraproject.or…

    2026年10月7日
    100
  • Spring Boot 应用从 GCP Bucket 下载文件教程

    Spring Boot 应用从 GCP Bucket 下载文件教程Spring Boot 应用从 GCP Bucket 下载文件教程Spring Boot 应用从 GCP Bucket 下载文件教程Spring Boot 应用从 GCP Bucket 下载文件教程

    本文档旨在指导开发者如何在 Spring Boot 应用中集成 Google Cloud Storage (GCS),并提供一个 API 来下载 GCS Bucket 中的文件。内容涵盖必要的环境配置,包括创建服务账号、设置环境变量,以及编写下载文件的代码。通过本文,你将能够安全高效地实现 Spri…

    2026年10月7日 • 用户投稿
    300
  • linux中free命令怎么使用

    linux中free命令怎么使用linux中free命令怎么使用linux中free命令怎么使用linux中free命令怎么使用

    在linux中,free是查看内存使用状态的内置命令,可以显示包括系统物理内存、虚拟内存(swap交换分区)、共享内存和系统缓存的使用情况,语法“free [选项]”;free命令的输出和top命令的内存部分非常相似。 Linux free命令:查看内存使用状态 free 命令用来显示系统内存状态,…

    2026年10月7日 • 用户投稿
    100
  • Linux如何使用Crontab定时监测维护Tomcat应用程序

    监测的应用接口: 新闻接口、天气接口处理方法:应用接口不可用时自动重启tomcat,并发送告警邮件给相关人员 #!/bin/bash#———————————————————# 功能说明:#监控指定http服务是否可用,如果不…

    2026年10月7日
    000
  • composer怎么清除单个包的缓存_Composer清除单个包缓存方法

    composer怎么清除单个包的缓存_Composer清除单个包缓存方法composer怎么清除单个包的缓存_Composer清除单个包缓存方法composer怎么清除单个包的缓存_Composer清除单个包缓存方法composer怎么清除单个包的缓存_Composer清除单个包缓存方法

    Composer未提供清除单个包缓存的命令,但可通过手动删除缓存文件实现。首先运行composer config cache-dir查看缓存路径,进入该目录下的files/子目录,找到对应包名(如monolog/monolog)并删除整个文件夹,下次安装时将重新下载,确认缓存已清除。 Compose…

    2026年10月7日 • 用户投稿
    100
  • Linux怎么在两个服务器直接传文件

    Linux怎么在两个服务器直接传文件Linux怎么在两个服务器直接传文件Linux怎么在两个服务器直接传文件Linux怎么在两个服务器直接传文件

    scp是secure copy的简写, 是 linux 系统下基于 ssh 登陆进行安全的远程文件拷贝命令。scp 是加密的,rcp 是不加密的,scp 是 rcp 的加强版。 因为scp传输是加密的,可能会稍微影响一下速度。另外,scp还非常不占资源,不会提高多少系统负荷,在这一点上,rsync就…

    2026年10月7日 • 用户投稿
    000
  • Linux如何切换到root用户(linux禁止用户切换root)

    Linux如何切换到root用户(linux禁止用户切换root)Linux如何切换到root用户(linux禁止用户切换root)Linux如何切换到root用户(linux禁止用户切换root)Linux如何切换到root用户(linux禁止用户切换root)

    大家好,很高兴再次和大家见面,我是你们的朋友全栈君。 首先,我们通过输入pwd命令来查看当前用户目录: 当前用户是xg。在这里我解释一下[xg@localhost ~] 的含义:其中xg指的是当前用户,localhost指的是主机名,~表示当前目录,后面的符号表示普通用户。 2. 接下来,我们分别输…

    2026年10月7日 • 用户投稿
    000
  • Linux系统中Tomcat环境怎么配置

    Linux系统中Tomcat环境怎么配置Linux系统中Tomcat环境怎么配置Linux系统中Tomcat环境怎么配置Linux系统中Tomcat环境怎么配置

    如下操作步骤为linux系统中部署jtomcat环境 前提准备:成功安装jdk环境(jdk安装步骤) 检查linux系统版本,下载对应的tomcat安装包 uname -a 查看下系统信息 1.下载tomcat 安装包 2.上传tomcat安装包并解压 3.配置环境变量 vim /etc/profi…

    2026年10月7日 • 用户投稿
    300
  • Linux中怎么修改~/.bashrc或/etc/profile设置环境变量

    Linux中怎么修改~/.bashrc或/etc/profile设置环境变量Linux中怎么修改~/.bashrc或/etc/profile设置环境变量Linux中怎么修改~/.bashrc或/etc/profile设置环境变量Linux中怎么修改~/.bashrc或/etc/profile设置环境变量

    什么是环境变量 安装vcs过程中,csdn上原创或者转载的博主动不动就会说修改.bashrc设置环境变量,有些懒一点的博主甚至直接说在这里我们需要设置环境变量balabala,当时不知道,直接在安装包所在的目录下修改的.bashrc文件,安装成功是成功了,在那个目录下的terminal终端sourc…

    2026年10月7日 • 用户投稿
    000
  • PHP实时输出如何实现图片流_PHP实时输出图片流数据

    首先设置正确的Content-Type响应头,再利用GD库生成图像或读取图片数据,通过imagepng等函数输出,并配合ob_clean、flush实时发送;若从文件或网络获取,则直接echo二进制流,确保无额外输出以避免破坏图像。 在PHP中实现实时输出图片流,关键在于正确设置HTTP响应头,并通…

    2026年10月7日
    000

发表回复

登录后才能评论
关注微信