Centos7增加新用户并授予sudo权限

2023-10-30

一.创建新用户

1.创建新的普通用户

adduser [用户名]

2.修改密码

passwd [用户名]

PS:linux生成强密码的方案之一(字符长度可以指定)

openssl rand -base64 14

生成样例如下

二、sudo简介

在Linux系统中, 普通用户的权限很低, 比如shutdown关机, 或者yum install安装软件等很多命令都需要root用户权限来运行. 普通用户想要执行这些命令, 要么使用su命令切换为root用户, 而使用su命令需要输入root密码, 当服务器很多人共同管理, 所有管理员都需要知道root密码, 是很不安全的; 要么使用sudo命令临时获取root权限, 而执行sudo命令只需要用户自己的密码, 甚至可以免密码, 而且只有通过配置的特殊用户才具有sudo特权, 只要权限分配合理, 安全性会更有保障.

普通用户是否具有sudo特权, 由sudoers配置文件来指定, 可通过"man sudo"来确认配置文件位于"/etc/sudoers"。

1.sudo执⾏命令的流程

将当前⽤户切换到超级⽤户下,或切换到指定的⽤户下,

然后以超级⽤户或其指定切换到的⽤户⾝份执⾏命令,执⾏完成后,直接退回到当前⽤户。

具体⼯作过程如下:

当⽤户执⾏sudo时,系统会主动寻找/etc/sudoers⽂件,判断该⽤户是否有执⾏sudo的权限

-->确认⽤户具有可执⾏sudo的权限后,让⽤户输⼊⽤户⾃⼰的密码确认

-->若密码输⼊成功,则开始执⾏sudo后续的命令

2.不需要输⼊密码的情况

1.root执⾏sudo时不需要输⼊密码(eudoers⽂件中有配置root ALL=(ALL) ALL这样⼀条规则)

2.欲切换的⾝份与执⾏者的⾝份相同,不需要输⼊密码

3./etc/sudoers⽂件设置为允许⽤户在不输⼊该⽤户的密码的情况下使⽤所有命令

如设置允许wheel⽤户组中的⽤户在不输⼊该⽤户的密码的情况下使⽤所有命令

( %wheel ALL=(ALL) NOPASSWD: ALL)

三、visudo命令介绍

授权需要用到visudo命令,如下是该命令的简介

1.命令概述

visudo可以安全地编辑 sudoers 文件

  • 需要超级用户权限;
  • 默认编辑/etc/sudoers文件;
  • sudoers文件的默认权限是440,即默认无法修改;
  • visudo可以在不更改sudoers文件权限的情况下,直接修改sudoers文件;

2.命令格式

visudo [-chqsV] [-f sudoers] [-x output_file]

3.常用选项

选项:
-c, --check            纯检查模式
-f, --file=sudoers     指定 sudoers 文件的位置
-h, --help             显示帮助信息并退出
-q, --quiet            较简略(安静)的语法错误信息
-s, --strict           严格语法检查
-V, --version          显示版本信息并退出
-x, --export=输出文件  以 JSON 格式将 sudoers 写入输出文件

4.参考示例

4.1 编辑/etc/sudoers文件

[root@itcast ~]# visudo 
visudo: /etc/sudoers.tmp 未更改

4.2 编辑/etc/sudoers文件,并检查语法等错误

[root@itcast ~]# visudo -c
/etc/sudoers:解析正确

4.3 编辑/etc/sudoers文件,但不打印语法等错误

[root@itcast ~]# visudo -q
visudo: /etc/sudoers.tmp 未更改

4.4 显示版本信息并退出

[root@itcast ~]# visudo -V 
visudo 版本 1.8.19p2
visudo 语法版本 45

四、使用visudo修改sudoers给新用户授权

在sudoers文件中找到如下位置,大概位于98行上下,其所代表的含义分别是:

用户帐号,也就是我们想要配置的让哪个系统帐号可以使用sudo命令

允许用户从哪些地方连接到这台主机,linux作为服务器,管理员是有可能从别的主机远程连接过来的

允许切换的身份,

允许执行的命令

照葫芦画瓢,在下面增加一行

[用户名] ALL=(ALL) ALL(如需新用户使用sudo时不用输密码,把最后一个ALL改为NOPASSWD: ALL即可)

