linux之用户和用户组
文章目录
- 一、简介
- 1.1 用户
- 1.2 用户组
- 1.3 UID和GID
- 1.4 用户账户分类
- 二、用户
- 2.1 添加新的用户账号:useradd
- 2.2 删除账号:userdel
- 2.3 修改账号:usermod(mod=modify)
- 2.4 用户口令的管理:passwd
- 2.5 切换用户:su
- 三、用户组
- 3.1 增加一个用户组:groupadd
- 3.2 groupdel 删除组
- 3.3 groupmod 修改组
- 3.4 newgrp切换
- 四、用户账号系统文件
- 4.1 /ete/passwd
- 4.2 /etc/shadow
- 4.3 /etc/group
一、简介
1.1 用户
如果要使用系统资源,就必须向系统管理员申请一个账号,然后通过这个账号进入系统,这个账号即用户,用户又有不同的权限,经理有增删改查的权限,组长没有新增表权限,普通用户只能看
1.2 用户组
linux系统中的用户组(group)就是具有相同特性的用户(user)集合
1.3 UID和GID
即用户ID和组ID
1.4 用户账户分类
查看用户类别
cat /etc/passwd
超级用户root(0)
默认是root用户,其UID和GID均为0.在每台unix/inux操作系统中都是唯一且真实存在的,通过它可以登录系统,可以操作系统中任何文件和命命,拥有最高的管理权限。在生产环境,一般禁止root账号远程登录SSH连接服务器,以加强系统安全
程序用户(1~499)
与真实用户区分开来,这类用户的最大特点是安装系统后默认就会存在的,且默认情况不能登录系统,它们是系统正常运行必不可少的,他们的存在主要是方便系统管理,满足相应的系统进程都文件属主的要求。例如系统默认的bin、adm、nodoby、ma用户等。由于服务器角色的不同,有部分用不到的系统服务被禁止开机执行。因此,在做系统安全优化时,被禁止开机后动了的服务对应的虚拟用户也是可以处理掉的(删除或注释)
普通用户(500~65535)
这类用户一般是由具备系统管理员root的权限的运维人员添加的
二、用户
2.1 添加新的用户账号:useradd
注:只要创建目录必定有home家这个文件夹
1.添加新的用户账号:
useradd 选项 用户名
参数说明:选项:
-c commert 指定一段注释性描述(加注释)。
-d 目录 指定指定创建用户主目录(切换主目录),如果此目录指定,则自动在根目录下创建同名的文件夹。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell 文件 指定用户的登录Shell(shell脚本的执行命令)
注:开发中正常是100多兆的jdk,能做出10兆的jdk,区别100兆的用的是bin\bash,10兆、bin/sh是建议版,实例2可以改
-u 用户号 指定用户的用户号,如果同时有一选项,则可以重复使用其他用户的标识
用户名:
指定新账号的登录名
示例1:
useradd -d /home/sam -m sam2
此命令创建了一个用户sam2,其中-d和-选项用来为登录名sam2产生一个主目录/home/sam(/home为默认的用户主目录所在的父目录)
用户目录和home家目录可以不一致
示例2:
useradd -s /bin/sh -g group -G adm root gem
此命令新建了一个用户gem,该用户的登录Shell是/bin/sh,它属于grop用户组,同时又属于adm和root用户组,其中group用户组是其主组。这里可能新建组:#groupadd group及groupadd adm
注1:增加用户账号就是在/etc/passmd文件中为新用户增加一条记录,同时更新其他系统文件如/etc/shadow,/etc/groupp等。注2:Limx提供了集成的系统管理工具userconf,它可以用来对用户账号进行统一管理
2.2 删除账号:userdel
如果一个用户的账号不再使用,可以从系统中删除。刚除用户账号就是要将/ete/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录
userdel 选项 用户名常用的选项是-r,它的作用是把用户的主目录一起删除
示例1:
userdel -r sam此命令删除用户sam在系统文件中(主要是/etc/passwd,/etc/shadow,/etc/group等)的记录,同时删除用户的主目录
有-r与没有-r区别
-r有,会连带home家也删除
没有-r: 如果家里面还有重要的东西,只是不能登录
2.3 修改账号:usermod(mod=modify)
修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登
录Shel1等
usermod 选项 用户名
常用的选项包括-,-d,-m,-%,-G,-s,-u以及一等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用选项:-新用户名这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
示例1:
usermod -s /bin/sh-d /home/z -g developer sam2
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer
2.4 用户口令的管理:passwd
红色的字是翻译
passwd 选项 用户名
选项:
-l 锁定口令,即禁用账号。
u 口令解锁。
-d 使账号无口令。
-f 强迫用户下次登录时修改口令。如果默认用户名,则修改当前用户的口令
示例1:修改密码例如,假设当前用户是sam,则下面的命令修改该用户自己的口令passwdÓld password:******
New password:******
Re-enter new password:***
超级用户,可以用下列形式指定任何用户的口令passwd sam[ew password:*****
Re-enter new password:***
注1:普通用户修改自己的口令时,passmd命令会先询问原口令,验证后再要求用户输入两遍新口令,如果两次输入的口令一致,则将这个口令指定给用户;而超级用户为用户指定口令时,就不需要知道原口令
示例2:用户指定空口令时
登录了
passwd -d sam此命令将用户 sam 的口令删除,这样用户 sam 下一次登录时,系统就不再允许该用户
示例3:passwd 命令还可以用 -1(1ock)选项锁定某一用户,使其不能登录,解锁用-passwd -l sam
2.5 切换用户:su
su 用户名
登出
exit
logout
Ctrl+d
三、用户组
3.1 增加一个用户组:groupadd
groupadd 选项 用户组
选项有:
-g GI55D 指定新用户组的组标识号(G)。
-0一般与~选项同时使用,表示新用户组的GD可以与系统已有用户组的GD相同。
groupadd
示例1:
#创建组
groupadd group1#查看组
groupadd /etc/group
这样创建组,gid是随机分配的
组标识号=gid
此命令向系统中增加了一个新组groupl,新组的组标识号是在当前已有的最大组标识号的基础上加1。
示例2:
groupadd -g 101 group2
这样创建组,gid指定
此命令向系统中增加了一个新组group2,同时指定新组的组标识号是101。
3.2 groupdel 删除组
groupdel group1
如果要删除一个已有的用户组,使用gropde1命令groupdel 用户组示例1:
3.3 groupmod 修改组
修改用户组的属性
groupmod 选项 用户组
常用的选项有:
-g GID 为用户组指定新的组标识号。
-o与-g选项同时使用,用户组的新GD可以与系统已有用户组的GD相同。
-n新用户组 将用户组的名字改为新名字
示例1:
groupmod -g 102 group2
此命令将组group2的组标识号修改为102
示例2:
groupmod -g 10000 -n group3 group2
此命令将组group2的标识号改为10000,组名修改为group3
3.4 newgrp切换
如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组示例1:
newgrp root
四、用户账号系统文件
4.1 /ete/passwd
/ete/passwd文件是用户管理工作学及的最重费的一个文件。
cat /etc/passwd
从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
1、“用户名”是代表用户账号的字符串。
通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(😃,因为冒号在这里是分隔符。
头。
为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。
2、“口令”一些系统中,存放着加密后的用户口令字。
虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Limx 系统(如SWR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或“*”。
3、“用户标识号”是一个整数,系统内部用它来标识用户。
一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录She11等。
通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Lirx系统中,这个界限是500。
4、“组标识号”字段记录的是用户所属的用户组。
它对应着/etc/group文件中的一条记录。
5、“注释性描述”字段记录用户的一些个人情况。
造个全愤舜。例如用户的真实姓名、电话、地址等,系统中,这个字段的格式并没有什么实际的用途。在不同的Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。
6、“主目录”,也就是用户的起始工作目录。
它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。
7、
用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即she11°She11是用户与Limux系统之间的接口。Limux的She11有许多种,每种都有不同的特点。
常用的有sh(Boume Shell),csh(C Shell),ksh(Kom Shell),tcsh(TENEX/TOPS-20 type CShell),bash(Bourne Again Shell)等。
系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。
用户的登录shell也可以指定为某个特定的程序(此程序不是一个命令解释器)。
利用这一特点,我们可以限制用户只能运行指定的应用程序,在该应用程序运行结束后,用户就自动退出了系统。有些Limnux 系统要求只有那些在系统中登记了的程序才能出现在这个字段中.
8、系统中有一类用户称为伪用户(rseudo users)。
这些用户在/etc/asswd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。
常见的伪用户如下所示
伪用户含义:
bin 拥有可执行的用户命令文件
sys 拥有系统文件adm 拥有帐户文件
umcp UUCP使用
lp lp或lpd子系统使用
nobody NFS使用
4.2 /etc/shadow
/ete/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生,它的文件格式与/etc/passwd类似,由若干个字段成,字股之同用”:“隔开。这些字段是
登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志格式说明:"登录名"是与/etc/passwd文件中的登录名相一致的用户账号"口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-a-z}中的字符,则对应的用户不能登录。”最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在9c0 Limu 中,这个时间起点是1970年1月1日。
"最小时间间隔"指的是两次修改口令之间所需的最小天数。
最大时间间隔"指的是口令保持有效的最大天数。
"警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。
"失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
cat /etc/shadow
4.3 /etc/group
用户组的所有信息都存放在/etc/grovp文件中,将用户分组是Limx 系统中对用户进行管理及控制访问权限的一种手段。
每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。
当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员 。
用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,
这些字段有:
组名:口令:组标识号:组内用户列表
格式说明:
"组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应
重复。
“口令”字段存放的是用户组加密后的口令字。一般Limnu 系统的用户组都没有口令,即这个字段一般为空,或者是*。
"组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。
"组内用户列表”是属于这个组的所有用户的列表儿],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。
相关文章:

linux之用户和用户组
文章目录 一、简介1.1 用户1.2 用户组1.3 UID和GID1.4 用户账户分类 二、用户2.1 添加新的用户账号:useradd2.2 删除账号:userdel2.3 修改账号:usermod(modmodify)2.4 用户口令的管理:passwd2.5 切换用户:su 三、用户组3.1 增加一…...

人工智能深度学习
目录 人工智能 深度学习 机器学习 神经网络 机器学习的范围 模式识别 数据挖掘 统计学习 计算机视觉 语音识别 自然语言处理 机器学习的方法 回归算法 神经网络 SVM(支持向量机) 聚类算法 降维算法 推荐算法 其他 机器学习的分类 机器…...

python reshape 和 transpose的区别
reshape() 和 transpose() 是用于改变数组或张量形状的两种不同方法, 它们的主要区别在于如何重新排列元素以及是否可以改变轴的顺序。 1 reshape() reshape() 函数用于改变数组或张量的形状,但是不改变元素的排列顺序。它只是简单地将数组的维度重新…...

音视频技术-网络视频会议“回声”的消除
目录 一、“回音”的成因原理 二、解决思路 三、解决方案 1、方案一 2...

有哪些令人惊讶的心理学效应
大家可以想象一个场景: 如果一次考试,你考了95分,比上次还进步了10分,你会感到高兴吗? 听起来很牛逼啊,值得干杯庆祝,好好开心几天了。 这时,你看到同桌这次居然是一百分…...

二叉树基础知识总结
目录 二叉树基础知识 概念 : 根节点的五个形态 : 特殊的二叉树 满二叉树 : 完全二叉树 : 二叉搜索树 : 平衡二叉搜索树 : 二叉树的性质 : 二叉树的存储结构 二叉树的顺序存储结构 二叉树的链式存储结构 二叉树的遍历方式 : 基础概念 前中后遍历 层序遍历 :…...

IDEA2023.3.4开启SpringBoot项目的热部署【简单明了4步操作】
添加devtools依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-devtools</artifactId><scope>runtime</scope><optional>true</optional> </dependency>IDEA开启自动编译 …...

QT中调用python
一.概述 1.Python功能强大,很多Qt或者c/c开发不方便的功能可以由Python编码开发,尤其是一些算法库的应用上,然后Qt调用Python。 2.在Qt调用Python的过程中,必须要安装python环境,并且Qt Creator中编译器与Python的版…...

Sora基础知识学习
...

开源博客项目Blog .NET Core源码学习(9:Autofac使用浅析)
开源博客项目Blog使用Autofac注册并管理组件和服务,Autofac是面向.net 的开源IOC容器,支持通过接口、实例、程序集等方式注册组件和服务,同时支持属性注入、方法注入等注入方式。本文学习并记录Blog项目中Autofac的使用方式。 整个Blog解…...

Go语言中的TLS加密:深入crypto/tls库的实战指南
Go语言中的TLS加密:深入crypto/tls库的实战指南 引言crypto/tls库的核心组件TLS配置:tls.Config证书加载与管理TLS握手过程及其实现 构建安全的服务端创建TLS加密的HTTP服务器配置TLS属性常见的安全设置和最佳实践 开发TLS客户端应用编写使用TLS的客户端…...

网络原理-TCP/IP(7)
目录 网络层 路由选择 数据链路层 认识以太网 以太网帧格式 认识MAC地址 对比理解MAC地址和IP地址 认识MTU ARP协议 ARP协议的作用 ARP协议工作流程 重要应用层协议DNS(Domain Name System) DNS背景 NAT技术 NAT IP转换过程 NAPT NAT技术的优缺点 网络层 路由…...

HarmonyOS4.0系列——08、整合UI常用组件
HarmonyOS4.0 系列——08、UI 组件 Blank Blank 组件在横竖屏占满空余空间效果 // xxx.ets Entry Component struct BlankExample {build() {Column() {Row() {Text(Button).fontSize(18)Blank()Toggle({type: ToggleType.Switch}).margin({top: 14,bottom: 14,left: 6,righ…...

【Spring Boot 3】【JPA】一对多单向关联
【Spring Boot 3】【JPA】一对多单向关联 背景介绍开发环境开发步骤及源码工程目录结构总结背景 软件开发是一门实践性科学,对大多数人来说,学习一种新技术不是一开始就去深究其原理,而是先从做出一个可工作的DEMO入手。但在我个人学习和工作经历中,每次学习新技术总是要花…...

工信部等九部门:打造一批实现制造过程数字孪生的数字化转型标杆工厂
“人工智能技术与咨询” 发布 培育一批科技领军人才、青年骨干人才,以及一批既懂原材料工业又懂数字技术的复合型人才。依托职业教育提质培优行动计划,加速培育数字化转型急需紧缺的工程师和技术技能人才。支持引进数字化转型海外高端人才。 ÿ…...

并发编程(2)基础篇-管程
4 共享模型之管程 本章内容 共享问题synchronized线程安全分析Monitorwait/notify线程状态转换活跃性Lock 4.1 共享带来的问题 4.1.1 小故事 老王(操作系统)有一个功能强大的算盘(CPU),现在想把它租出去ÿ…...

OpenAI文生视频大模型Sora概述
Sora,美国人工智能研究公司OpenAI发布的人工智能文生视频大模型(但OpenAI并未单纯将其视为视频模型,而是作为“世界模拟器” ),于2024年2月15日(美国当地时间)正式对外发布。 Sora可以根据用户…...

[linux]进程间通信(IPC)———共享内存(shm)(什么是共享内存,共享内存的原理图,共享内存的接口,使用演示)
一、什么是共享内存 共享内存区是最快的(进程间通信)IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。注意:…...

Go 原子操作有哪些?
Go atomic包是最轻量级的锁(也称无锁结构),可以在不形成临界区和创建互斥量的情况下完成并发安全的值替换操作,不过这个包只支持int32/int64/uint32/uint64/uintptr这几种数据类型的一些基础操作(增减、交换、载入、存…...

爬虫知识--02
免费代理池搭建 # 代理有免费和收费代理 # 代理有http代理和https代理 # 匿名度: 高匿:隐藏访问者ip 透明:服务端能拿到访问者ip 作为后端,如何拿到使用代理人的ip 请求头中:x-forwor…...

SCI一区 | Matlab实现GAF-PCNN-MSA格拉姆角场和双通道PCNN融合注意力机制的多特征分类预测
SCI一区 | Matlab实现GAF-PCNN-MSA格拉姆角场和双通道PCNN融合注意力机制的多特征分类预测 目录 SCI一区 | Matlab实现GAF-PCNN-MSA格拉姆角场和双通道PCNN融合注意力机制的多特征分类预测效果一览基本介绍模型描述程序设计参考资料 效果一览 基本介绍 1.【SCI一区级】Matlab实…...

Observability:使用 OpenTelemetry 和 Elastic 监控 OpenAI API 和 GPT 模型
作者: 来自 Elastic David Hope ChatGPT 现在非常火爆,甚至席卷了整个互联网。 作为 ChatGPT 的狂热用户和 ChatGPT 应用程序的开发人员,我对这项技术的可能性感到非常兴奋。 我看到的情况是,基于 ChatGPT 的解决方案将会呈指数级…...

靡语IT:Vue精讲(一)
Vue简介 发端于2013年的个人项目,已然成为全世界三大前端框架之一,在中国大陆更是前端首选。 它的设计思想、编码技巧也被众多的框架借鉴、模仿。 纪略 2013年,在Google工作的尤雨溪,受到Angular的启发,从中提取自…...

vue3 toRefs之后的变量修改方法
上效果 修改值需要带上解构之前的对象名obj, changeName:()>{ // toRefs 解决后变量修改值方法: 解构前变量.字段新值 obj.name FEIFEI; } } 案例源码 <!DOCTYPE html> <html> <head><me…...

【教程】详解相机模型与坐标转换
转载请注明出处:小锋学长生活大爆炸[xfxuezhang.cn] 由于复制过来,如果有格式问题,推荐大家直接去我原网站上查看: 相机模型与坐标转换 - 生活大爆炸 目录 经纬度坐标系 转 地球直角坐标系大地直角坐标系 转 经纬度坐标系地理坐标…...

171基于matlab的随机共振微弱信号检测
基于matlab的随机共振微弱信号检测,随机共振描述了过阻尼布朗粒子受周期性信号和随机噪声的共同作用下,在非线性双稳态系统中所发生的跃迁现象. 随机共振可用于弱信号的检测。程序已调通,可直接运行。...

petalinux_zynq7 驱动DAC以及ADC模块之三:实现C语言API并编译出库被python调用
前文: petalinux_zynq7 C语言驱动DAC以及ADC模块之一:建立IPhttps://blog.csdn.net/qq_27158179/article/details/136234296petalinux_zynq7 C语言驱动DAC以及ADC模块之二:petalinuxhttps://blog.csdn.net/qq_27158179/article/details/1362…...

NXP实战笔记(五):S32K3xx基于RTD-SDK在S32DS上配置ADC的硬件触发同步采样与软件采样过程
目录 1、概述 1.1、软件触发 1.2、硬件触发 - BCTU 1.3、硬件触发 - TRGMUX 1.4、ADC的校准 1.5、ADC时钟配置 2、BTCU硬件触发ADC的SDK配置 3、软件触发ADC 3.1、选择相应Port作为ADC的输入 3.2、ADC配置 3.3、代码示例 1、概述 恩智浦 S32K3xx 系列汽车微控制器…...

pikachu靶场-CSRF
CSRF: 介绍: Cross-site request forgery简称为"CSRF”。 在CSF的攻击场景中攻击者会伪造一个请求(这个请求一般是一个链接) 然后欺骗目标用户进行点击,用户一旦点击了这个请求,整个攻击也就完成了࿰…...

【结合OpenAI官方文档】解决Chatgpt的API接口请求速率限制
OpenAI API接口请求速率限制 速率限制以五种方式衡量:RPM(每分钟请求数)、RPD(每天请求数)、TPM(每分钟令牌数)、TPD(每天令牌数)和IPM(每分钟图像数&#x…...