10 - Debian如何让特定用户切换root身份

news2024/11/17 14:52:39

作者:网络傅老师

特别提示:未经作者允许,不得转载任何内容。违者必究!

Debian如何让特定用户切换root身份

《傅老师Debian小知识库系列之10》——原创


==前言==

傅老师Debian小知识库特点:

1、最小化拆解Debian实用技能;

2、所有操作在VM虚拟机实测完成;

3、致力于最终形成Debian小知识手册;

(文章尾部有傅老师的二维码,欢迎沟通交流:)

适合人群:

1、想通俗易懂地学习相关知识的同学;

2、正在学习Debian的同学;

阅读建议:

无。过于精炼易懂,正常看就行。

所用版本:Debian 12.4


一、概念

    同学们都知道,普通用户需要使用root权限来执行某些操作时,可以通过 su 命令切换到root身份。这样,用户就可以执行需要超级用户权限的命令,完成一些重要的系统管理工作。

    但是,不能让所有用户都能切换root,天下大乱了,因此只能指定的用户才能切换root。

二、前置知识

    在/etc/pam.d/su文件中有一个PAM认证模块pam_wheel.so,它定义哪些用户能够使用su命令切换到root用户。同时,指定的用户要加入wheel组。

三、方法

    默认情况下,普通用户只要知道root密码就可以切换,如图9.1所示,用户zhangsan成功切换root。

图9.1 默认普通用户有root密码即可切换身份

    我们现在希望只有指定的用户lisi可以切换,而不允许zhangsan切换。

    操作如下:

1、编辑/etc/pam.d/su文件

root@debian:~# nano /etc/pam.d/su

    文件中加入以下内容:

auth       required   pam_wheel.so use_uid

    上面的pam_wheel.so就是认证模块。它定义哪些用户能用su命令切换到root。

    use_uid选项使用用户的UID来检查用户是否属于wheel组。

2、将指定用户lisi加入wheel组

root@debian:~# groupadd wheel
root@debian:~# gpasswd -a lisi wheel

验证

    启用pam_wheel.so认证模块后,zhangsan无法切换root,而lisi可以。如图9.2所示:

图9.2 指定用户使用su命令切换root

    同学们快打开虚拟机练习一下吧:)

    PS:这样一来,安全性提升了一些。但是这个用户lisi一下子就具备了root所有的超能力,权力有点太大了。能否限制一下lisi的操作呢?例如让他只可以执行添加和删除用户的操作。咱们下次讲解:)

    成都新都区初三毒试卷《杜鹃花落》震怒全网,目前仅对作者免职处理。这事会这么简单?呵呵

傅老师的微信名片

欢迎沟通交流:)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1550470.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LNMP架构之mysql数据库实战

mysql安装 到官网www.mysql.com下载源码版本 实验室使用5.7.40版本 tar xf mysql-boost-5.7.40.tar.gz #解压 cd mysql-boost-5.7.40/ yum install -y cmake gcc-c bison #安装依赖性 cmake -DCMAKE_INSTALL_PREFIX/usr/local/mysql -DMYSQL_DATADIR/data/mysql -DMYSQL_…

MySQL为什么会选错索引

在平时不知道一有没有遇到过这种情况,我明明创建了索引,但是MySQL为何不用索引呢?为何要进行全索引扫描呢? 一、对索引进行函数操作 假设现在维护了一个交易系统,其中交易记录表 tradelog 包含交易流水号(tradeid)、交…

【分布式计算框架】Hadoop伪分布式安装

🕺作者: 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux 😘欢迎 ❤️关注 👍点赞 🙌收藏 ✍️留言 文章目录 Hadoop伪分布式安装一、实验目的二、实验环境三、实验内容基本任务1:安装Linux虚拟机(至…

[Vue3] 配置 Pinia 并存储、读取、修改数据 | 集中式状态(数据)管理

安装 npm i pinia main.ts import ./assets/main.cssimport { createApp } from vue import App from ./App.vue import { createPinia } from pinia // 引入Pinia// 创建一个应用 const app createApp(App)const pina createPinia() app.use(pina) // 挂载整个应用到app容器…

『Apisix进阶篇』动态负载均衡:APISIX的实战演练与策略应用

🚀『Apisix系列文章』探索新一代微服务体系下的API管理新范式与最佳实践 【点击此跳转】 📣读完这篇文章里你能收获到 🎯 掌握APISIX中多种负载均衡策略的原理及其适用场景。📈 学习如何通过APISIX的Admin API和Dashboard进行负…

AIGC趋势下软件工程强智能编码来临了么?

一、背景 在AIGC(AI Generated Content,人工智能生成内容)的趋势下,软件工程领域的“强智能编码”是指通过深度学习、自然语言处理等前沿技术,使AI具备理解、学习、推理和生成代码的能力,从而实现自动化或…

操作系统:经典进程同步问题的高级探讨

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

ChatGPT提升工作生产力方法和技巧ChatGPT enhances work productivity methods and techniques

使用ChatGPT提升工作效率的一些详细步骤和技巧: 1. 快速撰写和编辑文档 撰写文档:当需要撰写报告、方案、邮件等内容时,可以直接向ChatGPT提出请求,例如:“请帮我写一份关于第一季度销售业绩的总结报告。”之后&#x…

Mybatis-plus + 通用mapper(tk.mybatis)

推荐课程:MyBatisPlus实战教程02-课程介绍与案例演示_哔哩哔哩_bilibili 官网:MyBatis-Plus (baomidou.com) 目录 01 引言 1)MyBatis与MyBatis-Plus区别 2)Mybatis-plus入门案例 案例一:spring容器版本的案例 案例…