Ps: vim编辑器,按【i】键进入编辑模式(左下角出现-- INSERT --标识),内容编辑完成后,按【Esc】键退出编辑模式(标识消失),最后输入【:wq】保存并退出vim编辑器。

最后,记录一下可能用到的其他命令

#查看系统中有哪些用户
cut -d : -f 1 /etc/passwd

#查看可以登录系统的用户
cat /etc/passwd | grep -v /sbin/nologin | cut -d : -f 1

#查看登录用户
who

#查看登录用户(比who命令显示的信息更详细)
w

#查看用户登录历史记录
last [用户名...]

#root强制踢出普通用户
pkill -kill -t tty
* tty 所踢用户的TTY,用who命令查看
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Centos7增加新用户并授予sudo权限 的相关文章

  • Web 应用程序的带宽和流量模拟器?

    您能否建议如何创建一个测试环境来模拟 Web 应用程序中的各种类型的带宽和流量 或者也许是一个针对本地主机执行此操作的开源程序 我认为在编写网络应用程序时这是一个非常重要的主题 但这不是一个常见的主题 我能想象创建这种环境的唯一方法是在本地
  • X11 模式对话框

    如何使用 Xlib 在 X11 中创建模式对话框 模态对话框是一个位于应用程序其他窗口之上的窗口 就像瞬态窗口一样 并且拒绝将焦点给予应用程序的其他窗口 在 Windows 中 当试图从模态窗口夺取焦点时 模态也会通过闪 烁模态窗口的标题栏
  • 使用 inotify 的正确方法是什么?

    我想使用inotifyLinux 上的机制 我希望我的应用程序知道文件何时aaa被改变了 您能给我提供一个如何做到这一点的示例吗 文档 来自监视文件系统活动 inotify https developer ibm com tutorials
  • 如何将后台作业的输出分配给 bash 变量?

    我想在 bash 中运行后台作业并将其结果分配给一个变量 我不喜欢使用临时文件 并且希望同时运行多个类似的后台任务 root root var echo hello world root root echo var hello world
  • 如何使用 echo 写入非 ASCII 字符?

    如何写非ASCII http en wikipedia org wiki ASCII使用 echo 的字符 是否有转义序列 例如 012或类似的东西 我想使用以下方法将 ASCII 字符附加到文件中 echo gt gt file 如果您关
  • 这种 bash 文件名提取技术有何用途?

    我有一部分 bash 脚本正在获取不带扩展名的文件名 但我试图了解这里到底发生了什么 是做什么用的 有人可以详细说明 bash 在幕后做了什么吗 如何在一般基础上使用该技术 bin bash for src in tif do txt sr
  • 如何确定代码是否在信号处理程序上下文中运行?

    我刚刚发现有人正在从信号处理程序调用我编写的绝对不是异步信号安全的函数 所以 现在我很好奇 如何避免这种情况再次发生 我希望能够轻松确定我的代码是否在信号处理程序上下文中运行 语言是 C 但该解决方案不适用于任何语言吗 int myfunc
  • 如何在 Linux 中重新添加 unicode 字节顺序标记?

    我有一个相当大的 SQL 文件 它以 FFFE 的字节顺序标记开头 我使用 unicode 感知的 linux 分割工具将此文件分割成 100 000 行块 但是当将这些传递回窗口时 它确实not与第一个部分以外的任何部分一样 只是它具有
  • 在 Docker 容器中以主机用户身份运行

    在我的团队中 我们在进行开发时使用 Docker 容器在本地运行我们的网站应用程序 假设我正在开发 Flask 应用程序app py具有依赖关系requirements txt 工作流程大致如下 I am robin and I am in
  • 运行此处编译的 C 程序会导致在另一台服务器上找不到 GLIBC 库错误 - 是我的错还是他们的错?

    此处编译的 C 程序在我们的 Ubuntu 服务器上运行良好 但是当其他人尝试在他们的特定 Linux 服务器上运行它时 他们会收到以下错误 myprog install lib tls libc so 6 version GLIBC 2
  • SMP 上如何处理中断?

    SMP 对称多处理器 多核 机器上如何处理中断 内存管理单元是只有一个还是多个 假设两个线程 A 和 B 运行在不同的内核上 同时 访问页表中不存在的内存页面 在这种情况下 将会出现页面错误 并从内存中引入新页面 将会发生的事件的顺序是什么
  • 在非实时操作系统/内核上执行接近实时任务的最佳方法是什么?

    在一台 GNU Linux 机器上 如果想要执行 实时 亚毫秒级时间关键 任务 您几乎总是必须经历漫长 复杂且容易出现问题的内核补丁过程 以提供足够的支持 1 http en wikipedia org wiki RTLinux Backg
  • 为什么默认情况下不启用 arp 忽略/通告 [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我有一个需要经验才能回答的具体问题 为什么 arp ignore arp announce 在 Linux 安装 例如 debian 上默认不启用 有
  • Ctrl-p 和 Ctrl-n 在 Docker 下表现异常

    For the life of me I can t seem to figure out why ctrl p and ctrl n don t work like they re supposed to under the Docker
  • 亚马逊 Linux - 安装 openjdk-debuginfo?

    我试图使用jstack在 ec2 实例上amazon linux 所以我安装了openjdk devel包裹 sudo yum install java 1 7 0 openjdk devel x86 64 但是 jstack 引发了异常j
  • 查找并删除超过 x 天的文件或文件夹

    我想删除超过 7 天的文件和文件夹 所以我尝试了 17 07 14 email protected cdn cgi l email protection find tmp mindepth 1 maxdepth 1 ctime 7 exec
  • 使用 --prof 选项创建多个日志文件而不是一个 v8.log 的节点

    我正在尝试使用 prof 选项来分析我的 Node 应用程序 但我发现不是一个单一的 v8 log 文件 而是使用诸如isolate 0x9582b40 v8 log isolate 0xa1cab78 v8 6049 等前缀创建的多个文件
  • 从哪里获取 iostream.h

    我正在尝试在 Linux 中做一些事情 但它抱怨找不到 iostream h 我需要安装什么才能获取此文件 这个标准头的正确名称是iostream没有扩展名 如果您的编译器仍然找不到它 请尝试以下操作 find usr include na
  • Unix 中的访问时间是多少

    我想知道访问时间是多少 我在网上搜索但得到了相同的定义 读 被改变 我知道与touch我们可以改变它 谁能用一个例子来解释一下它是如何改变的 有没有办法在unix中获取创建日期 时间 stat结构 The stat 2 结构跟踪所有文件日期
  • 如果输入被重定向则执行操作

    我想知道如果我的输入被重定向 我应该如何在 C 程序中执行操作 例如 假设我有已编译的程序 prog 并且我将输入 input txt 重定向到它 我这样做 prog lt input txt 我如何在代码中检测到这一点 一般来说 您无法判

随机推荐

  • 根据页面高度变化动态改变element的table组件的最大高度

    本文提供方法 主要用来解决流体高度的element的表格组件 还需要根据页面高度变化而变化最大高度 js部分 定义方法后需要在页面刚刚创建时就调用一次 使表格获得合适的初始表格高度 再监听页面resize事件 function listen
  • 在linux下搜索一个文件

    在windows下有一个搜索工具 可以让我们很快的找到一个文件 这是很有用的 然而在linux下搜索功能更加强大 which 用来查找可执行文件的绝对路径 在前面已经用到该命令 需要注意的一点是 which只能用来查找PATH环境变量中出现
  • 深信服产品介绍

    传统防火墙 包过滤防火墙 判断信息 数据包的源ip地址 协议类型 源端口 目的端口 五元组 工作范围 网络层 传输层 3 4层 和路由器的区别 1 普通的路由器只检查数据包的目标地址 并选择一个达到目的地址的最佳路径 2 防火墙除了要决定目
  • 2020年蓝桥杯国赛-答疑

    题目 题目链接 题解 贪心 有点像 排队打水 比较好想 而且我甚至都能证明 贪心思路 按照 s a e s a e s a e 从小到大排序即可 证明 首先 每个人的
  • 服务器IP经常更换对网站会产生怎样的影响

    随着互联网的发展 越来越多的用户都在使用其带给我们的好处 但是很多朋友可能很多朋友应该都听过服务器 ip以及域名这些名词 但是它们到底是什么 能作什么用 可能一些朋友就不太清楚了 ip地址是一台服务器所必须的 只有输入正确的ip地址 才能找
  • MySQL架构和运行机制解析

    先来看看 mysql 技术架构 MySQL 技术架构和运行机制 连接器 connect 连接器负责跟客户端建立连接 获取权限 维持和管理连接 有些时候 MySQL 占用内存涨得特别快 是因为在执行过程中临时使用的内存 join buffer
  • 深入理解单例模式:静态内部类单例原理

    本文主要介绍java的单例模式 以及详细剖析静态内部类之所以能够实现单例的原理 OK 废话不多说 进入正文 首先我们要先了解下单例的四大原则 1 构造私有 2 以静态方法或者枚举返回实例 3 确保实例只有一个 尤其是多线程环境 4 确保反序
  • 步进电机芯片

    步进电机芯片 LV8728 128细分 1 8A LV8727 128细分 4A THB6064AH 64细分 THB6064MQ 64细分 256细分 512细分
  • funcanary[CISCN2023初赛]-爆破canary+pie

    funcanary 一 保护检查 二 IDA分析 三 exp编写 四 exp 一 保护检查 先检查文件的保护以及文件的类型 保护全开 64位程序 通过题目大概也知道想考察的内容是canary保护绕过或者canary泄露 二 IDA分析 首当
  • Java 代码块学习笔记(基础)

    目录 代码块 阉割的方法 只剩下方法体 1 普通代码块 定义在方法体内且无修饰符的代码块 2 静态代码块 定义在方法体外 类里面且须用 static 修饰的代码块 3 构造代码块 定义在方法体外 类里面但不用修饰的代码块 4 同步代码块 r
  • 【Springboot】整合wxjava实现 微信小程序:模板消息

    文章目录 一 模板消息是什么 二 整合步骤 1 微信小程序后台配置模板消息 2 发送模板消息 后端逻辑代码 controller service impl 前端逻辑代码 测试 提示 以下是本篇文章正文内容 下面案例可供参考 一 模板消息是什
  • linux2==阿里云ECS centos8安装mysql,通过上传tar.gz

    安装地址 usr local mysql 1 检测当前系统是否安装过MySQL相关数据库 需要通过rpm相关指令 来查询当前系统中是否存在已安装的mysql软件包 执行指令如下 rpm qa 查询当前系统中安装的所有软件 rpm qa gr
  • LVGL学习(2):图片的转换和显示

    我们在设计UI的过程中可能需要显示一些图片 本篇文章将介绍如何转换并显示一个固定的图片到lv img中 文章目录 1 图片转换 1 1 GUI Guider 1 2 在线转换 2 图片的显示 1 图片转换 和之前我写的一篇字体转换的文章一样
  • linux下u盘挂载及拷贝

    linux下插入u盘后 可以使用三种命令查看u盘在linux下的磁盘分区 1 ll dev sd 2 df l 3 fdisk l 挂载u盘后在linux下会显示 dev sdb 是u盘中一个小的引导分区 u盘的文件内容不在这里 dev s
  • 知识杂记1

    修改git默认编辑器 git config global core editor vim scp断点续传 使用rsync 参考https blog csdn net hepeng597 article details 8960885 git
  • js获取指定日期的一周事件、一周开始和结束的日期

    我们将这些函数挂载到Date身上 周开始日期 周一为每周开始 周日为每周结束 Date prototype beginOfWeek function let subDay 0 let weekDay this getDay if weekD
  • 全面详细的JavaFX国语核心教程(持续更新)

    文章目录 在IDEA中创建并运行JavaFX项目 方式一 IDEA提供的创建方式 推荐 方式二 手动创建 JavaFX核心思想 生命周期和线程模型 舞台 Stage 场景 Scene 和场景图 Scene Graph JavaFX类型系统
  • LayUi之选项卡的详解(附源码讲解)

    Welcome Huihui s Code World 接下来看看由辉辉所写的关于LayUi的相关操作吧 目录 Welcome Huihui s Code World 一 选项卡是什么 二 选项卡在什么时候使用 常见使用场景 三 怎么完成点
  • Deep Learning Methods for Remote Heart Rate Measurement:A Review and Future Research Agenda

    前言 本文为一片远程心率监测综述的总结复述 本文为作者第一篇试写博客 欢迎大家提出宝贵意见 文章主要内容 1 简述了有关远程心率监测的基础知识与相关概念 2 讨论了基于深度学习的远程心率检测方法的几个最新进展 并根据模型体系结构和应用情况进
  • Centos7增加新用户并授予sudo权限

    一 创建新用户 1 创建新的普通用户 adduser 用户名 2 修改密码 passwd 用户名 PS linux生成强密码的方案之一 字符长度可以指定 openssl rand base64 14 生成样例如下 二 sudo简介 在Lin