linux用户身份切换su和 sudo

su 切换root,但是,环境变量是之前用户的

可以看到利用su切换,根目录还是pro1的

su - 连同环境一起切换成root,切换后工作目录都不一样了,看输入内容左侧信息,和第一个图片比较

-c仅执行一次命令,访问配置文件其他用户没有权限,如果想要访问可以参考,密码是root密码,带-c参数,命令执行完毕后,当前用户还是原用户。

缺点,当多用户管理,大家都知道root密码不是一件好的事情,下面的将避免这个问题sudo

 sudo的执行,只需要用户自己的密码即可

增加用户sudo的权限,默认root可以,用visudo设置,

对于nologin的用户,我们无法登录操作,但是可以用sudo来操作,比如让某个nologin用户创建文件如,无法登录的用户可以创建自己的文件,所有不要有错误方面很多种,要发散思维

关键点:怎么设置用户可以使用sudo命令呢,配置文件/etc/sudoers,不过这个文件不要用vi去编辑,容易出现语法错误,用命令visudo,设置pro1和root一样,然后测试方位配置密码文件测试结果

利用用户组以及免密码的功能处理visudo

之前的三个用户,如果设置sudo,需要增加三行信息,以后如果有其他,需要继续新增,那么可以创建一个管理组,用户组的成员可以使用sudo命令即可,方便维护,利用usermod修改

将前面的#换成%wheel,表示组,默认有的就是%

测试用户pro2,将pro2加入到用户,测试结果

我们不增加pro2 all=all all【设置pro1和root一样的配置文件】,而将pro2加入到whell组里,然后在测试下,usermod修改用户信息,chown,chgrp,chmod是需改文件或者目录的,这里别搞混了,小白我之前就搞混了。

看加入了wheel组,再次使用 sudo命令,就可以查看密码配置文件了,和pro1一样了,用户组这种更方便管理,而且不需要知道root的密码,确保了系统的安全性,

如果设置免密使用sudo,在配置文件里面加入关键字 NOPASSWD,后面接冒号,增加后测试 结果

测试结果

在切换pro2以后,不用切换有效用户组,上一个图片 切换有效用户组了,其实不切换也可以成功,看,这回看密码文件不用输入Pro2的密码了,问题来了,sudo这不就相当于是root权限了吗,一会修改密码试试

配置文件如下

myuser       ALL=(root)      /usr/bin/passwd

1,当myuser用户使用 sudo passwd  pro3,修改用户pro3的密码,没什么问题

2,如果直接输入 sudo passwd呢,会提示修改root密码,这不扯呢吗,你这权限有点大了,所有可执行 的命令需要改下,如下配置文件利用正则表达式

myuser       ALL=(root)      !/usr/bin/passwd     ,/usr/bin/passwd [ A-Za-z]*,!/usr/bin/passwd root

叹号表示不可执行的意思,这样就规避了修改root密码了

实际用途,多个用户,可以选择设置别名,类似集合变量的名字,有新用户,直接把用户名写在集合里面即可

我们来测试myuser2,和pro3

测试结果Pro3可以修改其他用户密码,myuser2不可以

如果以后有新用户需要信任,那么可以直接sudo visudo ,在pro3后面增加用户名即可。

测试关机,如果成功了,本篇结束,没成功我会发图片的

看来重要的命令,即使给你sudo权限,也不可以,刚刚想到pro3设置的修改密码的命令

切换pro1,和root是一样的设置,利用 sudo shutdown -h now  是可以正常关机的

所有有一点非常重要,就是visudo里面的用户必须是值得你信任的用户,否则。。。。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

面试必须要知道的MySQL知识--索引

10 索引 10.1 数据页存储结构 10.1.1 数据页的各个部分 在讲索引之前,让我们看看一个单独的数据页是什么样子的 去除掉一些我们不太需要那么关注的部分后,简化如下: 也就是说平时我们在一个表里插入的一行一行的数据会存储在数据页里&#…

k8s-deployment控制器 5

K8s控制器是Kubernetes(简称k8s)系统中一个重要的组成部分,它是一个管理Pod的中间层,可以创建和管理多个Pod副本,确保它们按照预定的数量和行为进行运行。 通过编写yaml文件将信息全部存到etcd中,控制器通…

HTTP协议发展

HTTP 1.0 -> HTTP 1.1 -> HTTP 2.0 -> HTTP 3.0 (QUIC) 每一代HTTP解决了什么问题? 下图说明了主要功能。 HTTP 1.0 于 1996 年最终确定并完整记录。对同一服务器的每个请求都需要单独的 TCP 连接。 HTTP 1.1 于 1997 年发布。TCP 连接可以保持打开状态…

Flask教程入门

1.学习Flask之前,首先需要对URL进行一定的了解。 URL的一些知识: 1.URL只能包含ASCII码里面一些可显示的字符,如A-Z,a-z,0-9,&,#,%,?,/等字符…

spring boot项目未将resource目录标志为资源目录导致配置文件无效因而运行报错问题

能编译,但不能运行。感觉配置文件没有生效。 将程序代码发给同事,我自己能跑,他不能跑,提示无法构造redis对象。redis的链接写在配置文件里,其实是可以连接的。然后从GIT库下载代码,也同样不能跑。同事的操…

外网IP和内网IP的区别

