Linux账号和权限管理
目录
一、用户账号和组账号概述
1、用户账号类型
2、组账号
1.基本组(私有组)
2.附加组(公共组)
3、ID
1.UID
2.GID
4、用户和账号管理
1.文件位置
2.useradd-----创建用户
3.userdel——删除用户账号
4.usermod---修改用户账号的属性
5、建立用户组
1.groupadd----添加组
2.gpasswd-----添加添加、设置、删除组成员
3.groupdel-----删除组账号
4.查询账户信息
1.w--查询已登录到主机的用户信息
2.who
3.users
4.finger
二、 文件/目录的权限和归属
1、程序访问文件时的权限,取决于此程序的发起者
2、访问人群分为了三类
3、权限分为三种
1.对 文件的权限
2.对目录的权限
4、chmod--设置文件和目录的权限
5、chown--设置文件和目录的归属
6、umask---权限掩码
一、用户账号和组账号概述
1、用户账号类型
- 普通用户:权限受到限制的用户
- 超级管理员:拥有至高无上的权限
- 程序用户:不是给人使用的,是给程序使用的,不允许登录
查看当前用户登陆的信息,可以使用以下几种方式:
w
who
users
finger
系统如何区别用户的身份:
系统是根据uid号来区别的
范围:
Centos6:
超级管理员:uid=0
程序用户:1-499
普通用户 500+
Centos7:
超级管理员:默认uid=0
普通用户 :1000-60000 不指定 顺序给用户进行交互式登录使用
超级管理员:root, 0
程序用户:1-999
2、组账号
1.基本组(私有组)
- 建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组,这个组默认只容纳了一个用户。
- 在用户所属组中的第一个组称为基本组,基本组在 /etc/passwd 文件中指定。
- 等于主职位,有且唯一。
2.附加组(公共组)
- 除了第一个组外的其他组为附加组或公共组,附加组在 /etc/group 文件中指定。
- 等于兼职位,可有可无,可以有多个。
3、ID
1.UID
Linux 操作系统中的每一个用户账号都有一个数字形式的身份标记,称为UID号
root 用户账号的 UID 号为固定值 0,而程序用户账号的 UID号默认为1~499,500~60000 的 UID 号默认分配给普通用户使用。1-999 预留给系统,叫系统用户, 给人使用的账户是从1000开始。
2.GID
与 UID 类似,每一个组账号也有一个数字形式的身份标记,称为 GID,root 组账号的 GID 号为固定值 0,而程序组账号的 GID 号默认为 1~499,500~60000 的 GID 号默认分配给普通组使用。
4、用户和账号管理
1.文件位置
- /etc/passwd
存放保存用户名称、宿主目录、登录Shell等基本信息,一行对应一个账户

- /etc/shadow 存放保存密码,一行对应一个密码

2.useradd-----创建用户
- 基本格式
useradd [选项] 用户名
添加用户:查看是否在passwd和shadow文件中生成信息
选项:
| 选项 | 说明 |
|---|---|
| -u | 指定用户的 UID 号,要求该 UID 号码未被其他用户使用。 |
| -d | 指定用户的宿主目录位置(当与-M 一起使用时,不生效)。 |
| -e | 指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。 |
| -g | 指定用户的基本组名(或使用 GID 号)。 |
| -G | 指定用户的附加组名(或使用 GID 号)。 |
| -M | 不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。 |
| -s | 指定用户的登录 Shell /sbin/nologin。 |
例如给用户指定uid号

3.设置用户更改、锁定密码
| 选项 | 说明 |
|---|---|
| -d | 清空指定用户的密码,仅使用用户名即可登录系统 |
| -l | 锁定用户账户 |
| -S | 查看用户账户的状态(是否被锁定) |
| -u | 解锁用户账户 |
(1)设置密码 echo “123123” | passwd --stdin lisi

(2)锁定用户 passwd -l zhangsan

(3) 解锁用户 passwd -u zhangsan

(4) 查看用户状态 passwd -S zhangsan

(5)清楚密码 passwd -d zhangsan

3.userdel——删除用户账号
格式:
userdel [-r] 用户名
- 添加-r选项时,表示用户的宿主目录一并删除
- 如果不加-r选项,删除之后在创建用户时会报错

- userdel 直接删除用户不加参数,然后再重新创建出相同的用户

