当前位置: 首页 > news >正文

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认证

  1. 切换到root用户,执行visudo命令,会自动通过vi编辑器打开:/etc/sudoers
  2. 在文件的最后添加:(命令模式: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,对 文件夹内的全部内容应用同样的操作

示例:

  • chmod u=rwx,g=rx,o=x hello.txt,将文件权限修改为: rwxr-x--x
    • 其中: u 表示user所属用户权限g 表示group组权限o 表示other其 它用户权限
  • chmod -R u=rwx,g=rx,o=x test,将文件夹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,数字序号为:chmod 515 hello.txt
  • hello.txt的权限修改为:-wx-w-rw-,数字序号为:chmod 326 hello.txt

修改权限控制- chown

chown命令

使用chown命令,可以修改 文件、文件夹所属用户用户组

  • 普通用户无法修改所属为其它用户或组,所以此命令只适用于 root用户 执行

在这里插入图片描述

语法: chown [-R] [用户] [:] [用户组] 文件或文件夹

  • 选项,-R,同chmod,对文件夹内全部内容应用相同规则
  • 选项,用户,修改所属用户
  • 选项,用户组,修改所属用户组
  • : 用于分隔用户和用户组

示例:

  • chown root hello.txt,将hello.txt所属 用户 修改为 root.
  • chown :root hello.txt,将hello.txt所属 用户组 修改为root
  • chown root:rmzh hello.txt,将hello.txt所属 用户 修改为 root用户组 修改为 rmzh
  • chown -R root test,将文件夹 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快捷方式&#xff0…...

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这些能分的清楚吗?全称分别都是什么&#xff1…...

代码随想录算法训练营第三十天 | 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低的多了&#xff0…...

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获取下载链接并替换(后缀&…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包

文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...

docker 部署发现spring.profiles.active 问题

报错: org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)

考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...

搭建DNS域名解析服务器(正向解析资源文件)

正向解析资源文件 1)准备工作 服务端及客户端都关闭安全软件 [rootlocalhost ~]# systemctl stop firewalld [rootlocalhost ~]# setenforce 0 2)服务端安装软件:bind 1.配置yum源 [rootlocalhost ~]# cat /etc/yum.repos.d/base.repo [Base…...

Python 训练营打卡 Day 47

注意力热力图可视化 在day 46代码的基础上,对比不同卷积层热力图可视化的结果 import torch import torch.nn as nn import torch.optim as optim from torchvision import datasets, transforms from torch.utils.data import DataLoader import matplotlib.pypl…...

Copilot for Xcode (iOS的 AI辅助编程)

Copilot for Xcode 简介Copilot下载与安装 体验环境要求下载最新的安装包安装登录系统权限设置 AI辅助编程生成注释代码补全简单需求代码生成辅助编程行间代码生成注释联想 代码生成 总结 简介 尝试使用了Copilot,它能根据上下文补全代码,快速生成常用…...

Netty自定义协议解析

目录 自定义协议设计 实现消息解码器 实现消息编码器 自定义消息对象 配置ChannelPipeline Netty提供了强大的编解码器抽象基类,这些基类能够帮助开发者快速实现自定义协议的解析。 自定义协议设计 在实现自定义协议解析之前,需要明确协议的具体格式。例如,一个简单的…...

简单聊下阿里云DNS劫持事件

阿里云域名被DNS劫持事件 事件总结 根据ICANN规则,域名注册商(Verisign)认定aliyuncs.com域名下的部分网站被用于非法活动(如传播恶意软件);顶级域名DNS服务器将aliyuncs.com域名的DNS记录统一解析到shado…...