Linux用户和权限 —— 操作演示
Linux用户和权限——操作演示
- 认知root用户
- 用户、用户组管理
- 查看权限控制
- 修改权限控制- chmod
- 修改权限控制- chown
Linux系列:
Linux基本命令 —— 操作演示
认知root用户
root用户(超级管理员)
无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。
- 在Linux系统中,拥有最大权限的账户名为: root(超级管理员)
- 而在前期,我们一直使用的账户是普通的用户: rmzh
root用户拥有 最大的系统操作权限,而普通用户在许多地方的权限是受限的。
- 使用普通用户在根目录下创建文件夹
- 切换到root用户后,继续尝试

普通用户的权限,一般在其HOME目录内是不受限的
一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限。
su 和 exit 命令
su命令就是用于账户切换的系统命令,其来源英文单词:Switch User
语法: su [-] [用户名]
- -符号是可选的,表示是否在切换用户后加载环境变量,建议带上
- 参数: 用户名,表示要切换的用户,用户名也可以省略,省略表示切换到root
- 切换用户后,可以通过exit命令退回上一个用户,也可以使用快捷键: ctrl + d
- 使用普通用户,切换到其它用户需要输入密码,如切换到root用户
- 使用root用户切换到其它用户,无需密码,可以直接切换
sudo命令
在我们得知root密码的时候,可以通过su命令切换到root得到最大权限。
但是我们不建议长期使用root用户,避免带来系统损坏。
我们可以使用sudo命令,为普通的命令授权,临时以root身份执行。
语法: sudo其它命令
- 在其它命令之前,带上sudo,即可为这一条命令临时赋予root授权
- 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置sudo认证
为普通用户配置sudo认证
- 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
- 在文件的最后添加:(命令模式:
G跳到行尾,再按o进入输入模式 )

- 最后
esc进入命令模式,再输入:wq保存退出。 - 切回普通用户,执行的命令,均以 root运行

取消sudo认证
- 切换到root用户,执行visudo命令,跳到最后一行,按
dd删除,并保存退出。

- 再在根目录下创建,权限不足:

用户、用户组管理
Linux系统中可以:
- 配置多个用户
- 配置多个用户组
- 用户可以加入多个用户组中

Linux中关于权限的管控级别有2个级别,分别是:
- 针对用户的权限控制
- 针对用户组的权限控制
比如,针对某文件,可以控制用户的权限,也可以控制用户组的权限。
所以,我们需要学习在Linux中进行用户、用户组管理的基础命令,为后面学习权限控制打下基础。
用户组管理
以下命令需 root用户 执行:
- 创建用户组
groupadd 用户组名 - 删除用户组
groupdel 用户组名
用户管理
以下命令需 root用户 执行
- 创建用户
useradd [-g -d] 用户名- 选项: -g 指定用户的组,不指定-g,会创建同名组并自动加入,指定 -g 需要组已经存在,如已存在同名组,必须使用-g
- 选项: -d 指定用户HOME路径,不指定,HOME目录默认在: /home/用户名
(为后续演示,我们创建一个itcast用户组: groupadd itcast)

-
删除用户
userdel [-r] 用户名- 选项: -r,删除用户的HOME目录,不使用-r,删除用户时,HOME目录保留
-
查看用户所属组
id [用户名]- 参数:用户名,被查看的用户,如果不提供则查看==自身 ==

- 修改用户所属组
usermod -aG 用户组 用户名- 将指定用户加入指定用户组

getent
使用 getent 命令,可以查看当前系统中有哪些用户
语法:getent passwd

共有7份信息,分别是:
用户名:
密码(x):
用户ID:
组ID:
描述信息(无用):
HOME目录:
执行终端(默认bash)
使用getent命令,同样可以查看当前系统中有哪些用户组
语法: getent group

包含3份信息,
组名称:
组认证(显示为x):
组ID
查看权限控制
- 查看Linux文件的权限管控信息
认知权限信息
通过ls -l 可以以列表形式查看内容,并显示权限细节

- 序号1,表示文件、文件夹的权限控制信息。
- 序号2,表示文件、文件夹所属用户
- 序号3,表示文件、文件夹所属用户组
序号1: 权限细节总共分为10个槽位

