目录

1. root超级用户和普通用户

2. 创建普通用户、密码设置、切换用户

3. sudo短暂提权(给普通用户添加sudo权限)

4. 权限

4.1 是什么

4.2 为什么有权限?(权限 = 角色 + 目标属性)

4.2.1 角色

4.2.2 目标属性

4.3 修改目标属性chmod

4.3.1 相关指令

4.3.2 文件权限相关问题(重点)

4.3.3 目录权限相关问题(重点)

4.3.4 缺省权限(权限掩码)(重点)

4.3.5 文件的删除权限 & 粘滞位(重点)

4.4 修改角色chown\chgrp

4.4.1 相关指令


1. root超级用户和普通用户

        Linux下有两种用户:超级用户(root)、普通用户

                • 超级用户:可以再linux系统下做任何事情,不受限制

                • 普通用户:在linux下做有限的事情。

        • 超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。

2. 创建普通用户、密码设置、切换用户

语法:adduser [用户名]
功能:新创建一个普通用户
语法:passwd [用户名]
功能:给用户重设密码,root下可以直接给普通用户重置密码。普通用户使用需要加sudo
语法:su
功能:切换用户

        例如,要从root用户切换到普通用户user,则使用 su user。

        要从普通用户user切换到root用户则使用 su root(root可以省略),此时系统会提示输入root用户的密码。

# 普通用户切换超级用户
su    # 不重新登陆,不做路径变化
su -  # 重新登陆,路径变回/root# 超级->普通
su    # 用户名,不需要输入密码,

        注意:Linux多用户之间相互隔离:任何用户,无法进入其他用户的家目录。

3. sudo短暂提权(给普通用户添加sudo权限)

        sudo:是用来进行指定的短暂提权的。

        比如:安装软件到系统中,需要管理员root权限。(软件其实只安装了一份,允许大家同时使用)

        举例:whoami ->普通用户 -> sudo ls ->报错

给普通用户添加sudo权限

        1. 切换root用户,打开/etc/sudoers文件

vim /etc/sudoers

        2. 在100行有以下代码

root    ALL=(ALL)       ALL

        3. 拷贝上述代码并修改用户名为需要添加sudo权限的用户。

root    ALL=(ALL)       ALL
gyy     ALL=(ALL)       ALL
# 我的普通用户名为gyy

        4. 进入vim的命令模式,使用wq!强制保存退出。

4. 权限

4.1 是什么

        权限的本质是:能或者不能做什么事情。

4.2 为什么有权限?(权限 = 角色 + 目标属性)

        1. 控制用户的行为,防止错误的发生

        2. 理解:权限 = 角色 + 目标属性

                权限首先限制的是角色(人)

                权限要求目标必须具备对应的属性

(Linux下一切皆文件,面对的都是文件的:读、写、执行)

4.2.1 角色

1. 角色是什么?

        角色有:拥有者(user)、所属组(group)、other。

        other不需要记录,除了拥有者、所属组之外的就是other。

2. 什么是所属组?

        更精细化的权限管理,首先要有更精细化的身份角色。所属组就是用来给角色分组的。

4.2.2 目标属性

1. 权限位

        拥有者、所属组、other每个有三个权限位,分别为rwx(可读、可写、可执行,权限位是“-”代表没有此权限)

        ◦ 读(r/-):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限

        ◦ 写(w/-):Write对文件而言,具有修改文件内容的权限;对目录来说具有删除移动目录内文件的权限

        ◦ 执行(x/-):execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限

        ◦ “-”表示不具有该项权限

        例:像下列test.txt文件拥有者的权限是:可读可写不可执行,所属组权限是:可读可写不可执行,other权限是:可读、不可写、不可执行。

4.3 修改目标属性chmod

4.3.1 相关指令

语法:chmod [参数] 权限 文件名
功能:修改文件属性,参数可以使用“,”表达式
常用选项:

R 递归修改目录文件的权限

说明:只有文件的拥有者和root才可以改变文件的权限。

修改权限的符号:
+向权限范围增加权限
-

向权限范围取消权限

=

