Linux系统之普通用户sudo提权配置

news/2025/1/17 3:59:02/

Linux系统之普通用户sudo提权配置

  • 一、检查本地系统版本
  • 二、创建redhat普通用户
    • 1.创建redhat用户
    • 2.为redhat用户设置密码
    • 3.查询创建用户相关命令的绝对路径
  • 三、编辑/etc/sudoers文件
  • 四、检查redhat用户权限
    • 1.切换到redhat用户
    • 2.新建huawei账号
    • 3.查看新创建用户
    • 4.为huawei账号设置密码
    • 5.删除huawei账号
  • 五、批量用户授权
    • 1.设置别名
    • 2.配置sudo授权
  • 六、测试批量授权效果
    • 1.新建用户zhangsan
    • 2.切换zhangsan用户
    • 3.新建lisi用户并设置密码
    • 4.切换lisi用户
    • 5.切换lisi用户
    • 6.测试lisi用户权限

一、检查本地系统版本

检查本地环境的操作系统版本,本次实践为centos7.6版本。

[root@docker ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

二、创建redhat普通用户

1.创建redhat用户

[root@docker ~]# useradd redhat

2.为redhat用户设置密码

[root@docker ~]# passwd redhat
Changing password for user redhat.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

3.查询创建用户相关命令的绝对路径

[root@docker ~]# which useradd 
/usr/sbin/useradd
[root@docker ~]# which passwd 
/usr/bin/passwd
[root@docker ~]# which userdel 
/usr/sbin/userdel

三、编辑/etc/sudoers文件

[root@docker ~]# vim /etc/sudoers
[root@docker ~]# grep redhat /etc/sudoers
redhat  ALL=(ALL)      /usr/sbin/useradd,/usr/bin/passwd,/usr/sbin/userdel

四、检查redhat用户权限

1.切换到redhat用户

[root@docker ~]# su -  redhat
[redhat@docker ~]$ 

2.新建huawei账号

[redhat@docker ~]$ sudo useradd huaweiWe trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:#1) Respect the privacy of others.#2) Think before you type.#3) With great power comes great responsibility.[sudo] password for redhat: 

3.查看新创建用户

[redhat@docker ~]$ id huawei
uid=1002(huawei) gid=1002(huawei) groups=1002(huawei)

4.为huawei账号设置密码

[redhat@docker ~]$ sudo passwd huawei
Changing password for user huawei.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

5.删除huawei账号

[redhat@docker ~]$ sudo userdel huawei
[redhat@docker ~]$ id huawei
id: huawei: no such user

五、批量用户授权

1.设置别名

[root@docker ~]# grep -Evn '^#|^$|^##'  /etc/sudoers
22:User_Alias ADMINS = zhangsan, lisi
30:Cmnd_Alias USERTEST =  /usr/sbin/useradd, /usr/bin/passwd, /usr/sbin/userdel 
59:Defaults   !visiblepw
68:Defaults    always_set_home
69:Defaults    match_group_by_gid
77:Defaults    always_query_group_plugin
79:Defaults    env_reset
80:Defaults    env_keep =  "COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS"
81:Defaults    env_keep += "MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE"
82:Defaults    env_keep += "LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES"
83:Defaults    env_keep += "LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE"
84:Defaults    env_keep += "LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY"
92:Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
104:root	ALL=(ALL) 	ALL
105:redhat  ALL=(ALL)      /usr/sbin/useradd,/usr/bin/passwd,/usr/sbin/userdel
112:%wheel	ALL=(ALL)	ALL

image.png

2.配置sudo授权

[root@docker ~]# grep ADMINS /etc/sudoers
# User_Alias ADMINS = jsmith, mikem
User_Alias ADMINS = zhangsan, lisi
ADMINS  ALL=(ALL)    USERTEST

六、测试批量授权效果

1.新建用户zhangsan

[root@docker ~]# useradd zhangsan
[root@docker ~]# passwd zhangsan
Changing password for user zhangsan.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.

2.切换zhangsan用户

[root@docker ~]# su - zhangsan

3.新建lisi用户并设置密码

[zhangsan@docker ~]$ sudo useradd lisiWe trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:#1) Respect the privacy of others.#2) Think before you type.#3) With great power comes great responsibility.[sudo] password for zhangsan: 
[zhangsan@docker ~]$ sudo passwd lisi
Changing password for user lisi.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

4.切换lisi用户

[zhangsan@docker ~]$ su - lisi
Password: 
[lisi@docker ~]$ id lisi
uid=1003(lisi) gid=1003(lisi) groups=1003(lisi)

5.切换lisi用户

[zhangsan@docker ~]$ su - lisi
Password: 
[lisi@docker ~]$ id lisi
uid=1003(lisi) gid=1003(lisi) groups=1003(lisi)

6.测试lisi用户权限

[lisi@docker ~]$ sudo useradd userWe trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:#1) Respect the privacy of others.#2) Think before you type.#3) With great power comes great responsibility.[sudo] password for lisi: 
[lisi@docker ~]$ sudo passwd user
Changing password for user user.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[lisi@docker ~]$ id user
uid=1004(user) gid=1004(user) groups=1004(user)
[lisi@docker ~]$ sudo userdel user
[lisi@docker ~]$ id user
id: user: no such user

http://www.ppmy.cn/news/38613.html

相关文章

手机卡顿、内存不足?360清理大师排忧解难

当下,手机越用越卡已经成为不少用户普遍的困境。然而这些问题的存在并非是手机质量问题,很多时候可能是手机长期没有清理垃圾造成的。所幸,目前市面上已经出现了不少专业的清理软件,如360清理大师就是被更多人推荐的一款。它不仅可…

java代码新增或修改时候的验证字段唯一

java代码新增或修改时候的验证字段唯一 String PLOT_CODE_MSG "地块编码已存在"; //验证plotCode是否唯一,获取id String plotId plotService.getIdByPlotCode(plot.getPlotCode());//新增的时候判断是否存在if (Func.isEmpty(plot.getId())) {if (Fun…

做一个office转pdf的功能

前言: 在实际工作中,有时候我们开发手机app浏览office类型的文件时,开发难度会增加不少,为了减轻开发app同学的负担,这里我使用office类型的文件,统一转换为pdf格式的文件,以减少开发难度。 1、首先导入转换需要的jar 2、在pom文件中引入这几个jar <dependency>…

基于特征模型的全系数自适应控制

摘要&#xff1a; 首先推导了全系数和等于1的证明过程&#xff0c;分析了等效时间常数的概念&#xff0c;然后推导了递推最小二乘公式并用于参数辨识的方法&#xff0c;最后给几个仿真的例子。 全系数之和等于1 被控对象用微分方程 y(n)an−1y(n−1)⋯a0ybn−1u(n−1)⋯b0u(1.…

python 实现简单的KMediod

K-medoids 是 K-means 算法的一种改进算法&#xff0c;可以解决 K-means 中不稳定的问题&#xff0c;是一种基于聚类中心的距离度量方法&#xff0c;因此也被称为 partitioning around medoids &#xff08;PAM&#xff09;。 本篇博客将介绍 K-medoids 算法的原理和实现过程&…

图的遍历-DFS与BFS

图的遍历-DFS与BFS 绪论一.用vector存储图 + dfs二.用数组模拟邻接表存储图 + dfs三.用数组模拟邻接表存储图 + bfs绪论 有个问题:什么时候需要记录该点是否已经遍历过? 1.先说结论: D F S DFS DFS不需要记录该点是否已经遍历过

IOC、AOP、和javca面试题

一、 1、控制反转&#xff08;IOC&#xff09; 将创建管理对象的工作交给容器来做。在容器初始化&#xff08;或在某个时间节点&#xff09;通过反射机制创建好对象&#xff0c;在使用时直接从容器中获取。 控制反转&#xff1a;将对象的控制权反过来交给容器管理。 IOC实现…

spring解决循环依赖思路

代理 AProxy对象—>A代理对象—>A代理对象的target A普通对象 A—>推断构造方法—>普通对象—>依赖注入—>初始化前—>初始化—>初始化后&#xff08;AOP&#xff09;—>代理对象—>放入单例池&#xff08;三级缓冲的第一级缓冲&#xff09;—…