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

Linux 用户和权限

一、root 用户

root 用户(超级管理员)

        无论是windows、Macos、Linux均采用多用户的管理模式进行权限管理。在Linux系统中,拥有最大权限的账户名为:root (超级管理员)。

        root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。如:使用普通用户在根目录下创建文件夹显示无法创建目录"/test": 权限不够

        切换到 root 用户后。

  • 普通用户的权限,一般在其HOME目录内是不受限的
  • 一旦出了HOME目录,大多数地方,普通用户仅有只读和执行权限,无修改权限

 su和exit命令

        我们接触过su命令切换到 root 账户 su 命令就是用于账户切换的系统命令,

        其来源英文单词: Switch User

        语法: su [-] [用户名]

  1. - 符号是可选的,表示是否在切换用户后加载环境变量建议带上参数;
  2. 用户名,表示要切换的用户,用户名也可以省略,省略表示切换到 root 切换用户后,可以通过 exit 命令退回上一个用户,也可以使用快捷键: ctrl + d。

        使用普通用户,切换到其它用户需要输入密码,如切换到 root 用户使用 root 用户切换到其它用户,无需密码,可以直接切换。

sudo命令

        我们可以通过 su 命令切换到 root 得到最大权限但是我们不建议长期使用 root 用户,避免带来系统损坏。我们可以使用 sudo 命令,为普通的命令授权,临时以 root 身份执行。
        语法:sudo 其它命令

  • 在其它命令之前,带上sudo,即可为这一条命令临时赋予 root 授权;
  • 但是并不是所有的用户,都有权利使用sudo,我们需要为普通用户配置 sudo 认证
为普通用户配置sudo认证

        切换到 root 用户,执行visudo命令,会自动通过 vi 编辑器打开:/etc/sudoers。在文件的最后添加:

xiaoqing ALL=(ALL)  NOPASSWD: ALL

        其中最后的NOPASSWD:ALL 表示使用 sudo 命令,无需输入密码最后通过 wq保存,切换回普通用户。执行的命令,均以 root 运行  。   

二、用户、用户组的管理

用户、用户组

        Linux系统中可以:配置多个用户配置多个用户组用户可以加入多个用户组中。 

         Linux中关于权限的管控级别有2个级别,分别是:

  • 针对用户的权限控制
  • 针对用户组的权限控制

        针对某文件,可以控制用户的权限,也可以控制用户组的权限。

用户组管理

        以下命令需 root 用户执行。

  1. 创建用户组:groupadd 用户组名
  2. 删除用户组:groupdel 用户组名

用户管理

        以下命令需 root 用户执行。
        创建用户:useradd[-g -d] 用户名

  1. 选项:-指定用户的组,不指定-g,会创建同名组并自动加入,指定 -g 需要组已经存在,如已存在同名组,必须使用 -g;
  2. 选项:-d 指定用户HOME路径,不指定,HOME目录默认在:/home/用户名。

        删除用户:userdel[-r] 用户名

        选项:-r  删除用户的HOME目录,不使用 -r,删除用户时,HOME目录保留。

        查看用户所属组:id [用户名]

        参数:用户名,被查看的用户,如果不提供则查看自身修改用户所属组。

        usermod-aG 用户组 用户名,将指定用户加入指定用户组

getent

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

         共有7份信息,分别是:
        用户名:密码(x):用户ID:组ID:描述信息(无用):HOME目录:执行终端(默认bash)。

        同样可以查看当前系统中有哪些用户组语法: getent group。

        包含3份信息,组名称:组认证(显示为x):组ID。

三、查看权限控制 

  • 序号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。
rwx
  • 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,0=x test,将文件夹 test 以及文件夹内全部内容权限设置为: rwxr-X--X

        这样写太繁琐了,可以直接 chomd 751 hello.txt

权限的数字序号

        权限可以用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)。

五、修改权限控制——chown

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

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

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

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

        示例:

  • chown root hello.txt,将 hello.txt 所属用户修改为 root;
  • chown :root hello.txt,将 hello.txt 所属用户组修改为 root;
  • chown root:itheima hello.txt,将 hello.txt 所属用户修改为 root,用户组修改为 itheima;
  • chown -R root test,将文件夹 test 的所属用户修改为 root 并对文件夹内全部内容应用同样规则。

相关文章:

Linux 用户和权限

一、root 用户 root 用户(超级管理员) 无论是windows、Macos、Linux均采用多用户的管理模式进行权限管理。在Linux系统中,拥有最大权限的账户名为:root (超级管理员)。 root用户拥有最大的系统操作权限,而普通用户在许多地方的权限是受限的。…...

分布式应用:ELFK集群部署

目录 一、理论 1.ELFK集群 2.filebeat 3.部署ELK集群 二、实验 1. ELFK集群部署 三、总结 一、理论 1.ELFK集群 (1)概念 ELFK集群部署(FilebeatELK),ELFK ES logstashfilebeatkibana 。 数据流 架构 2.fi…...

Quartz使用文档,使用Quartz实现动态任务,Spring集成Quartz,Quartz集群部署,Quartz源码分析