向权限范围赋予权限

用户符号:
u拥有者
g所属组
o其他用户
a所有用户

实例:

# 给拥有者添加rw权限
chmod u+rw abc.txt# 给other取消x权限
chmod o-x abc.txt# 给所有角色权限设置为rwx
chmod a=rwx abc.txt

        以上是文件权限值得字符表示法,还有三位8进制表示法,将拥有者、所属组、other的三个权限位分别用"1"代表有权限,"0"代表没有权限。使用三位八进制表示权限值。

实例:

# 将test1.txt的权限设置为 110110110 即 rw-rw-rw-
chmod 666 test1.txt# 将test2.txt的权限设置为 111111111 即 rwxrwxrwx
chmod 777 test2.txt

4.3.2 文件权限相关问题(重点)

        1. 能修改任何人的文件权限吗?用户只能更改自己的文件权限。

        2. 没有权限会怎么办?系统会拒绝让我们访问(Permission denied)

        3. 确定权限信息的时候,系统会先确定用户是谁?拥有者、所属组,还是other?

                在Centos下,用户角色只确定一次,顺序是:拥有者,所属组,other

        4. root用户的权限?不受权限约束

                任何普通用户的文件,root都可以读写

                user和group都是root的用户,即使user和group的权限设置位"---",root用户也可以读写。

        5. 如何理解可执行?可执行只是允许文件执行

                可执行权限 != 文件可以执行。

4.3.3 目录权限相关问题(重点)

        默认情况下,新建的目录rwx权限都要有。

        6. 如果目录没有r权限,就无法查看目录里面的文件,ls报(Permission denied)

        7. 如果目录没有w权限,就无法再智能目录内部新建文件

        8. 如果目录没有x权限,就不能进入目录。

4.3.4 缺省权限(权限掩码)(重点)

        对于新建普通文件:起始权限666,默认不带可执行

        对于新建目录文件:起始文件777,默认携带x

1. 权限掩码umask:系统默认存在,用来让用户设置实际初始权限。

        1. umask目的:希望凡是在umask中出现的权限都不应该在最终权限中出现。

        2. 为什么要有umask?

                a. 默认权限,由OS自主决定,无法在船舰前进行修改 --- 系统可配置,可以灵活满足需要的一种表现。

                b. 特殊情况下,配置umask,可以控制文件的默认权限,让我们的代码都是可控的。

        最终权限 = 起始权限 & (~umask)

umask
# 0002    第一位不看,后三位分别对应9个位的权限值

2. 修改权限掩码

语法:umask [权限掩码]
功能:查看/修改权限掩码

实例:

# 设置权限掩码
umask 755# 查看权限掩码
umask

4.3.5 文件的删除权限 & 粘滞位(重点)

1. 一个文件是否能被删除,与文件本身无关,与文件所处的目录的w权限有关!

2. 协作问题,粘滞位

        如果两个用户之间要进行文件级别的协作,不能将共享目录放在私人账号里,则只能放在根目录下。共享文件,不想让非文件的拥有者删除对应的文件!使用粘滞位解决。

        粘滞位目的:在一个公共目录(如 /tmp)中,用户只能删除或重命名自己创建的文件或目录,而不能删除其他用户的文件,即使该目录对所有用户都有写权限(如 777)。

        粘滞位添加:(粘滞位是在other的x权限位置)

# 添加粘滞位
chmod +t [目录/文件名]# 删除粘滞位
chmod -t [目录/文件名]

        当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

                1. 超级管理员删除

                2. 该目录的所有者删除

                3. 该文件的所有者删除

4.4 修改角色chown\chgrp

        系统默认不允许我们把文件给别人,所以想要修改角色必须提高权限,使用sudo或者切换root用户。

4.4.1 相关指令

语法:chown [角色] 文件名
功能:修改文件拥有者角色,可以同时修改拥有者和所属组
常用选项:

-R 递归修改文件或目录的拥有者

语法:chgrp [角色] 文件名
功能:修改文件所属组角色
常用选项:

-R 递归修改文件或目录的所属组