4.usermod---修改用户账号的属性
格式:
usermod [选项]... 用户名
选项:
| 选项 | 说明 |
|---|---|
| -l | 更改用户账号的登录名称 |
| -L | 锁定用户账户 |
| -u | 修改用户的UID号 |
| -U | 解锁用户账户 |
| -d | 修改用户的宿主目录位置 |
| -e | 修改用户的账户失效时间(YYYY-MM-DD) |
| -g | 修改用户的基本组名(或使用GID号) |
| -G | 修改用户的附加组名(或使用GID号) |
| -s | 指定用户的登录shell |

5、建立用户组
1.groupadd----添加组
格式:
groupadd [-g GID] 组账号名

2.gpasswd-----添加添加、设置、删除组成员
格式:
gpasswd
| 选项 | 说明 |
|---|---|
| -a | 添加用户到组 |
| -d | 从组删除用户 |
| -M | 批量加,指定组成员 |
[root@test1 /]# useradd zhou1 //组内加入新成员
[root@test1 /]# gpasswd -a zhou1 zhou
正在将用户“zhou1”加入到“zhou”组中 用户在前,组在后
[root@test1 /]# gpasswd -d zhou1 zhou
正在将用户“zhou1”从“zhou”组中删除
[root@test1 /]# gpasswd -M zhou1,zhou zhou
[root@test1 /]# grep "^zhou" /etc/group
zhou:x:88:zhou1,zhou
3.groupdel-----删除组账号
格式:
groupdel 组账号名

4.查询账户信息
1.w--查询已登录到主机的用户信息
w [选项] [用户名]
| 选项 | 说明 |
|---|---|
| -h | 不显示输出信息的标题 |
| -l | 用长格式输出 |
| -s | 用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间 |
| -V | 显示版本信息 |

2.who
相比较 w 命令,who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令
who [选项] [file]
需要说明的是,who 命令默认是通过 /var/run/utmp 文件来获取登陆用户信息,但如果通过 file 指定另一个文件,则 who 命令将不再默认读取 /var/run/utmp 文件,而是读取该指定文件来获取信息。
| 选项 | 说明 |
|---|---|
| -a | 列出所有信息,相当于所有选项。 |
| -b | 列出系统最近启动的时间日期。 |
| -l | 列出所有可登陆的终端信息。 |
| -m | 仅列出关于当前终端的信息,who -m 命令等同于 who am i。 |
| -q | 列出在本地系统上的用户和用户数的清单 |
| -r | 显示当前系统的运行级别。 |
| -s | 仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。 |
| -u | 显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。 |
| -T 或-w | 显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。 |
3.users
[root@localhost ~]# users
root root
4.finger
finger 用户名
查询用户的详细信息

5.id
id 用户名
查询身份表示

二、 文件/目录的权限和归属
1、程序访问文件时的权限,取决于此程序的发起者
-
进程的发起者,同文件的属主:则应用文件属主权限
-
进程的发起者,属于文件属组;则应用文件属组权限
-
应用文件“其它”权限
2、访问人群分为了三类
- 所属住(u)
- 所属组(g)
- 其他人(o)
3、权限分为三种

