Linux之用户跟用户组

news2025/7/19 16:27:35

目录

一、简介

1.1、用户

1.2用户组

1.3UID和GID

1.4用户账户分类

二、用户

2.1、创建用户:useradd

2.2、删除用户:userdel

2.3 、修改用户 usermod

2.4、用户口令的管理:passwd

2.5、切换用户

三、用户组

3.1、增加一个用户组:groupadd

3.2、groupdel 删除组

3.3、groupmod 修改组

3.4、newgrp切换

四、用户账号系统文件

4.1、/etc/passwd

4.2、 /etc/shadow


一、简介

1.1、用户

如果要使用系统资源,就必须向系统管理员申请一个账号,然后通过这个账号进入系统,这个账号即用户 

1.2用户组

linux系统中的用户组(group)就是具有相同特性的用户(user)集合 UID和GID即用户ID和组ID

1.3UID和GID

即用户ID和组ID

1.4用户账户分类

超级用户root(0):用户账户分类

程序用户(1~499) 默认是root用户,其UID和GID均为0。 在每台unix/linux操作系统中都是唯一且真实存在的,通过它可以登录系统,可以操作系统中任何文件和命令,拥有最高的管理权限。 在生产环境,一般禁止root账号远程登录SSH连接服务器,以加强系统安全 与真实用户区分开来,这类用户的最大特点是安装系统后默认就会存在的,且默认情况不能登录系统, 它们是系统正常运行必不可少的,他们的存在主要是方便系统管理,满足相应的系统进程都文件属主的要求。 例如系统默认的bin、adm、nodoby、mail用户等。由于服务器角色的不同,有部分用不到的系统服务被禁止开机执行, 因此,在做系统安全优化时,被禁止开机启动了的服务对应的虚拟用户也是可以处理掉的(删除或注释)

普通用户(500~65535)这类用户一般是由具备系统管理员root的权限的运维人员添加的

二、用户

2.1、创建用户:useradd

参数说明:选项:
-c commert 指定一段注释性描述(加注释)。
-d 目录 指定指定创建用户主目录(切换主目录),如果此目录指定,则自动在根目录下创建同名的文件夹。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell 文件 指定用户的登录Shell(shell脚本的执行命令)

创建了一个叫home的用户

2.2、删除用户:userdel

如果一个用户的账号不再使用,可以从系统中删除。刚除用户账号就是要将/ete/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录
userdel 选项 用户名常用的选项是-r,它的作用是把用户的主目录一起删除

有-r与没有-r区别
-r有,会连带home家也删除

2.3 、修改用户 usermod

修改帐号修改用户账号就是根据实际情况更改用户的有关属性,如用户号、主目录、用户组、登录She11等
usermod 选项 用户名
常用的选项包括-,-d,-m,-G,-s,-u以及一等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。另外,有些系统可以使用选项:- 新用户名这个选项指定一个新的账号,即将原来的用户名改为新的用户名。

2.4、用户口令的管理:passwd

用户口令的管理passwd 选项 用户名可使用的选项:
-l 锁定口令,即禁用账号

-u口令解锁

-d 使账号无口令

-f 强迫用户下次登录时修改口令。如果默认用户名,则修改当前用户的口令

2.5、切换用户

su 用户名

三、用户组

3.1、增加一个用户组:groupadd


groupadd 选项 用户组
选项有:
-g GI55D 指定新用户组的组标识号(G)。
-0一般与~选项同时使用,表示新用户组的GD可以与系统已有用户组的GD相同。
groupadd

3.2、groupdel 删除组

如果要删除一个已有的用户组,使用gropde1命令groupdel 用户组

3.3、groupmod 修改组


修改用户组的属性

groupmod 选项 用户组
常用的选项有:

-g GID 为用户组指定新的组标识号。

-o与-g选项同时使用,用户组的新GD可以与系统已有用户组的GD相同。

-n新用户组 将用户组的名字改为新名字

3.4、newgrp切换

如果一个用户同时属于多个用户组,那么用户可以在用户组之间切换用户可以在登录后,使用命令newgrp切换到其他用户组,这个命令的参数就是目的用户组

四、用户账号系统文件

4.1、/etc/passwd

/etc/passwd文件是用户管理工作学及的最重费的一个文件。

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)等。