# 修改test1.txt的拥有者为root
chown root test1.txt# 修改test2.txt的拥有者和所属组为user1
chown user1:user1 test2.txt# 修改test3.txt的所属组为user3
chgrp user3 test3.txt

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

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

相关文章

阿里云可观测 2025 年 8 月产品动态

本月可观测热文回顾 文章一览: 零代码改造!LoongSuite AI 采集套件观测实战 性能瓶颈定位更快更准:ARMS 持续剖析能力升级解析 不只是告警:用阿里云可观测 MCP 实现 AK 高效安全审计 金蝶云•星辰基于 SLS 构建稳定高效可观测…

绿虫零碳助手:通过电费推算用电量,确认光伏装机规模

在光伏项目开发前期,精准掌握用电需求与合理确定装机规模是关键环节。前者决定光伏系统需满足的用电基数,后者影响项目投资成本与发电收益匹配度。通过电费数据推算实际用电量,再结合专业工具计算光伏装机参数,可有效降低项目规划…

融智学:构建AI时代学术的新范式

融智学:构建AI时代学术新范式摘要:邹晓辉提出的融智学为现代学术体系困境提供系统性解决方案,通过"问题与价值驱动"的新范式取代传统"发表驱动"模式。该体系包含三大核心:哲学基础(唯文主义、信息…

【JavaEE初阶】-- JVM

文章目录1. JVM运行流程2. Java运行时数据区2.1 方法区(内存共享)2.2 堆(内存共享)2.3 Java虚拟机栈(线程私有)2.4 本地方法栈(线程私有)2.5 程序计数器(线程私有&#x…

第十四届蓝桥杯青少组C++选拔赛[2023.1.15]第二部分编程题(4 、移动石子)

参考程序1&#xff1a;#include <bits/stdc.h> using namespace std; int main() {int N;cin >> N;vector<int> stones(N);int sum 0;for (int i 0; i < N; i) {cin >> stones[i];sum stones[i];}int target sum / N; // 每个篮子的平均值int a…

Spring Boot 的注解是如何生效的

在 Spring 中&#xff0c;Configuration、ComponentScan、Bean、Import 等注解的扫描、解析和 BeanDefinition 注册是一个分层处理的过程。下面我们以 Configuration 类为例&#xff0c;结合代码流程详细说明其从扫描到注册的完整逻辑。 1. 整体流程概览 以下是核心步骤的流程图…

Django REST Framework响应类Response详解

概述 Response 类是一个智能的 HTTP 响应类&#xff0c;能够根据客户端请求的内容类型&#xff08;Content-Type&#xff09;自动将数据渲染成合适的格式&#xff08;JSON、XML、HTML等&#xff09;。 基本用法 from rest_framework.response import Response# 最简单的用法 de…

# 小程序 Web 登录流程完整解析

登录流程完整小白解析&#xff08;小程序 & Web&#xff09; 在开发中&#xff0c;登录是每个系统最基础的功能。为了让小白也能理解&#xff0c;我们用通俗类比和流程讲解 小程序登录、Web 登录、Token 刷新、安全存储等整个过程。1️⃣ 小程序登录流程&#xff08;小白理…

安装vcenter6.7 第二阶段安装很慢 或卡在50%

DNS、FQDN配置的问题采用VCSA安装vCenter时&#xff0c;第一步安装还算顺利&#xff0c;第二步就会安装失败&#xff0c;而且还特别慢&#xff0c;这是因为部署时需要DNS服务器&#xff0c;下面就是不采用DNS服务器的部署方案。第一步&#xff1a;正常安装&#xff0c;DNS就写本…

第十六届蓝桥杯软件赛 C 组省赛 C++ 题解

大家好&#xff0c;今天是 2025 年 9 月 11 日&#xff0c;我来给大家写一篇关于第十六届蓝桥杯软件赛 C 组省赛的C 题解&#xff0c;希望对大家有所帮助&#xff01;&#xff01;&#xff01; 创作不易&#xff0c;别忘了一键三连 题目一&#xff1a;数位倍数 题目链接&…

项目帮助文档的实现

项目帮助文档的实现 代码如下&#xff1a; #ifndef __M_HELPER_H__ #define __M_HELPER_H__ #include <iostream> #include <fstream> #include <string> #include <vector> #include <sqlite3.h> #include <random> #include <sstream…

python逆向-逆向pyinstaller打包的exe程序反编译获取源代码

python逆向-逆向pyinstaller打包的exe程序反编译获取源代码 Pyinstaller pyinstaller 是一个用于将 Python 程序打包成独立可执行文件的工具&#xff0c;能够在没有 Python 解释器的情况下运行。 Python 脚本转换为 Windows、macOS 和 Linux 操作系统上的可执行文件。 把Python…

【SQL】-- sql having 和 where 的 区别

HAVING 和 WHERE 都是用来筛选数据的&#xff0c;但它们的应用场景有所不同。WHERE&#xff1a;用于筛选行数据&#xff0c;通常在 FROM 子句之后执行。它在分组操作 (GROUP BY) 之前应用&#xff0c;用来筛选出符合条件的记录。示例&#xff1a;SELECT name, age FROM employe…

MySQL,SQL Server,PostgreSQL三种数据库各自的优缺点,分别适用哪些场景

MySQL的优缺点及适用场景优点开源免费&#xff0c;社区版可商用&#xff0c;成本低。轻量级&#xff0c;安装配置简单&#xff0c;适合中小型项目。读写性能优异&#xff0c;尤其在OLTP&#xff08;在线事务处理&#xff09;场景下表现突出。支持主从复制、分片等扩展方案&…

Java 类加载机制双亲委派与自定义类加载器

我们来深入解析 Java 类加载机制。这是理解 Java 应用如何运行、如何实现插件化、以及解决一些依赖冲突问题的关键。一、核心概念&#xff1a;类加载过程一个类型&#xff08;包括类和接口&#xff09;从被加载到虚拟机内存开始&#xff0c;到卸载出内存为止&#xff0c;它的整…

Kaggle项目实践——Titanic: Machine Learning from Disaster

泰坦尼克号沉船事件是机器学习领域最经典的入门项目之一。Kaggle 上的 Titanic: Machine Learning from Disaster 竞赛&#xff0c;被无数人称为“机器学习的 Hello World”。 一、数据导入与清洗&#xff1a;让数据从 “杂乱” 变 “干净” 机器学习模型就像 “挑食的孩子”…

Qt C++ 复杂界面处理:巧用覆盖层突破复杂界面处理难题​之二

接上一篇&#xff0c;继续探索“覆盖层”的使用方法。 五、覆盖层进阶交互&#xff1a;从 “能绘制” 到 “好操作”​ 基础的绘制功能只能满足 “看得见” 的需求&#xff0c;实际开发中还需要 “能操作”—— 比如选中线条修改颜色、按 Delete 键删除线条、鼠标 hover 时高亮…

神经网络构成框架-理论学习

一、神经网络的基本组成与分类 1.1 神经网络的核心组成部分 神经网络是现代人工智能的基石&#xff0c;其设计灵感来源于生物神经系统的信息处理方式。作为工程师&#xff0c;了解神经网络的基本组成部分对于构建和优化模型至关重要。一个典型的神经网络主要由以下几个关键部分…

从0开始开发app(AI助手版)-架构及环境搭建

架构选择 前端React Native 后端Firebase 原因 环境准备 安装node 安装JDK 命令行工具&#xff1a;Node.js command prompt命令行查询Javav版本&#xff1a;javac -version使用nrm工具切换淘宝源&#xff1a;npx nrm use taobao安装yarn&#xff0c;替代npm下载工具&#x…

【性能测试】Jmeter工具快速上手-搭建压力测试脚本

&#x1f525;个人主页&#xff1a; 中草药 &#x1f525;专栏&#xff1a;【Java】登神长阶 史诗般的Java成神之路 概念 性能测试是软件测试的重要分支&#xff0c;核心目标是通过模拟真实业务场景和负载压力&#xff0c;评估系统在不同条件下的性能表现&#xff0c;发现系统性…