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

RHCSA --- Linux用户/组权限

用户管理

useradd    创建用户
    -u(UID)    指定UID
    -g(GID)    指定基本组
    -G(GID1,GID2,...)    指定附加组
    -c    “注释信息”    指定用户注释信息(昵称)
    -d    /path/to/dir/    指定某个目录为用户家目录(/jiamulu/test)
    -s    /shell        指定用户使用的shell
        useradd -u 12345 -g redhat -G zhangsan -c "suibianxie" -d /jiamulu/test -s /sbin/nologin(不可登录) test
            /bin/bash    (可登录)
usermod(修改)
    tail -1 /etc/passwd(查看用户数据库最后一行)
    usermod -l test01 test    修改登录名
        修改UID和GID为0的用户一定是root用户
            vim etc/passwd
            /sbin/nologin ---> /bin/bash

    相关文件
        /etc/skel
            用户家目录中的默认隐藏配置文件
        /etc/login.defs
            用户的相关默认属性
            
    
passwd    修改用户密码
    --stdin
        echo "redhat" | passwd --stdin USERNAME(脚本)

/etc/default/useradd    设置新用户的默认值

userdel
    userdel USERNAME    删除用户(保留用户的家目录和邮箱)
        /home/    和    /var/spool/mail/
    -r    删除用户时删除用户家目录和用户的邮箱
    
id    查看用户的ID信息,选项同useradd
    -u    显示UID
    -G    显示附加GID
    -g    显示GID

usermod    修改用户相关信息,选项同useradd
    -u    修改UID
    -g    修改基本组,基本组必须事先存在
    -G    这个选项会覆盖之前的附加组,和-a选项配合使用
        usermod -a -G 追加附加组
    -c    修改用户注释信息
    -s    修改用户shell
    -l    修改登陆名

chsh    -s    修改用户shell

grep    过滤

组管理

groupadd    添加一个组
    -g    GID
    -r    添加系统组

groupdel    删除一个组
groupmod    修改一个组
    -g    GID    
    -n    GRPNAME    修改组名
gpasswd    修改组密码
newgrp    切换到一个新组
    使用exit退出新组

history    查看命令历史   

grep    过滤指定文本在某些文件,支持正则,支持扩展正则   -E   egrep
    grep root /etc/passwd    查找passwd文件中是否有root   

chmod 777 /test(修改该目录权限)


权限管理

什么是权限?

单用户    单任务    

多用户    多任务    Linux

现代操作系统

权限

认证    密码、指纹、人脸、虹膜、声音   
授权    认证之后的用户所释放给你的资源   
审计    过程    结果   

3A认证框架   

认证    用户和组的管理  
授权    权限的控制  

审计   

文件
-    没有对应的权限
r    可以读取文件内容
w    可以编辑文件内容
x    可以执行文件    文件必须是可执行文件   
目录
-    没有对应权限
r    表示可以列出目录
w    表示可以在目录创建删除文件。。。
x    表示可以进入(cd)该目录   

第一组
rw-    表示的是该文件所属用户对该文件的权限
第二组
r--    表示的是该文件所属组的所有用户对该文件的权限 
第三组
r--    表示的是除了上面的那些人对该文件的权限

chmod(修改权限)    权限    filename/dirname
            文件名    目录名
        chmod u+x root
用    字母o    表示其他人
用    字母g      表示所属用户组的所有用户
用    字母u    表示所属用户
用    字母a      表示所有用户

用    +    表示赋予指定的权限   
用    -    表示取消指定的权限 
用     =    表示直接赋予指定权限(ugo)  
            chomd ugo = r

数字表示法(指定权限):

1    0   
有权限    无权限

---    000    0
--x    001    1
-w-    010    2
-wx    011    3
r--    100    4
r-x    101    5
rw-    110    6
rwx    111    7

777
rwxrwxrwx   
    chmod 777 root

r--    4
-w-    2
--x    1

633
rw--wx-wx

chmod    权限数字表示法(filename)


umask    查看权限掩码,文件默认权限为666,目录默认权限为777
    umask 权限掩码     更改权限掩码

rw-r--r--    644    为什么?
rwxr-xr-x    755    为什么?