利用这一特点,我们可以限制用户只能运行指定的应用程序,在该应用程序运行结束后,用户就自动退出了系统。有些Limnux 系统要求只有那些在系统中登记了的程序才能出现在这个字段中.


8、系统中有一类用户称为伪用户(rseudo users)。
这些用户在/etc/asswd文件中也占有一条记录,但是不能登录,因为它们的登录Shell为空。它们的存在主要是方便系统管理,满足相应的系统进程对文件属主的要求。

4.2、 /etc/shadow

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志格式说明:"登录名"是与/etc/passwd文件中的登录名相一致的用户账号"口令”字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合{./0-9A-a-z}中的字符,则对应的用户不能登录。”最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在9c0 Limu 中,这个时间起点是1970年1月1日。

"最小时间间隔"指的是两次修改口令之间所需的最小天数。

最大时间间隔"指的是口令保持有效的最大天数。
"警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。

不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。

"失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1470182.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Makefile静态库动态库的构建和链接之工程实用篇

静态库和动态库的构建和链接 现有C工程目录结构如下&#xff1a; add.h int add(int a, int b);add.cpp #include "add.h"int add(int a, int b) {return ab; }main.cpp #include <iostream> #include "add.h"int main() {std::cout << a…

数据结构-二分搜索树(Binary Search Tree)

一,简单了解二分搜索树 树结构: 问题:为什么要创造这种数据结构 1,树结构本身是一种天然的组织结构,就好像我们的文件夹一样,一层一层的. 2,树结构可以更高效的处理问题 二,二分搜索树的基础 1、二叉树 2,二叉树的重要特性 满二叉树 总结: 1. 叶子结点出现在二叉树的最…

Python习题详解

练习&#xff1a; 1&#xff0c;计算100以内奇数的和 #计算100以内所有奇数的和 sum 0 # n 1 # while n < 100: # # sum sum n # sum n # # n n 2 # n 2 # print(sum) n 99 #求偶数时n 100 while n > 0:sum n# n n - 2n - 2 print(sum)2&#xff0c;打印直…

【多线程】多线程案例——单例模式详解(包含懒汉模式,饿汉模式)

单例模式 &#x1f334;饿汉模式&#x1f38d;懒汉模式&#x1f338;单线程版&#xff08;线程不安全&#xff09;&#x1f338;多线程版&#x1f338;多线程版(改进) ⭕总结 单例模式是校招中最常考的 设计模式之⼀. 啥是设计模式? 设计模式好⽐象棋中的 “棋谱”. 红⽅当头…

AtCoder ABC342 A-D题解

华为出的比赛&#xff1f; 好像是全站首个题解哎&#xff01; 比赛链接:ABC342 Problem A: 稍微有点含金量的签到题。 #include <bits/stdc.h> using namespace std; int main(){string S;cin>>S;for(int i0;i<s.size();i){if(count(S.begin(),S.end(),S[i…

多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测

多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测 目录 多维时序 | Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 Matlab实现基于VMD-DBO-GRU、VMD-GRU、GRU的多变量时间序列预测…

书生·浦语大模型实战营第六节课作业

基础作业 python run.py --datasets ceval_gen --hf-path /root/model/Shanghai_AI_Laboratory/internlm2-chat-7b/ --tokenizer-path /root/model/Shanghai_AI_Laboratory/internlm2-chat-7b/ --tokenizer-kwargs padding_sideleft truncationleft trust_remote_codeTrue --m…

嵌入式软件分层设计的思想分析

“嵌入式开发&#xff0c;点灯一路发” 那今天我们就以控制LED闪烁为例&#xff0c;来聊聊嵌入式软件分层: ——————————— | | | P1.1 |-----I<|--------------<| | | | P2.1 |-------------/ ---------…

Seata分布式事务实战AT模式

目录 分布式事务简介 典型的分布式事务应用场景 两阶段提交协议(2PC) 2PC存在的问题 什么是Seata&#xff1f; Seata的三大角色 Seata AT模式的设计思路 一阶段 二阶段 Seata快速开始 Seata Server&#xff08;TC&#xff09;环境搭建 db存储模式Nacos(注册&配…

HTB-Bizness

