当前位置: 首页 > 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…...

19c补丁后oracle属主变化,导致不能识别磁盘组

补丁后服务器重启&#xff0c;数据库再次无法启动 ORA01017: invalid username/password; logon denied Oracle 19c 在打上 19.23 或以上补丁版本后&#xff0c;存在与用户组权限相关的问题。具体表现为&#xff0c;Oracle 实例的运行用户&#xff08;oracle&#xff09;和集…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

ServerTrust 并非唯一

NSURLAuthenticationMethodServerTrust 只是 authenticationMethod 的冰山一角 要理解 NSURLAuthenticationMethodServerTrust, 首先要明白它只是 authenticationMethod 的选项之一, 并非唯一 1 先厘清概念 点说明authenticationMethodURLAuthenticationChallenge.protectionS…...

TRS收益互换:跨境资本流动的金融创新工具与系统化解决方案

一、TRS收益互换的本质与业务逻辑 &#xff08;一&#xff09;概念解析 TRS&#xff08;Total Return Swap&#xff09;收益互换是一种金融衍生工具&#xff0c;指交易双方约定在未来一定期限内&#xff0c;基于特定资产或指数的表现进行现金流交换的协议。其核心特征包括&am…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

蓝桥杯3498 01串的熵

问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798&#xff0c; 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

让回归模型不再被异常值“带跑偏“,MSE和Cauchy损失函数在噪声数据环境下的实战对比

在机器学习的回归分析中&#xff0c;损失函数的选择对模型性能具有决定性影响。均方误差&#xff08;MSE&#xff09;作为经典的损失函数&#xff0c;在处理干净数据时表现优异&#xff0c;但在面对包含异常值的噪声数据时&#xff0c;其对大误差的二次惩罚机制往往导致模型参数…...