首先得先知道什么是ip地址,它就是唯一标识连接网络的设备的,即IP地址充当了设备在网络中的“住址”,使得设备能够相互通信和交换数据。 我们常听开发人员说外网内网,那么它们有什么区别呢? 外网可以理解为互联网&…

Springboot的excel导出

这里导出excel用到的是 阿里巴巴的easyexcel 1、首先导入依赖 <!--alibaba easyexcel--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.6</version> </dependency> 2、…

第二十章——多线程

一.线程简介 线程的特点 1.进程是资源分配的最小单位&#xff0c;线程是最小的执行单位 2.一个进程可以有多个线程 3.线程共享进程资源 二.创建线程 1.继承Thread类 1.Thread类是java.lang包中的一个类&#xff0c;从这个类实例化的对象代表线程&#xff0c;程序员启动一个新…

三 STM32F4使用Sys_Tick 实现微秒定时器和延时

更多细节参考这篇 1. 什么是时钟以及作用 1.1 什么是时钟 时钟是由电路产生的周期性的脉冲信号&#xff0c;相当于单片机的心脏 1.2 时钟对于STM32的作用 指令同步&#xff1a;cpu和内核外设使用时钟信号来进行指令同步数据传输控制&#xff1a; 时钟信号控制数据在内部总…

sqli-labs(6)

27. 过滤了union和select 使用双写绕过 有报错信息使用报错注入 1and(extractvalue(1,concat(0x5c,database())))and11 1and(updatexml(1,concat(0x7e,database(),0x7e),1))and11 1and(extractvalue(1,concat(0x5c,(selseselectlectect(group_concat(table_name))from(inform…

Spring Boot 3 + Spring Security 6 最新版本修改 Json 登录后 RememberMe 功能问题失效的解决方案

当 Spring Boot 版本更新到 3 之后&#xff0c;最低要求的 JDK 版本变为 17&#xff0c;相应的 最新版本的 Spring Security 的配置也发生了变化&#xff0c;一下主要讲解一些新的 Spring Security 的配置方法 1. 配置由继承WebSeucrityConfigurerAdapter变成只需添加一个Secur…

每天五分钟计算机视觉:LeNet是最早用于数字识别的卷积神经网络

LeNet 假设你有一张 32321 的图片,然后使用 6 个 55的过滤器,步幅为 1,padding 为 0,输出结果为 28286。图像尺寸从 3232 缩小到 2828。 然后进行池化操作,使用平均池化,过滤器的宽度为 2,步幅为 2,图像的尺寸,高度和宽度都缩小了 2 倍,输出结果是一个14146 的图像。…

【LeetCode】挑战100天 Day13(热题+面试经典150题)

【LeetCode】挑战100天 Day13&#xff08;热题面试经典150题&#xff09; 一、LeetCode介绍二、LeetCode 热题 HOT 100-152.1 题目2.2 题解 三、面试经典 150 题-153.1 题目3.2 题解 一、LeetCode介绍 LeetCode是一个在线编程网站&#xff0c;提供各种算法和数据结构的题目&…

Redis 持久化机制

client Redis[内存] --> 内存数据、磁盘数据----> 磁盘&#xff0c;Redis官方提供了两种不同的持久化方案将内存中的数据存储在硬盘中&#xff1a; 快照&#xff08;Snapshot&#xff09; AOF只追加日志文件。 1、快照&#xff08;Snapshot&#xff09; 1、快照的特点…

鸿蒙开发报错:agconnect sdk not initialized. please call initialize()【BUG已解决】

文章目录 项目场景:问题描述原因分析:解决方案:总结:项目场景: 鸿蒙开发报错: agconnect sdk not initialized. please call initialize() 问题描述 报错内容为: 10-25 11:41:01.152 6076-16676 E A0c0d0/JSApp: app Log: 数据查询失败: {“code”:1100001,“messag…

Boot工程快速启动【Linux】

Boot工程快速启动【Linux】 在idea中打包cd usr/在local文件夹下mkdir app进入app文件夹把打包好的文件&#xff08;只上传其中的jar&#xff09;上传到app文件下检查linux中的Java版本&#xff0c;保证和项目的Java 版本保持一致运行 java -jar sp补全***.jar想看效果得查询当…

九、LuaTable(表)

文章目录 一、定义二、Table(表)的构造三、Table 操作&#xff08;一&#xff09;Table连接&#xff08;二&#xff09;插入和移除&#xff08;三&#xff09;Table 排序&#xff08;四&#xff09;Table 最大值 一、定义 table 是 Lua 的一种数据结构用来帮助我们创建不同的数…

数组filter()方法的使用

输入价格后失去焦点就展示符合条件的商品&#xff0c;没有符合条件的商品就弹框提示 <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-…

蓝桥杯-01简介

文章目录 蓝桥杯简介参考资源蓝桥杯官网第15届大赛章程一、概况&#xff08;一&#xff09;大赛背景和宗旨&#xff08;二&#xff09;大赛特色&#xff08;三&#xff09;大赛项目1.Java软件开发2.C/C程序设计3.Python程序设计4.Web应用开发5.软件测试6.网络安全7.嵌入式设计与…

汇编-pop出栈指令

32位汇编 执行动作分为两步&#xff1a; 第一步&#xff1a;读出数据 第二步&#xff1a;改变栈地址 如果操作数是16位&#xff0c; 则ESP加2&#xff1b; 如果操作数是32位&#xff0c; 则ESP加4 espesp2 或 espesp4 格式&#xff1a;