将二进制数a的每一位右移b位operator.rshift(a,b)

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 将二进制数a的 每一位右移b位 operator.rshift(a,b) [太阳]选择题 请问执行operator.rshift(4, 1)的结果为? import operator print("【显示】二进制2:",bi…

Tuxera for Mac2024免费读写硬盘U盘工具

作为软件产品专家,我对各类软件都有较为深入的了解,下面介绍Tuxera for Mac这款读写硬盘/U盘工具的相关信息: Tuxera for Mac是一款高效稳定的NTFS读写工具,专为解决Mac系统无法直接读写NTFS格式驱动器的问题而设计。它提供了完整…

【文献分享】FLUNED(一种用于流体活化计算的开源工具)在水中的开发和验证

题目:Development and validation in water of FLUNED, an open-source tool for fluid activation calculations 链接:Redirecting FLUNED(一种用于流体活化计算的开源工具)在水中的开发和验证 在核聚变装置中,高…

【数据结构】树、二叉树与堆(长期维护)

下面是关于树、二叉树、堆的一些知识分享,有需要借鉴即可。 一、初识树(了解即可) 1.树的概念 概念:一种非线性数据结构,逻辑形态上类似倒挂的树 树的构成:由一个根左子树右子树构成,其中子树…

布隆过滤器详讲

本文旨在讲解布隆过滤器的原理以及实现方式,希望通过本文能使读者对布隆过滤器有一定的认识! 一、布隆过滤器的引入 在讲解布隆过滤器之前,我们还是先提及一下前面讲的位图行,位图可以处理大量的数据,广泛用于查找等…

Vue-vue3

一、Vue3简介二、Vue3有那些优化性能的提升源码升级拥抱TypeScript新的特性 三、创建Vue3.0工程四、Vue3工程结构(使用cli创建的vue3)五、常用的Composition API(组合式API)setupsetup的两个注意点 ref函数reactive函数Vue3.0中的…

【Java程序设计】【C00381】基于(JavaWeb)Springboot的爱心商城管理系统(有论文)

【C00381】基于(JavaWeb)Springboot的爱心商城管理系统(有论文) 项目简介项目获取开发环境项目技术运行截图 博主介绍:java高级开发,从事互联网行业六年,已经做了六年的毕业设计程序开发&#x…

SSH 连接工具-Tabby(使用教程)

文章目录 SSH 连接工具-Tabby(使用教程)1.Tabby简介2.Tabby安装3.实现 SSH 远程连接4.SFTP文件传输5.将 Anaconda Prompt 配置到 Tabby 中 SSH 连接工具-Tabby(使用教程) 提起 SSH 大家首先想到的应该是国内的一款 Xshell 工具&a…

UE4 根据任意多个点,生成最近的线条

UE4自带的SplineMesh特点:Tangent值为0的时候,会断开一段距离,起点和终点并不是同一个位置;Tangent值不为0的时候,会计算出转角的mesh 1.计算所有线条的组合 2.Clear0宏:清除掉数组Distance0的值。注意这…

git提交-分支开发合并-控制台操作

git提交-分支开发合并-控制台操作 git的基本概念工作区、暂存区和版本库工作区:就是你在电脑里能看到的目录(隐藏目录 .git不算工作区)。暂存区:英文叫 stage 或 index。一般存放在本地的.git目录下的index 文件(.git/…

Qt/QML编程之路:QPainter与OpenGL的共用(49)

在Qt编程中,有时会有这样一种场景:用OpenGL显示了一个3维立体图,但是想在右下角画一个2D的表格,里面写上几个字。那么这个时候就会出现QPainter与OpenGL共用或者说2D、3D共用。但是问题是调用了QPainter,drawline之后呢,OPenGL的状态被清空了丢失了,3D不显示了。 在Ope…