一、信息收集 访问ip自动跳转域名&#xff0c;host绑定域名后访问 目录爆破 有一个登录目录&#xff0c;访问发现是apahce ofbiz登录页面 发现存在漏洞 二、漏洞利用 在github上找到了图形化利用工具 使用工具反弹shell 得到flag 三、权限提升 从本地利用python开启http服务…

远程连接服务器及可视化方法(Win和Linux)

1.win端 1、通过SSH连接至服务器 在window下&#xff0c;打开命令行提示符&#xff08;快捷键winr后输入cmd回车&#xff09; 在命令行中输入 ssh 服务器上的用户名192.168.50.204回车并输入服务器上的用户登录密码 至此&#xff0c;已成功通过SSH连接至服务器。 2、通过…

复旦大学EMBA联合澎湃科技:共议科技迭代 创新破局

1月18日&#xff0c;由复旦大学管理学院、澎湃新闻、厦门市科学技术局联合主办&#xff0c;复旦大学EMBA项目、澎湃科技承办的“君子知道”复旦大学EMBA前沿论坛在厦门成功举办。此次论坛主题为“科技迭代 创新破局”&#xff0c;上海、厦门两地的政策研究专家、科学家、科创企…

集合的并发修改异常问题

使用迭代器遍历集合时&#xff0c;同时在删除集合中的数据&#xff0c;程序就会出现并发修改异常的错误。 import java.util.ArrayList; import java.util.Iterator; import java.util.List;public class _Exception {public static void main(String[] args) {List<String…

【GAD】DOMINANT个人解读/学习

SDM2019&#xff0c;这是一篇图异常检测领域的经典方法. 问题定义 在本文中&#xff0c;我们使用手写体来表示集合&#xff08;例如&#xff0c; V \mathcal{V} V&#xff09;&#xff0c;粗体小写字母&#xff08;例如&#xff0c; x \mathbf{x} x&#xff09;来表示向量&…

优化测试稳定性的失败重试工具:pytest-rerunfailures详解!

一.前言 笔者在执行自动化测试用例时&#xff0c;会发现有时候用例失败并非代码问题&#xff0c;而是由于服务正在发版&#xff0c;导致请求失败&#xff0c;从而降低了自动化用例的稳定性&#xff0c;最后还要花时间定位到底是自身case的原因还是业务逻辑问题&#xff0c;还是…

安全测试:史上最全的攻防渗透信息收集方法、工具!

信息收集的意义 信息收集对于渗透测试前期来说是非常重要的。正所谓&#xff0c;知己知彼百战不殆&#xff0c;信息收集是渗透测试成功的保障&#xff0c;只有我们掌握了目标网站或目标主机足够多的信息之后&#xff0c;才能更好地进行渗透测试。 信息收集的方式可以分为两种…

如何利用EXCEL批量插入图片

目录 1.excel打开目标表格&#xff1b; 2.点开视图-宏-录制宏&#xff0c;可以改宏的名字或者选择默认&#xff1b; 3.然后点开视图-宏-查看宏 4.点编辑进去 5.修改代码&#xff1a; &#xff08;1&#xff09;打开之后会显示有一堆代码 &#xff08;2&#xff09;将这个…

git之分支管理

一.理解分支 我们看下面这张图片&#xff1a; 在版本回退⾥&#xff0c;你已经知道&#xff0c;每次提交&#xff0c;Git都把它们串成⼀条时间线&#xff0c;这条时间线就可以理解为是⼀个分⽀。截⽌到⽬前&#xff0c;只有⼀条时间线&#xff0c;在Git⾥&#xff0c;这个分⽀…

SpringBootRest服务调用

目录 RestTemplate 依赖配置 自定义RestTemplate webCilent 依赖配置 自定义webCilent springboot中有两种方式实现Rest远程服务调用&#xff0c;分别是RestTemplate与webCilent。下面分别介绍一下这两种方式。 RestTemplate 依赖配置 RestTemplate是Spring Framework提供的…

使用GPT生成python图表

首先&#xff0c;生成一脚本&#xff0c;读取到所需的excel表格 import xlrddata xlrd.open_workbook(xxxx.xls) # 打开xls文件 table data.sheet_by_index(0) # 通过索引获取表格# 初始化奖项字典 awards_dict {"一等奖": 0,"二等奖": 0,"三等…