文章目录 一、Quartz 基本介绍二、Quartz Java 编程1、文档2、引入依赖3、入门案例4、默认配置文件 三、Quartz 重要组件1、Quartz架构体系2、JobDetail3、Trigger(1)代码实例(2)SimpleTrigger(3)CalendarI…...

Go -- 测试 and 项目实战

没有后端基础,学起来真是费劲,所以打算速刷一下,代码跟着敲一遍,有个印象,大项目肯定也做不了了,先把该学的学了,有空就跟点单体项目,还有该看的书.... 目录 🍌单元测试…...

GitHub基本使用

GitHub搜索 直接搜索 直接搜索关键字 明确搜索仓库标题 语法:in:name [关键词]展示:比如我们想在GitHub仓库中标题中搜索带有SpringBoot关键词的,我们可以样搜: in:name SpringBoot 明确搜索描述 语法:in:description [关键词]展…...

微信小程序生成带参数的二维码base64转png显示

getQRCode() {var that this;wx.request({url: http://localhost:8080/getQRCode?ID 13,header: {content-type: application/json},method: POST,responseType: arraybuffer,//将原本按文本解析修改为arraybuffersuccess(res) {that.setData({getQRCode: wx.arrayBufferToB…...

量子计算机:下一代计算技术的奇点

介绍 量子计算机是一种基于量子力学原理的全新计算技术,它利用量子比特的特性进行计算,具有破解当前经典计算机难以解决问题的潜力。在过去几十年里,量子计算机一直是计算机科学领域的一个热门话题。本篇博客将深入探讨量子计算机的基本原理…...

【ChatGPT】ChatGPT是如何训练得到的?

前言 ChatGPT是一种基于语言模型的聊天机器人,它使用了GPT(Generative Pre-trained Transformer)的深度学习架构来生成与用户的对话。GPT是一种使用Transformer编码器和解码器的预训练模型,它已被广泛用于生成自然语言文本的各种…...

Docker设置代理、Linux系统设置代理

使用方式 新建或修改~/.docker/config.json文件,设置可用的代理地址。 {"proxies": {"default": {"httpProxy": "http://192.168.0.32:1080","httpsProxy": "http://192.168.0.32:1080","noPro…...

C# 进程

C# 进程 进程的命名空间是&#xff1a; using System.Diagnostics;1.获取当前计算机正在运行所有的进程 Process[] processes Process.GetProcesses(); for (int i 0; i < processes.Length; i) {Console.WriteLine(processes[i]); } Console.ReadKey();2.通过进程打开…...

SQL注入之sqlmap

SQL注入之sqlmap 6.1 SQL注入之sqlmap安装 sqlmap简介&#xff1a; sqlmap是一个自动化的SQL注入工具&#xff0c;其主要功能是扫描&#xff0c;发现并利用给定的URL的SQL注入漏洞&#xff0c;目前支持的数据库是MS-SQL,MYSQL,ORACLE和POSTGRESQL。SQLMAP采用四种独特的SQL注…...

Flutter 命名路由

我们可以通过创建一个新的Route&#xff0c;使用Navigator来导航到一个新的页面&#xff0c;但是如果在应用中很多地方都需要导航到同一个页面&#xff08;比如在开发中&#xff0c;首页、推荐、分类页都可能会跳到详情页&#xff09;&#xff0c;那么就会存在很多重复的代码。…...

Stephen Wolfram:神经网络

Neural Nets 神经网络 OK, so how do our typical models for tasks like image recognition actually work? The most popular—and successful—current approach uses neural nets. Invented—in a form remarkably close to their use today—in the 1940s, neural nets …...

RBF神经网络原理和matlab实现

1.案例背景 1.1 RBF神经网络概述 径向基函数(Radical Basis Function,RBF)是多维空间插值的传统技术,由Powell于1985年提出。1988年, Broomhead和 Lowe根据生物神经元具有局部响应这一特点,将 RBF引入神经网络设计中,产生了RBF神经网络。1989 年&#xff0c;Jackson论证了…...

Nacos 抽取公共配置

文章目录 创建一个公共配置文件其他配置文件引用springboot配置文件 创建一个公共配置文件 其他配置文件引用 ${变量} springboot配置文件 spring:cloud:nacos:discovery:server-addr: current.ip:8848namespace: word_register_proconfig:server-addr: current.ip:8848auto-r…...

Promise、Async/Await 详解

一、什么是Promise Promise是抽象异步处理对象以及对其进行各种操作的组件。Promise本身是同步的立即执行函数解决异步回调的问题&#xff0c; 当调用 resolve 或 reject 回调函数进行处理的时候, 是异步操作&#xff0c; 会先执行.then/catch等&#xff0c;当主栈完成后&#…...

PoseiSwap:基于 Nautilus Chain ,构建全新价值体系

在 DeFi Summer 后&#xff0c;以太坊自身的弊端不断凸显&#xff0c;而以 Layer2 的方式为其扩容成为了行业很长一段时间的叙事方向之一。虽然以太坊已经顺利的从 PoW 的 1.0 迈向了 PoS 的 2.0 时代&#xff0c;但以太坊创始人 Vitalik Buterin 表示&#xff0c; Layer2 未来…...

uC-OS2 V2.93 STM32L476 移植:串口打印篇

前言 前几篇已经 通过 STM32CubeMX 搭建了 NUCLEO-L476RG 的 STM32L476RG 的 裸机工程&#xff0c;下载了 uC-OS2 V2.93 的源码&#xff0c;并把 uC-OS2 的源文件加入 Keil MDK5 工程&#xff0c;通过适配 Systick 系统定时器与 PendSV 实现任务调度&#xff0c;初步让 uC-OS2 …...

代码随想录算法训练营第四十六天| 139.单词拆分 背包问题总结

代码随想录算法训练营第四十六天| 139.单词拆分 背包问题总结 一、力扣139.单词拆分 题目链接&#xff1a; 思路&#xff1a;确定dp数组&#xff0c;dp[i]为true表示从0到i切分的字串都在字典中出现过。 确定递推公式&#xff0c;dp[i] 为true要求 s[j, i] 在字典中出现&…...

【机器学习】西瓜书习题3.3Python编程实现对数几率回归

参考代码 结合自己的理解&#xff0c;添加注释。 代码 导入相关的库 import numpy as np import pandas as pd import matplotlib from matplotlib import pyplot as plt from sklearn import linear_model导入数据&#xff0c;进行数据处理和特征工程 # 1.数据处理&#x…...

测试微信模版消息推送

进入“开发接口管理”--“公众平台测试账号”&#xff0c;无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息&#xff1a; 关注测试号&#xff1a;扫二维码关注测试号。 发送模版消息&#xff1a; import requests da…...

基于FPGA的PID算法学习———实现PID比例控制算法

基于FPGA的PID算法学习 前言一、PID算法分析二、PID仿真分析1. PID代码2.PI代码3.P代码4.顶层5.测试文件6.仿真波形 总结 前言 学习内容&#xff1a;参考网站&#xff1a; PID算法控制 PID即&#xff1a;Proportional&#xff08;比例&#xff09;、Integral&#xff08;积分&…...

linux arm系统烧录

1、打开瑞芯微程序 2、按住linux arm 的 recover按键 插入电源 3、当瑞芯微检测到有设备 4、松开recover按键 5、选择升级固件 6、点击固件选择本地刷机的linux arm 镜像 7、点击升级 &#xff08;忘了有没有这步了 估计有&#xff09; 刷机程序 和 镜像 就不提供了。要刷的时…...

OPENCV形态学基础之二腐蚀

一.腐蚀的原理 (图1) 数学表达式&#xff1a;dst(x,y) erode(src(x,y)) min(x,y)src(xx,yy) 腐蚀也是图像形态学的基本功能之一&#xff0c;腐蚀跟膨胀属于反向操作&#xff0c;膨胀是把图像图像变大&#xff0c;而腐蚀就是把图像变小。腐蚀后的图像变小变暗淡。 腐蚀…...

springboot整合VUE之在线教育管理系统简介

可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生&#xff0c;小白用户&#xff0c;想学习知识的 有点基础&#xff0c;想要通过项…...

免费PDF转图片工具

免费PDF转图片工具 一款简单易用的PDF转图片工具&#xff0c;可以将PDF文件快速转换为高质量PNG图片。无需安装复杂的软件&#xff0c;也不需要在线上传文件&#xff0c;保护您的隐私。 工具截图 主要特点 &#x1f680; 快速转换&#xff1a;本地转换&#xff0c;无需等待上…...

向量几何的二元性:叉乘模长与内积投影的深层联系

在数学与物理的空间世界中&#xff0c;向量运算构成了理解几何结构的基石。叉乘&#xff08;外积&#xff09;与点积&#xff08;内积&#xff09;作为向量代数的两大支柱&#xff0c;表面上呈现出截然不同的几何意义与代数形式&#xff0c;却在深层次上揭示了向量间相互作用的…...

CppCon 2015 学习:REFLECTION TECHNIQUES IN C++

关于 Reflection&#xff08;反射&#xff09; 这个概念&#xff0c;总结一下&#xff1a; Reflection&#xff08;反射&#xff09;是什么&#xff1f; 反射是对类型的自我检查能力&#xff08;Introspection&#xff09; 可以查看类的成员变量、成员函数等信息。反射允许枚…...

轻量安全的密码管理工具Vaultwarden

一、Vaultwarden概述 Vaultwarden主要作用是提供一个自托管的密码管理器服务。它是Bitwarden密码管理器的第三方轻量版&#xff0c;由国外开发者在Bitwarden的基础上&#xff0c;采用Rust语言重写而成。 &#xff08;一&#xff09;Vaultwarden镜像的作用及特点 轻量级与高性…...

项目研究:使用 LangGraph 构建智能客服代理

概述 本教程展示了如何使用 LangGraph 构建一个智能客服代理。LangGraph 是一个强大的工具&#xff0c;可用于构建复杂的语言模型工作流。该代理可以自动分类用户问题、分析情绪&#xff0c;并根据需要生成回应或升级处理。 背景动机 在当今节奏飞快的商业环境中&#xff0c…...