举例: drwxr-xr-x表示:
- 这是一个文件夹,首字母d表示
- 所属用户(上角图序号2)的权限是: 有r有w有x, rwx
- 所属用户组(上角图序号3)的权限是:有r无w有x,r-x(-表示无此权限)
- 其它用户的权限是:有r无w有x,r-x
r 读 、 w 写 、 x 执行 三种权限
r表示读权限w表示写权限x表示执行权限
针对文件、文件夹的不同,rwx的含义有细微差别
r:针对文件可以查看文件内容
针对文件夹,可以查看文件夹内容,如ls命令w: 针对文件表示可以修改此文件
针对文件夹,可以在文件夹内:创建、删除、改名等操作x: 针对文件表示可以将文件作为程序执行
针对文件夹,表示可以更改工作目录到此文件夹,即cd进入
修改权限控制- chmod
chmod命令
我们可以使用chmod命令,修改 文件、文件夹的权限信息。
- 注意,只有文件、文件夹的 所属用户 或 root用户 可以修改。
语法: chmod [-R] 权限 文件或文件夹
- 选项:
-R,对 文件夹内的全部内容应用同样的操作
示例:
chmodu=rwx,g=rx,o=xhello.txt,将文件权限修改为:rwxr-x--x- 其中:
u表示user所属用户权限,g表示group组权限 ,o表示other其 它用户权限
- 其中:
chmod-Ru=rwx,g=rx,o=xtest,将文件夹test以及文件夹内全部内容权限设置为:rwxr-x--x

建议使用:
快捷写法: chmod 751 hello.txt
- 将hello.txt的权限修改为
751
权限的数字序号 ( 可以理解为3位二进制,有权限记为:
1,无权限记为:0;再用十进制表示 )
权限可以用3位数字来代表,第一位数字表示用户权限,第二位表示用户组权限,第三位表示其它用户权限。数字的细节如下:r记为4,w记为2,x记为1,可以有:
0 : 无任何权限, 即 - - -
1 : 仅有 x 权限,即 - -x
2 : 仅有 w 权限,即 -w-
3 : 有 w 和 x 权限,即-wx
4 : 仅有 r 权限,即r - -
5 : 有 r 和 x 权限, 即r-x
6 : 有 r 和 w 权限, 即rw-
7 : 有 全部 权限,即rwx
所以751表示 :rwx(7) r-x(5) - -x(1)

案例
- 将
hello.txt的权限修改为:r-x- -xr-x,数字序号为:chmod515hello.txt - 将
hello.txt的权限修改为:-wx-w-rw-,数字序号为:chmod326hello.txt
修改权限控制- chown
chown命令
使用chown命令,可以修改 文件、文件夹 的 所属用户 和 用户组
- 普通用户无法修改所属为其它用户或组,所以此命令只适用于 root用户 执行

语法: chown [-R] [用户] [:] [用户组] 文件或文件夹
- 选项,
-R,同chmod,对文件夹内全部内容应用相同规则 - 选项,
用户,修改所属用户 - 选项,
用户组,修改所属用户组 :用于分隔用户和用户组
示例:
chownroothello.txt,将hello.txt所属 用户 修改为root.chown:roothello.txt,将hello.txt所属 用户组 修改为rootchownroot:rmzhhello.txt,将hello.txt所属 用户 修改为root,用户组 修改为rmzhchown-Rroottest,将文件夹 test 的所属 用户 修改为root并对文件夹内全部内容应用同样规则

