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)
题目: 知识点: 列表list相较于数组: 优势:可在任意指定位置插入或者删除元素而不影响列表其他地方 。 劣势:无法直接进行下标索引,需要迭代器it逐个遍历。 代码: #include <iostream>…...
数据结构 | 栈的实现
数据结构 | 栈的实现 文章目录 数据结构 | 栈的实现栈的概念及结构栈的实现 Stack.h初始化栈入栈出栈获取栈顶元素获取栈中有效元素个数检测栈是否为空销毁栈 Stack.c 栈的概念及结构 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。…...
python异常、模块与包
1.异常 异常:当检测到一个错误时,Python解释器就无法继续执行了,反而出现了一些错误的提示,这就是所谓的“异常”,也就是我们常说的BUG。 1.1捕获异常 基本语法: try:可能发生错误代码 except:如果出现…...
虚拟内存和物理内存
虚拟内存的概念 虚拟内存是计算机系统内存管理的一种技术,它使得应用程序认为它拥有连续可用的内存(一个连续完整的地址空间),而实际上,它通常是被分隔成多个物理内存碎片,还有部分暂时存储在外部磁盘存储…...
FCA例题
Part.1:判断题 第1题 智能运维-负载管理中,实时负载通过使用图表直观的展示当前系统的最多最近半小时内存利用率和CPU利用率(正确) 第2题 服务器安装插件支持热部署,安装、删除、更新、禁用、启用不需要重启(正确) 第3题 次级管理员可新建…...
mysql使用GROUP BY归组后把所有记录id汇总到一个字段中
可以使用MySQL的GROUP_CONCAT函数来实现将归组后的记录的ID汇总到一个字段中。假设有一个名为table1的表,其中包含id和name两个字段,可以使用以下查询: SELECT name, GROUP_CONCAT(id) AS ids FROM table1 GROUP BY name;这将返回一个结果集…...
Vue3 使用Element Plus表格单选带checkbox
官方地址:添加链接描述 官方给出的多选带checkbox,单选直接选中当前行高亮,有时候不想要单行高亮,想要带checkbox的单选,需要对多选进行改造 官方给的多选例子: <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 ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串…...
【Go入门】struct类型
【Go入门】struct类型 struct Go语言中,也和C或者其他语言一样,我们可以声明新的类型,作为其它类型的属性或字段的容器。例如,我们可以创建一个自定义类型person代表一个人的实体。这个实体拥有属性:姓名和年龄。这样…...
怎么改变容易紧张的性格?
容易紧张的性格是比较通俗的说法,在艾森克人格测试中,容易紧张的性格就属于神经症人格,神经质不是神-经-病,而是一种人格特征,这种特征包括:敏感,情绪不稳定,易焦虑和紧张。有兴趣的…...
合作共赢 共克时艰
采访人:最近财政部11月6日通报隐性债务问责典型案例,这中间涉及湖北多所重要地市,形成新增隐性债务200多亿,您怎么看这件事? 辜渝傧:是的,无论是数字还是涉及的范围都可以明显感觉到“防范…...
VCSA7许可证过期问题
公司两台ESXI7虚拟化系统,使用VCSA7进行日常管理,在使用过程中一直清单中包含过期或即将过期的许可证。 查看许可证清单中,已经添加了正式授权的许可证,且已经分配给了ESXI主机,但是任然有到期提示。 最后查看试用许可…...
解决win11更新后,文件夹打不开的bug
更新win11系统了,给我更了个bug,找了好多解决方案,发现下面这个可以解决问题。 第一步 找到注册表 第二步 备份注册表 为了防止意外情况,备份注册表。如有意外问题,可以导入导出的注册表进行恢复。 第三步 删除指定…...
修复了数个Bug!
v2.0.1版本已经在 github release 了,欢迎大家体验使用,开源版是永久免费的。 ## 新增与优化的功能 新增(测试报告): 测试报告根据测试执行详情,进行查看 新增(用户设置): 用户权限为普通用户和管理员,普通用户根据设置的默认产品…...
设计模式之--原型模式(深浅拷贝)
原型模式 缘起 某天,小明的Leader找到小明:“小明啊,如果有个发简历的需求,就是有个简历的模板,然后打印很多份,要去一份一份展示出来,用编程怎么实现呢?” 小明一听,脑袋里就有了…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...
Mybatis逆向工程,动态创建实体类、条件扩展类、Mapper接口、Mapper.xml映射文件
今天呢,博主的学习进度也是步入了Java Mybatis 框架,目前正在逐步杨帆旗航。 那么接下来就给大家出一期有关 Mybatis 逆向工程的教学,希望能对大家有所帮助,也特别欢迎大家指点不足之处,小生很乐意接受正确的建议&…...
ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放
简介 前面两期文章我们介绍了I2S的读取和写入,一个是通过INMP441麦克风模块采集音频,一个是通过PCM5102A模块播放音频,那如果我们将两者结合起来,将麦克风采集到的音频通过PCM5102A播放,是不是就可以做一个扩音器了呢…...
Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!
一、引言 在数据驱动的背景下,知识图谱凭借其高效的信息组织能力,正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合,探讨知识图谱开发的实现细节,帮助读者掌握该技术栈在实际项目中的落地方法。 …...
python执行测试用例,allure报乱码且未成功生成报告
allure执行测试用例时显示乱码:‘allure’ �����ڲ����ⲿ���Ҳ���ǿ�&am…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
push [特殊字符] present
push 🆚 present 前言present和dismiss特点代码演示 push和pop特点代码演示 前言 在 iOS 开发中,push 和 present 是两种不同的视图控制器切换方式,它们有着显著的区别。 present和dismiss 特点 在当前控制器上方新建视图层级需要手动调用…...
C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
C语言中提供的第三方库之哈希表实现
一. 简介 前面一篇文章简单学习了C语言中第三方库(uthash库)提供对哈希表的操作,文章如下: C语言中提供的第三方库uthash常用接口-CSDN博客 本文简单学习一下第三方库 uthash库对哈希表的操作。 二. uthash库哈希表操作示例 u…...