0      022   
022(权限掩码)    表示的是在创建文件或者目录时从文件或者目录上拿走的权限

文件:
644
022    666    rw-r--r--    
请注意:文件默认不配置可执行权限    

目录:
755
022    777    rwxr-xr-x    目录所对应的权限   
x:目录x权限是用来定义能否进入该目录   

权限掩码    每个用户可以有自己设定的权限掩码    

如果要修改权限掩码    umask 权限掩码    直接修改
请注意:修改的是当前用户   

全局权限可以修改,但是没必要。
全局配置文件    局部配置文件    

rw--w--w-    622    044    666 

rw-r--r--    644    033相当于022    1    0    3    2    5    4
请注意:文件权限掩码中,x权限没有意义   


chown    改变文件或者目录的所属用户和所属组
        chown USERNAME:GROUPNAME FILENAME -R(递归:更改目录及目录里所有文件)
        chown redhat:redhat haha

    chown root. haha        修改用户及所属组为root
    chown .redhat haha        修改文件所属组为root
    chown redhat.root haha    修改为redhat用户和root组

chgrp    修改文件或目录的所属组
    chgrp test /test   


安全上下文
    ps -ef    列出该用户的所用进程
    ps -ef | grep passwd
    chmod u-s /usr/bin/passwd
    secure context
    源进程所拥有权限为发起者所拥有的,追加s权限后,进程所拥有的权限为程序拥有者所所拥有的权限

特殊权限

SUID:    运行程序时,进程的属主是程序文件自身的权限,而不是进程发起者
        chmod u[+|-]s FILENAME    如果文件原来有执行权限就显示为s,反之显示S

SGID:    运行程序时,进程给的所属组是程序文件自身的数组,而不是进程发起者的基本组
    为目录属性,给文件定义没有意义。 
        charp test /test    修改所属组
        chmod g[+|-]s DIRNAME

Sticky:    在一个公共目录,每个用户都可以创建文件,删除自己的文件,但不能删除别人的文件    对目录有效
        chmod o[+|-]t DIRNAME
        
扩展权限    
    setfacl        Filesystem Access Control list

        -m    设定
            u:    用户
            g:    组
            setfacl -m u:UID:perm   filename   
            
        -x    取消
            u:    用户
            g:    组    

                setfacl -x u:test rootpassword

                setfacl -b rootpassword

    getfacl  filename   

隐藏属性
    chattr

        +   表示设置该属性 
        -   表示取消该属性

        a
        i     

    lsattr


shell特性:
        1、命令行编辑
            Ctrl+a    跳到命令行行首
            Ctrl+e    跳到命令行行尾
            Ctrl+d    向后删除,类似delete
            Ctrl+u    删除光标至行首的内容
            Ctrl+k    删除光标至行尾的内容
            Ctrl+左右箭头,    在模拟终端中支持按单词跳转    
            Ctrl+l    清屏,等同于clear
            Ctrl+c  取消执行当前命令
            
        2、命令历史
            history        命令历史管理
                    命令历史文件为~/.bash_history
                    命令历史大小由环境变量HISTSIZE来指定,默认为1000
                    变量配置文件为/etc/profile
                -c    清空整个命令历史
                -d    删除指定命令历史
                -w    将缓冲区中的命令历史保存到命令历史文件
                
            使用技巧
                !n    执行命令历史中第n条命令
                !-n    执行命令历史中倒数第n个命令
                !!    执行上一条命令
                !KEY    执行最近一次以指定KEY开头的命令
                !$    引用上一个命令中最后一个参数
                ESC+.    同上,多次按还可以切换
                ALT+.    同上,在远程终端无效?
                
        3、自动补全
            命令补全
                在PATH环境变量下搜索补全要输入的命令
            路径补全
                在输入的字符开始的路径下补全
            选项补全
                在输入命令之后,可以自动补全选项

        什么是变量?
            内存使用空间的名称  命名的内存空间 

相关文章:

RHCSA --- Linux用户/组权限

用户管理 useradd 创建用户 -u(UID) 指定UID -g(GID) 指定基本组 -G(GID1,GID2,...) 指定附加组 -c “注释信息” 指定用户注释信息(昵称) -d /path…...

