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语句来自动管理资源的分配和释放。 多线程和多进程编程:使用…...
YOLOv10镜像作品集:高清图像目标检测惊艳案例分享
YOLOv10镜像作品集:高清图像目标检测惊艳案例分享 1. 引言:YOLOv10带来的视觉革命 在计算机视觉领域,目标检测技术正经历着前所未有的变革。YOLOv10作为最新一代的目标检测模型,以其无与伦比的速度和精度重新定义了实时检测的标…...
RWKV7-1.5B-g1a轻量部署方案:中小企业AI落地首选,年省GPU成本超40%
RWKV7-1.5B-g1a轻量部署方案:中小企业AI落地首选,年省GPU成本超40% 1. 为什么选择RWKV7-1.5B-g1a 在当今AI技术快速发展的背景下,中小企业往往面临高昂的GPU计算成本和技术门槛。rwkv7-1.5B-g1a作为一款基于RWKV-7架构的多语言文本生成模型…...
Windows驱动管理与系统优化:DriverStore Explorer全方位解决方案
Windows驱动管理与系统优化:DriverStore Explorer全方位解决方案 【免费下载链接】DriverStoreExplorer Driver Store Explorer [RAPR] 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 设备驱动维护是保障Windows系统稳定运行的核心环节&…...
程序实现环境温度对传感器的误差补偿,不同温度下测量精度一致,颠覆温漂难题。
无论你是做工业传感还是消费电子,只要你测物理量(电压、电流、压力、流量),温度就是精度的头号杀手。今天我们用 Python 打造一套自适应温度补偿系统,让仪器在不同温度下“不忘初心”。一、 实际应用场景描述 (Scenari…...
基于 SpringBoot 的自助图书借阅管理系统源码讲解
以下是一个基于 SpringBoot 的自助图书借阅管理系统的 核心源码讲解,涵盖用户管理、图书管理、借阅管理、设备对接等关键模块,代码结构清晰,可直接用于学习或二次开发。一、项目结构src/main/java/com/library/ ├── config/ # 配…...
C语言入门知识全解析:基本结构、数据类型及示例特点
1. C语言简介 C语言是一种通用的、过程式的编程语言,由贝尔实验室的Dennis Ritchie在1972年开发。来源:不全面,仅供参考 http://nanhaitongcheng.com/kx/8106.html它被广泛应用于系统软件开发、嵌入式系统、游戏开发等领域。 2. C语言的基本结…...
Deepseek 1.5B vs 14B实测:游戏本跑大模型选哪个?吞吐量/显存占用/响应速度全对比
Deepseek 1.5B与14B模型实战评测:游戏本部署大语言模型的黄金分割点 当游戏本遇上大语言模型,性能与显存的博弈便成为开发者最头疼的问题。去年还在为能否跑通7B模型发愁的硬件环境,如今已经能流畅运行14B参数规模的模型——这背后是量化技术…...
PyTorch 2.8镜像一文详解:xFormers+Accelerate+Diffusers全栈预装环境实测
PyTorch 2.8镜像一文详解:xFormersAccelerateDiffusers全栈预装环境实测 1. 镜像概述与核心优势 PyTorch 2.8深度学习镜像是一个经过深度优化的全栈AI开发环境,专为现代深度学习任务设计。这个镜像最显著的特点是开箱即用的完整工具链支持,…...
从零开始:基于 Chroma+Ollama 的本地知识库搭建与智能问答实战指南
1. 为什么选择 ChromaOllama 组合? 如果你正在寻找一个既轻量又强大的本地知识库解决方案,Chroma 和 Ollama 的组合绝对值得考虑。我最初接触这个组合是因为需要一个完全离线的知识管理系统,经过多次对比测试后发现,这对搭档在易用…...
PrankWeb 蛋白质配体结合位点预测,超简单使用教程
一、PrankWeb 是什么? PrankWeb 是一个免费的在线蛋白质配体结合位点预测工具,基于机器学习算法 P2Rank。 它能帮你: 预测蛋白质上可能的药物结合口袋(pockets) 可视化蛋白质的三维结构和结合位点 …...