注:仅供学习参考,如有不足,欢迎指正!
相关文章:
Linux用户和权限 —— 操作演示
Linux用户和权限——操作演示认知root用户用户、用户组管理查看权限控制修改权限控制- chmod修改权限控制- chownLinux系列: Linux基本命令 —— 操作演示 认知root用户 root用户(超级管理员) 无论是Windows、MacOS、Linux均采用多用户的管理模式进行权限管理。…...
【华为OD机试真题2023 JAVA】单核CPU任务调度
华为OD机试真题,2023年度机试题库全覆盖,刷题指南点这里 单核CPU任务调度 知识点队列优先级队列 时间限制:1s 空间限制:256MB 限定语言:不限 题目描述: 现在有一个CPU和一些任务需要处理,已提前获知每个任务的任务ID、优先级、所需执行时间和到达时间。 CPU同时只…...
News乐鑫科技亮相德国嵌入式展 Embedded World 2023!
3 月 14 日,德国纽伦堡嵌入式展 Embedded World 2023 火热启幕。本届 Embedded World 主题为 “embedded. responsible. sustainable”,乐鑫科技 (688018.SH) 携众多 AIoT 科技成果亮相展会,致力于打造更智能、更互联、更绿色的物联网未来。…...
java如何创建线程
java如何创建线程1. java如何创建线程1.1 通过继承Thread类来创建线程1.2 通过实现Runnable接口来创建线程1.3 通过匿名内部类来创建线程1.4 lambda表达式1.5 通过实现Runnable接口的方式创建线程目标类的优缺点1. java如何创建线程 一个线程在Java中使用一个Thread实例来描述…...
要是早看到这篇文章,你起码少走3年弯路,20年老程序员的忠告
文章目录前言一、程序员的薪资是怎么样的?二、我现在的情况适合做程序员吗?三、大学期间到底应该学些什么?四、工作还是考研?五、总结前言 我是龙叔,一名工作了20多年的退休老程序员。 如果你在工作之前看到这篇文章…...
IP地址的分类
1. 前言 最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。 同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工…...
win10下使用docker运行部署nginx,mysql
一、docker的步骤:1.进入docker官网下载安装包2.打开控制面板 - 程序和功能 - 启用或关闭Windows功能,勾选Hyper-V,然后点击确定即可,如图:3.重新启动电脑4.启动Docker在桌面找到Docker for Windows快捷方式࿰…...
sprinboot车辆充电桩
sprinboot车辆充电桩演示录像2022开发语言:Java 框架:springboot JDK版本:JDK1.8 服务器:tomcat7 数据库:mysql 5.7(一定要5.7版本) 数据库工具:Navicat11 开发软件:ecli…...
仿京东放大镜效果的实现
仿京东放大镜 (1) 整个案例可以分为三个功能模块 (2) 鼠标经过小图片盒子, 黄色的遮挡层 和 大图片盒子显示,离开隐藏2个盒子功能 (3)黄色的遮挡层跟随鼠标功能。 (4&…...
ESP32设备驱动-LM35温度传感器驱动
LM35温度传感器驱动 文章目录 LM35温度传感器驱动1、LM35介绍2、硬件准备3、软件准备4、驱动实现1、LM35介绍 LM35 系列是精密集成电路温度传感器,其输出电压与摄氏(摄氏度)温度成线性比例。 因此,LM35 优于以开尔文校准的线性温度传感器,因为用户无需从其输出中减去较大…...
基于深度学习的犬种识别软件(YOLOv5清新界面版,Python代码)
摘要:基于深度学习的犬种识别软件用于识别常见多个犬品种,基于YOLOv5算法检测犬种,并通过界面显示记录和管理,智能辅助人们辨别犬种。本文详细介绍博主自主开发的犬种检测系统,在介绍算法原理的同时,给出Py…...
【IDEA插件开发】环境搭建
基础信息 GRADLE 7.5.1 IDEA IntelliJ IDEA 2020.1.1 (Ultimate Edition) Build #IU-201.7223.91, built on April 30, 2020 Licensed to https://zhile.io You have a perpetual fallback license for this version Subscription is active until July 8, 2089 Runtime ve…...
【蓝桥杯专题】 DP(C++ | 洛谷 | acwing | 蓝桥)
菜狗现在才开始备战蓝桥杯QAQ 文章目录【蓝桥杯专题】 DP(C | 洛谷 | acwing | 蓝桥)AcWing 1205. 买不到的数目Acwing 1216. 饮料换购【模拟】01背包271. 杨老师的照相排列最长公共上升子序列PPPPPPPP总结【蓝桥杯专题】 DP(C | 洛谷 | acwi…...
咪咕MGV3201_ZG_GK国科6323_UWE5621DS_免拆卡刷固件包
咪咕MGV3201_ZG_GK国科6323_UWE5621DS_免拆卡刷固件包 特点: 1、适用于对应型号的电视盒子刷机; 2、开放原厂固件屏蔽的市场安装和u盘安装apk; 3、修改dns,三网通用; 4、大量精简内置的没用的软件,运行…...
重构数据-Change Value to Reference将实值对象改为引用对象三
重构数据-Change Value to Reference将实值对象改为引用对象三 1.将实值对象改为引用对象 1.1.实值对象和引用对象区别 下面通过客户Customer和订单Order两个对象介绍下它们的区别 值对象:当一个客户Customer下了多个订单Order后,每个订单类都将创建一…...
计算机网络——通信专业面试问题学习笔记
文章目录1、计算机网络这门课学了什么?目录里有多少章?2、Internet的概念与发展史3、什么是交换?三种交换方式4、OSI的七层协议, TCP/IP的四层协议, 五层协议5、WAN 、LAN 、MAN、PAN这些能分的清楚吗?全称分别都是什么࿱…...
代码随想录算法训练营第三十天 | 332.重新安排行程 51. N皇后 37. 解数独 总结
打卡第30天,回溯算法第二刷。 今日任务 332.重新安排行程51.N皇后37.解数独总结 332.重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从…...
Windows权限提升—MySQL数据库提权
Windows权限提升—MySQL数据库提权1. 前言2. 数据库提权介绍2.1. 常见数据库端口2.2. MySQL数据库提权条件2.3. MySQL数据库提权类型3. MySQL中UDF提权3.1. UDF提权介绍3.2. UDF提权思路3.3. UDF提权步骤3.3.1. 获取外连数据库3.3.1.1. 外连数据库3.3.1.2. 连接数据库3.3.1.3. …...
使用旧电脑玩Linux
今天给大家讲讲使用旧电脑玩Linux,大家应该都知道旧电脑的硬件一般比较落后,特别是一些非常老的电脑,目前还在使用的是机械硬盘,如是要跑windows可想而知,但是Linux系统对硬件性能的要求可比windows低的多了࿰…...
Linux安装EMQX(简洁版)
安装目录 mkdir /opt/emqx && cd /opt/emqx 安装包下载 yum -y install wget && wget https://www.emqx.com/zh/downloads/broker/5.0.20/emqx-5.0.20-el7-amd64.tar.gz 注意:https://www.emqx.com/zh/downloads/broker获取下载链接并替换(后缀&…...
基于距离变化能量开销动态调整的WSN低功耗拓扑控制开销算法matlab仿真
目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.算法仿真参数 5.算法理论概述 6.参考文献 7.完整程序 1.程序功能描述 通过动态调整节点通信的能量开销,平衡网络负载,延长WSN生命周期。具体通过建立基于距离的能量消耗模型&am…...
React Native在HarmonyOS 5.0阅读类应用开发中的实践
一、技术选型背景 随着HarmonyOS 5.0对Web兼容层的增强,React Native作为跨平台框架可通过重新编译ArkTS组件实现85%以上的代码复用率。阅读类应用具有UI复杂度低、数据流清晰的特点。 二、核心实现方案 1. 环境配置 (1)使用React Native…...
【CSS position 属性】static、relative、fixed、absolute 、sticky详细介绍,多层嵌套定位示例
文章目录 ★ position 的五种类型及基本用法 ★ 一、position 属性概述 二、position 的五种类型详解(初学者版) 1. static(默认值) 2. relative(相对定位) 3. absolute(绝对定位) 4. fixed(固定定位) 5. sticky(粘性定位) 三、定位元素的层级关系(z-i…...
linux 错误码总结
1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...
在Ubuntu中设置开机自动运行(sudo)指令的指南
在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...
leetcodeSQL解题:3564. 季节性销售分析
leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...
多种风格导航菜单 HTML 实现(附源码)
下面我将为您展示 6 种不同风格的导航菜单实现,每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
Vue 模板语句的数据来源
🧩 Vue 模板语句的数据来源:全方位解析 Vue 模板(<template> 部分)中的表达式、指令绑定(如 v-bind, v-on)和插值({{ }})都在一个特定的作用域内求值。这个作用域由当前 组件…...
智能体革命:企业如何构建自主决策的AI代理?
OpenAI智能代理构建实用指南详解 随着大型语言模型(LLM)在推理、多模态理解和工具调用能力上的进步,智能代理(Agents)成为自动化领域的新突破。与传统软件仅帮助用户自动化流程不同,智能代理能够自主执行工…...