怎么做到高性能网络IO?

为什么要做高性能网络IO。主要是解决c10,c10M问题 最开始的时候我们走的内核协议栈,走内核协议栈其实性能比较低,因为我们之前介绍的时候需要拷贝两次 但是我们采用用户态协议栈可以少拷贝一次,可以大大提高效率, 步骤…...

设计模式-创建型

文章目录 设计模式-创建型工厂模式简单工厂工厂方法抽象工厂 建造者模式单例模式原型模式 设计模式-创建型 本章主要介绍有关对象创建的几种设计模式。 工厂模式 工厂模式:封装了对象的创建,使得获得对象更加符合实际逻辑 简单工厂 将所有对象的生产…...

Word通过Adobe打印PDF时总是报错,打开记事本

Word文档打印,选择Adobe作为打印机,打印过程中总是报错,不断打开记事本,提示打印出错,错误信息如下: %%[ ProductName: Distiller ]%% %%[Page: 1]%% %%[Page: 2]%% %%[ Error: invalidfont; OffendingCom…...

第2关:还原键盘输入(list)

题目&#xff1a; 知识点&#xff1a; 列表list相较于数组&#xff1a; 优势&#xff1a;可在任意指定位置插入或者删除元素而不影响列表其他地方 。 劣势&#xff1a;无法直接进行下标索引&#xff0c;需要迭代器it逐个遍历。 代码&#xff1a; #include <iostream>…...

数据结构 | 栈的实现

数据结构 | 栈的实现 文章目录 数据结构 | 栈的实现栈的概念及结构栈的实现 Stack.h初始化栈入栈出栈获取栈顶元素获取栈中有效元素个数检测栈是否为空销毁栈 Stack.c 栈的概念及结构 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。…...

python异常、模块与包

1.异常 异常&#xff1a;当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”&#xff0c;也就是我们常说的BUG。 1.1捕获异常 基本语法&#xff1a; try:可能发生错误代码 except:如果出现…...

虚拟内存和物理内存

虚拟内存的概念 虚拟内存是计算机系统内存管理的一种技术&#xff0c;它使得应用程序认为它拥有连续可用的内存&#xff08;一个连续完整的地址空间&#xff09;&#xff0c;而实际上&#xff0c;它通常是被分隔成多个物理内存碎片&#xff0c;还有部分暂时存储在外部磁盘存储…...

FCA例题

Part.1&#xff1a;判断题 第1题 智能运维-负载管理中&#xff0c;实时负载通过使用图表直观的展示当前系统的最多最近半小时内存利用率和CPU利用率(正确) 第2题 服务器安装插件支持热部署&#xff0c;安装、删除、更新、禁用、启用不需要重启(正确) 第3题 次级管理员可新建…...

mysql使用GROUP BY归组后把所有记录id汇总到一个字段中

可以使用MySQL的GROUP_CONCAT函数来实现将归组后的记录的ID汇总到一个字段中。假设有一个名为table1的表&#xff0c;其中包含id和name两个字段&#xff0c;可以使用以下查询&#xff1a; SELECT name, GROUP_CONCAT(id) AS ids FROM table1 GROUP BY name;这将返回一个结果集…...

Vue3 使用Element Plus表格单选带checkbox

官方地址&#xff1a;添加链接描述 官方给出的多选带checkbox&#xff0c;单选直接选中当前行高亮&#xff0c;有时候不想要单行高亮&#xff0c;想要带checkbox的单选&#xff0c;需要对多选进行改造 官方给的多选例子&#xff1a; <template><el-tableref"mult…...

IOC - 自定义IOC容器

1、定义接口与实现类 // Service接口 public interface Service {void execute(); } // Service的实现类 public class MyService implements Service {Overridepublic void execute() {System.out.println("MyService 执行了.");} }2、自定义ioc容器以绑定接口与实…...

力扣第647题 回文子串 c++ 动态规划 双指针 附Java代码 注释解释版

题目 647. 回文子串 中等 相关标签 字符串 动态规划 给你一个字符串 s &#xff0c;请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串…...

【Go入门】struct类型

【Go入门】struct类型 struct Go语言中&#xff0c;也和C或者其他语言一样&#xff0c;我们可以声明新的类型&#xff0c;作为其它类型的属性或字段的容器。例如&#xff0c;我们可以创建一个自定义类型person代表一个人的实体。这个实体拥有属性&#xff1a;姓名和年龄。这样…...

怎么改变容易紧张的性格?

容易紧张的性格是比较通俗的说法&#xff0c;在艾森克人格测试中&#xff0c;容易紧张的性格就属于神经症人格&#xff0c;神经质不是神-经-病&#xff0c;而是一种人格特征&#xff0c;这种特征包括&#xff1a;敏感&#xff0c;情绪不稳定&#xff0c;易焦虑和紧张。有兴趣的…...

合作共赢 共克时艰

​ 采访人&#xff1a;最近财政部11月6日通报隐性债务问责典型案例&#xff0c;这中间涉及湖北多所重要地市&#xff0c;形成新增隐性债务200多亿&#xff0c;您怎么看这件事&#xff1f; 辜渝傧&#xff1a;是的&#xff0c;无论是数字还是涉及的范围都可以明显感觉到“防范…...

VCSA7许可证过期问题

公司两台ESXI7虚拟化系统&#xff0c;使用VCSA7进行日常管理&#xff0c;在使用过程中一直清单中包含过期或即将过期的许可证。 查看许可证清单中&#xff0c;已经添加了正式授权的许可证&#xff0c;且已经分配给了ESXI主机&#xff0c;但是任然有到期提示。 最后查看试用许可…...

解决win11更新后,文件夹打不开的bug

更新win11系统了&#xff0c;给我更了个bug&#xff0c;找了好多解决方案&#xff0c;发现下面这个可以解决问题。 第一步 找到注册表 第二步 备份注册表 为了防止意外情况&#xff0c;备份注册表。如有意外问题&#xff0c;可以导入导出的注册表进行恢复。 第三步 删除指定…...

修复了数个Bug!

v2.0.1版本已经在 github release 了&#xff0c;欢迎大家体验使用&#xff0c;开源版是永久免费的。 ## 新增与优化的功能 新增(测试报告): 测试报告根据测试执行详情&#xff0c;进行查看 新增(用户设置): 用户权限为普通用户和管理员&#xff0c;普通用户根据设置的默认产品…...

设计模式之--原型模式(深浅拷贝)

原型模式 缘起 某天&#xff0c;小明的Leader找到小明:“小明啊&#xff0c;如果有个发简历的需求&#xff0c;就是有个简历的模板&#xff0c;然后打印很多份&#xff0c;要去一份一份展示出来&#xff0c;用编程怎么实现呢&#xff1f;” 小明一听&#xff0c;脑袋里就有了…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

【Go】3、Go语言进阶与依赖管理

前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课&#xff0c;做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程&#xff0c;它的核心机制是 Goroutine 协程、Channel 通道&#xff0c;并基于CSP&#xff08;Communicating Sequential Processes&#xff0…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

论文笔记——相干体技术在裂缝预测中的应用研究

目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术&#xff1a;基于互相关的相干体技术&#xff08;Correlation&#xff09;第二代相干体技术&#xff1a;基于相似的相干体技术&#xff08;Semblance&#xff09;基于多道相似的相干体…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

JVM虚拟机:内存结构、垃圾回收、性能优化

1、JVM虚拟机的简介 Java 虚拟机(Java Virtual Machine 简称:JVM)是运行所有 Java 程序的抽象计算机,是 Java 语言的运行环境,实现了 Java 程序的跨平台特性。JVM 屏蔽了与具体操作系统平台相关的信息,使得 Java 程序只需生成在 JVM 上运行的目标代码(字节码),就可以…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

【Nginx】使用 Nginx+Lua 实现基于 IP 的访问频率限制

使用 NginxLua 实现基于 IP 的访问频率限制 在高并发场景下&#xff0c;限制某个 IP 的访问频率是非常重要的&#xff0c;可以有效防止恶意攻击或错误配置导致的服务宕机。以下是一个详细的实现方案&#xff0c;使用 Nginx 和 Lua 脚本结合 Redis 来实现基于 IP 的访问频率限制…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...