1.对 文件的权限
- 读(r,4)
- 写(w,2)
- 执行(x,1 程序,脚本)
2.对目录的权限
- r 可以使用ls查看此目录中文件列表
- w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
- x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限
4、chmod--设置文件和目录的权限
选项 -R : 递归
chmod [ugoa] [+ - =] [rwx] 文件或目录
u:所有者(属主) g:所有组(属组) o:其他人 a:所有、其他
+:增加 -:去除 =:设置权限
r:读 w:写 x:运行权限1. u=rwx,g=rx,o=x
2. o+w 其它用户增加w权限
3. a-x 所有人减去执行权限
5、chown--设置文件和目录的归属
选项 -R 递归
修改属主 属组
chown 属主:属组 文件
chown 属主 文件
chown :属组 文件
6、umask---权限掩码
umask 的值可以用来保留在创建文件权限
实现方式:
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022
作用:
(1)控制新建的文件或目录的权限
(2)默认权限去除umask’的权限为新建文件或者目录的权限
相关文章:
Linux账号和权限管理
目录 一、用户账号和组账号概述 1、用户账号类型 2、组账号 1.基本组(私有组) 2.附加组(公共组) 3、ID 1.UID 2.GID 4、用户和账号管理 1.文件位置 2.useradd-----创建用户 3.userdel——删除用户账号 4.usermod---修…...
Qt/QML编程学习之心得:QML和C++的相互调用(十五)
Qt下的QML说到底是类似于JavaScript的一种解释性语言,习惯了VC的MVC(Veiw+Control)的模式,那种界面视图任何事件都是和C++的cpp中处理函数一一对应,在类中也有明确的说明的。一下子玩Qt会觉得哪里对不上,比如使用QML这种节脚本语言贴了图做了layout布局,那么一个按钮的o…...
月入10.5K,专科小伙转行网优:据说每个领域都有一个“显眼包”
网络热词流行的今天,显眼包一词又上热搜。除了熟知的内娱显眼包外,其实各行业也都有自己的“显眼包”。 显眼包又叫“现眼包”看似丢人现眼,实则是个“褒义词”,他们勇敢自信,积极乐观,敢于展示自己&#x…...
Python自动化测试:选择最佳的自动化测试框架
在开始学习python自动化测试之前,先了解目前市场上的自动化测试框架有哪些? 随着技术的不断迭代更新,优胜劣汰也同样发展下来。从一开始工具型自动化,到现在的框架型;从一开始的能用,到现在的不仅能用&…...
Ubuntu16.04 安装Anaconda
步骤 1: 去官网下载安装包,链接如下: https://repo.anaconda.com/archive/ 找到对应版本下载至本地电脑,并上传至服务器。 步骤2: 通过命令解压 sh Anaconda3-2023.03-0-Linux-x86_64.sh 一路选择yes或则回车,直到安装成功出现下面画面&…...
MR实战:统计总分与平均分
文章目录 一、实战概述二、提出任务三、完成任务(一)准备数据1、在虚拟机上创建文本文件2、上传文件到HDFS指定目录 (二)实现步骤1、创建Maven项目2、添加相关依赖3、创建日志属性文件4、创建成绩映射器类5、创建成绩驱动器类6、启…...
Redux与React环境准备、实现counter(及传参)、异步获取数据
环境说明: 一:说明 在React中使用redux,官方要求安装两个其他插件:Redux Toolkit和react-redux 1. Redux ToolKit(RTK) - 官方推荐编写Redux逻辑的方式,是一套工具的集合集,简化书写方式 (简化…...
网站服务器被入侵,如何排查,该如何预防入侵呢?
在我们日常使用服务器的过程中,当公司的网站服务器被黑客入侵时,导致整个网站以及业务系统瘫痪,将会给企业带来无法估量的损失。作为服务器的维护人员应当在第一时间做好安全响应,对入侵问题做到及时处理,以最快的时间…...
应用在网络摄像机领域中的国产音频ADC芯片
IPC:其实叫“网络摄像机”,是IP Camera的简称。它是在前一代模拟摄像机的基础上,集成了编码模块后的摄像机。它和模拟摄像机的区别,就是在新增的“编码模块”上。模拟摄像机,顾名思义,输出的是模拟视频信号…...
Unity3D 安装和下载指南及汉化
Unity3D是一款强大的游戏开发引擎,为开发者提供了丰富的工具和资源,使得游戏制作变得更加简单和高效。本文将介绍Unity3D的安装和下载步骤,以帮助初学者迅速入门。 步骤一:访问Unity官网 首先,打开浏览器,…...
【SpringCache】SpringCache详解及其使用,Redis控制失效时间
一、使用 在 Spring 中,使用缓存通常涉及以下步骤: 1、添加缓存依赖: 确保项目中添加了缓存相关的依赖。如果使用 Maven,可以在项目的 pom.xml 文件中添加 Spring Cache 的依赖。 <dependency><groupId>org.spring…...
MyBatis的基本使用及常见问题
MyBatis 前言MyBatis简介MyBatis快速上手Mapper代理开发增删改查环境准备配置文件完成增删改查查询添加修改删除 参数传递注解完成增删改查 前言 JavaWeb JavaWeb是用Java技术来解决相关Web互联网领域的技术栈。 MySQL数据库与SQL语言 MySQL:开源的中小型数据库。…...
[RoarCTF2019] TankGame
不多说,用dnspy反编译data文件夹中的Assembly-CSharp文件 使用分析器分析一下可疑的FlagText 发现其在WinGame中被调用,跟进WinGame函数 public static void WinGame(){if (!MapManager.winGame && (MapManager.nDestroyNum 4 || MapManager.n…...
相比于其他流处理技术,Flink的优点在哪?
Apache Flink 是一个开源的流处理框架,用于在高吞吐量和低延迟的情况下进行大规模数据流的处理。Flink 以其在流处理领域的性能而闻名,相比于其他流处理技术,Flink 提供了一些独特的特性和优化,使其在某些情况下更快。以下是 Flin…...
react中使用ref属性获取元素,并判断该元素内是否含有子元素
在react中,可以使用ref属性来获取到一个元素的引用,然后再使用ref.current来访问该元素的DOM节点,使用DOM API来判断这个元素是否含有子元素,要判断一个元素是否含有子元素,可以使用hasChildNodes(),其返回…...
idea 如何快速拉取新分支
方式1 (快捷键:CtrlShift~) 方式2:(快捷键:Alt9)...
【经验分享】日常开发中的故障排查经验分享(一)
目录 简介CPU飙高问题1、使用JVM命令排查CPU飙升100%问题2、使用Arthas的方式定位CPU飙升问题3、Java项目导致CPU飙升的原因有哪些?如何解决? OOM问题(内存溢出)1、如何定位OOM问题?2、OOM问题产生原因 死锁问题的定位…...
关于Unity使用图片字体示例
1.使用TexturePacker打包图集 下载地址 TexturePacker - Create Sprite Sheets for your game! 2.准备好数字图 3. 导入图片 4. 打包图集需要的设置 将重心点设置为左下方 点击回车 > 后点击回 >到精灵列表 选择导出的格式 导出后的内容 >导入unity 导入 >…...
开源大语言模型简记
文章目录 开源大模型LlamaChinese-LLaMA-AlpacaLlama2-ChineseLinlyYaYiChatGLMtransformersGPT-3(未完全开源)BERTT5QwenBELLEMossBaichuan其他...
python高级代码
目录 列表推导式和生成器表达式:使用简洁的语法来生成列表和生成器。 装饰器:用于修改函数行为的函数。 上下文管理器:用于管理资源的对象,可以使用with语句来自动管理资源的分配和释放。 多线程和多进程编程:使用…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合
强化学习(Reinforcement Learning, RL)是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程,然后使用强化学习的Actor-Critic机制(中文译作“知行互动”机制),逐步迭代求解…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
接口自动化测试:HttpRunner基础
相关文档 HttpRunner V3.x中文文档 HttpRunner 用户指南 使用HttpRunner 3.x实现接口自动化测试 HttpRunner介绍 HttpRunner 是一个开源的 API 测试工具,支持 HTTP(S)/HTTP2/WebSocket/RPC 等网络协议,涵盖接口测试、性能测试、数字体验监测等测试类型…...
为什么要创建 Vue 实例
核心原因:Vue 需要一个「控制中心」来驱动整个应用 你可以把 Vue 实例想象成你应用的**「大脑」或「引擎」。它负责协调模板、数据、逻辑和行为,将它们变成一个活的、可交互的应用**。没有这个实例,你的代码只是一堆静态的 HTML、JavaScript 变量和函数,无法「活」起来。 …...
在golang中如何将已安装的依赖降级处理,比如:将 go-ansible/v2@v2.2.0 更换为 go-ansible/@v1.1.7
在 Go 项目中降级 go-ansible 从 v2.2.0 到 v1.1.7 具体步骤: 第一步: 修改 go.mod 文件 // 原 v2 版本声明 require github.com/apenella/go-ansible/v2 v2.2.0 替换为: // 改为 v…...
LangChain 中的文档加载器(Loader)与文本切分器(Splitter)详解《二》
🧠 LangChain 中 TextSplitter 的使用详解:从基础到进阶(附代码) 一、前言 在处理大规模文本数据时,特别是在构建知识库或进行大模型训练与推理时,文本切分(Text Splitting) 是一个…...
13.10 LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析
LangGraph多轮对话系统实战:Ollama私有部署+情感识别优化全解析 LanguageMentor 对话式训练系统架构与实现 关键词:多轮对话系统设计、场景化提示工程、情感识别优化、LangGraph 状态管理、Ollama 私有化部署 1. 对话训练系统技术架构 采用四层架构实现高扩展性的对话训练…...
