用户/用户组管理
用户管理 *
useradd 命令添加用户,会在/etc/passwd生成用户信息,信息分为7列,被6个冒号隔开
第一列 username (login name)
第二列 密码,但是该列已经被移除,用x表示,密码信息已经存放在了/etc/shadow文件
第三列 用户的UID (user ID),和身份证号差不多,绝对不能重复
第四列 用户所属组的ID
第五列 描述信息,邮箱,电话等
第六列 用户的家目录信息
第七列 用户的登录shell
用户增删改查
1、 创建用户 useradd
$ useradd user1 -u 5000 -d /user1 -s /bin/sh
# 常用参数
-d 新账户的主目录
-s 新账户的登录 shell
-u 新账户的用户 ID
-g 新账户主组的名称或 ID
-G 新账户的附加组列表2、修改用户 usermod
$ usermod user1 -u 5001 -d /home/user1 -s /bin/bash3、 查看user(/etec/passwd)
$ id user14、删除用户 userdel
# 使用userdel命令实际就是删除文件/etc/passwd、/etc/shadow以及/etc/group中对应的信息,userdel默认不会删除用户家目录和邮箱文件(/var/spool/mail/目录下)
$ userdel user1
$ userdel -r userdel # 彻底删除用户
rhce 考题:


用户组管理 *
用户组分为 primary group(主要组),private group(私有组),attached group(附加组),由于任何用户都必须依赖于用户组才能存在,所以创建用户没有指定用户组(primary group)时,系统会为该用户创建个一同名的组,这个组叫做该用户的private group(私有组),私有组的意义就在于让用户属于一个用户组
文件/etc/group存放户组的信息
$ cat /etc/group
dockerroot:x:993:
influxdb:x:992:每个冒号分割了个内容:
第一列表示组名
第二列表示组密码,x表示密码存放在/etc/gshadows⽂件⾥
第三列表示组ID
第四列表示"组成员"
用户组增删改查
①⽤户组的添加
$ groupadd group1②⽤户组的删除
$ groupdel group1③⽤户组的查看
$ grep group1 /etc/group
group1:x:1001:⑤用户组的修改
$ groupmod group1 -g 1002
$ grep group1 /etc/group
group1:x:1002:
用户与用户组关联
/etc/passwd 的第四列GID表示该用户属于的primary group(主要组),一个用户只可以属于一个primarygroup,但是可以同时属于多个attached group
# 创建用户指定 primary group 和 attached group
$ useradd user1 -g group1 -G group2
$ id user1
uid=1001(user1) gid=1002(group1) groups=1002(group1),1003(group2)# 修改用户 attached group
$ usermod user1 -G group3
$ id user1
uid=1001(user1) gid=1002(group1) groups=1002(group1),1004(group3)# 添加用户 attached group
$ usermod user1 -aG group2
$ id user1
uid=1001(user1) gid=1002(group1) groups=1002(group1),1003(group2),1004(group3)
用户密码管理passwd/chage *
/etc/shadow存放的是密码信息,每列密码信息都被冒号分割开来
# cat /etc/shadow
user2:$6$90Q11.N4g4t5X07I4hqp/:19485:0:99999:7:::user1:!!:19487:0:99999:7:::第1列 username
第2列 密码(非明文)
第3列 上次修改密码的时间
第4列 密码最小有效期(0 -> 无限次修改 1 -> 使用1天后才能修改)
第5列 密码的最大有效期(默认是99999,表示密码99999天就会失效)
第6列 密码到期前提前多少天提示
第7列 密码到期后宽限日期
第8列 表示账号失效日期
第9列 保留
passwd 命令 (-d、-e、-l、-u )
# 修改用户密码(root可以修改其他普通用户密码,普通用户只能修改自己的密码)
$ passwd user1
$ grep user1 /etc/shadow
user1:$3Gan/Lmj9yT7.wfbyWHHUsDYbljfN91:19487:0:99999:7:::# -d 删除用户密码
$ passwd -d user1
$ grep user1 /etc/shadow
user1::19487:0:99999:7:::# -e 设置密码过期,表示该⽤户下次登录必须修改密码
$ passwd -e user1# -l 锁定用户密码,当账号被锁定了,除了root之外,任何其它⽤户不能切换到被锁定的账号
# -u 解锁
$ passwd -l user1
$ passwd -u user1# 非交付式修改用户密码方式
$ echo 123 | passwd --stdin user1
chage 命令
常用参数:
-d 设置最近一次密码
-E 帐户过期时间
-I 过期I天数后,设定密码为失效状态
-m 两次改变密码之间相距的最小天数
-M 两次改变密码之间相距的最大天数
-W 密码过期提前通知天数$ chage -d 1300 -m 2 -M 20 -W 10 -I 4 -E 2023-5-20 user1
用户组密码管理
对于任何一个用户来说,创建的文件,默认的拥有者就是该用户,默认的所属组是该用户的primary group,newgrp groupname,能让用户临时的切换到另外一个组,那么切换成功之后,该用户创建的文件就都属于切换后的组:
$ id
uid=1001(user1) gid=1002(group1) groups=1002(group1),1003(group2)
$ touch a.txt
$ newgrp group2
$ touch b.txt
$ ls -l
-rw-r--r-- 1 user1 group1 0 May 11 00:59 a.txt
-rw-r--r-- 1 user1 group2 0 May 11 00:59 b.txt
gpasswd groupname 创建用户组密码,组密码的作用是让那些不属于该组的用户,可以切换到该组的一种方式,只要提供正确的组密码,即可切换成功
$ gpasswd group2
id
uid=5011(user2) gid=5011(user2) groups=5011(user2)
$ touch 1.txt
$ newgrp group2
Password:
$ touch 2.txt
$ ls -l
-rw-rw-r-- 1 user2 user2 0 May 11 01:07 1.txt
-rw-r--r-- 1 user2 group2 0 May 11 01:07 2.txt
相关文章:
用户/用户组管理
用户管理 * useradd 命令添加用户,会在/etc/passwd生成用户信息,信息分为7列,被6个冒号隔开 第一列 username (login name) 第二列 密码,但是该列已经被移除,用x表示,密码信息已经存放在了/etc/shadow文…...
如何进行TCP抓包调试?
网络调试工具——Wireshark Wireshark 是世界上应用最广泛的网络协议分析器,它让我们在微观层面上看到整个网络正在发生的事情。 Wireshark 本身是一个开源项目,所以也得到了很多志愿者的支持。同时,Wireshark 具有丰富的功能集,…...
分享一个国内可用的ChatGPT网站,免费无限制,支持AI绘画 - AI 百晓生
背景 ChatGPT作为一种基于人工智能技术的自然语言处理工具,近期的热度直接沸腾🌋。 作为一个AI爱好者,翻遍了各大基于ChatGPT的网站,终于找到一个免费!免登陆!手机电脑通用!国内可直接对话的C…...
API安全性的要素与开发人员必修课测试
一、API安全性的要素主要包括以下几点: 1.身份验证和访问控制:API应该通过身份验证来验证请求的源,确保只有授权的用户或应用程序才能访问API。这可以通过使用API密钥、访问令牌、OAuth令牌或其他身份验证机制实现。 2.数据加密:A…...
leetcode 651. 4键键盘
651. 4键键盘 中等 102 company 微软 Microsoft company 谷歌 Google company 亚马逊 假设你有一个特殊的键盘包含下面的按键: A:在屏幕上打印一个 ‘A’。Ctrl-A:选中整个屏幕。Ctrl-C:复制选中区域到缓冲区。Ctrl-V:…...
Python垃圾回收机制
Python 运行过程中会不停的创建各种变量,而这些变量是需要存储在内存中的,随着程序的不断运行,变量数量越来越多,所占用的空间势必越来越大,如果对变量所占用的内存空间管理不当的话,那么肯定会出现 out of…...
Grafana插件安装并接入zabbix数据源(03)
一、在线安装插件 如果不指定插件安装位置,则默认安装位置为/var/lib/grafana/plugins;插件安装后需要重启grafana-server 安装zabbix插件alexanderzobnin-zabbix-app # grafana-cli plugins install alexanderzobnin-zabbix-app 使用--pluginsDir指定安装路径 # grafana…...
简述 JavaScript 中 prototype
简述 JavaScript 中 prototype 这篇笔记主要捋一下这么几个概念: JS 的继承构造函数new 的作用及简易实现__proto__ & prototype同样的方法,class 和 prototype 中分别是怎么实现的 基础概念 JS 是通过 prototype chaining 实现继承的语言&#…...
一觉醒来Chat gpt就被淘汰了
目录 什么是Auto GPT? 与其他语言生成模型相比,Auto GPT具有以下优点 Auto GPT的能力 Auto GPT的能力非常强大,它可以应用于各种文本生成场景,包括但不限于以下几个方面 Auto GPT的历史 马斯克说:“ChatGPT 好得吓…...
13款JavaScript图像处理库,建议收藏备用
pica: 一个在浏览器中调整图像大小,而不会出现像素失真,处理速度非常快的图片处理库,仓库地址https://github.com/nodeca/picahtml2canvas: 强大的使用js开发的浏览器网页截图工具,仓库地址https://github.…...
uniapp m3u8格式视频加载
uniapp一:mui-player:三方 h5 web app uniapp 使用 mui-player 插件播放 m3u8/flv 视频流_翘翘红的博客-CSDN博客 uniapp 开发的h5项目,需要播放m3u8/flv后缀的视频,网上有很多视频插件,但是样式和效果不尽如人意&am…...
iOS描述文件(.mobileprovision)一键申请
iOS描述文件(.mobileprovision)一键申请 在主界面上点击描述文件按钮。 新建ios描述文件 然后点击新建,然后输入描述文件名称,描述文件名称字符和数字,自己好辨识就可以。然后选择描述文件类型,再选择bundle ID,如果…...
进行性能压力测试的原因、目的和好处
性能压力测试是指在模拟高负载、高并发情况下对软件系统进行测试,以衡量系统在实际使用过程中的性能表现。这些测试可以为生产环境中的应用程序提供关键数据,并帮助开发人员从根本上了解系统的实际性能。在本文中,我们将探讨进行性能压力测试…...
【计算机视觉】如何利用 CLIP 做简单的人脸任务?(含源代码)
文章目录 一、数据集介绍二、源代码 结果三、代码逐行解读 一、数据集介绍 CELEBA 数据集(CelebFaces Attributes Dataset)是一个大规模的人脸图像数据集,旨在用于训练和评估人脸相关的计算机视觉模型。该数据集由众多名人的脸部图像组成&a…...
基于显扬科技3D视觉相机的医疗试管分拣系统
行业现状: 医疗试管分拣是医疗行业中的一个重要环节,指将医疗实验室或生物技术研究中的试管按照一定的规则进行分拣,并对试管的类型、位置、数量等信息进行识别和管理。 随着医疗技术的不断发展和诊断治疗的精细化,医疗试管分拣…...
编译zlib
zlib被设计为一个免费的,通用的,法律上不受限制的-即不受任何专利保护的无损数据压缩库,几乎可以在任何计算机硬件和操作系统上使用。 官网:http://www.zlib.net/ 下载zlib源码:http://www.zlib.net/zlib1213.zip 备用地址&#x…...
如何让“ChatGPT自己写出好的Prompt的“脚本在这里
写个好的Prompt太费力了 在网上,你可能会看到很多人告诉你如何写Prompt,需要遵循各种规则,扮演不同的角色,任务明确、要求详细,还需要不断迭代优化。写一个出色的Prompt需要投入大量的时间和精力。甚至有一些公开的Pr…...
菜单选择shell
[rootes3 data]# vi action.sh #!/bin/bash . /etc/init.d/functionsecho -en "\E[$[RANDOM%731];1m"cat <<EOF请选择:1) 备份数据库2)清理日志3)软件升级4)软件回滚5)删库跑路EOFecho -en \E[0mread -p "请选择上面的项对应的数字1-5…...
Redis高可用性详解
目录 编辑 高可用性: 主从复制(Master-Slave Replication): 主从复制的一般工作流程: 哨兵模式(Sentinel Mode): 哨兵模式的一般工作流程: 集群模式(…...
MySQL(1) ---- 数据库介绍与MySQL概述
介绍 1、什么是数据库? 数据库:DateBase(DB),是存储和管理数据的仓库。数据库管理系统:DataBase Management System(DBMS),操纵和管理数据库的大型软件。SQL࿱…...
本地柴油发电机组排行2023年最新榜单
柴油发电机是通过燃烧柴油驱动发动机,进而发电的设备,广泛应用于电力中断或无电网地区。1. 柴油发电机的核心工作原理是什么?柴油发电机是一种将化学能转化为电能的设备,其核心是柴油发动机与交流发电机的组合。当柴油在发动机内燃…...
小米MIMO最新邀请码
欢迎使用,各得10元体验金...
SAP-ABAP:变量、常量、结构与内表声明(10篇博客合集) 第五篇:声明时的键值设计技巧:结构与内表的主键、非主键配置指南
变量、常量、结构与内表声明(10篇博客合集) 第五篇:声明时的键值设计技巧:结构与内表的主键、非主键配置指南如果把内表比作一张内存中的“数据库表”,那么键就是这张表的索引甚至主键。键的设计直接决定了数据的唯一性…...
3分钟掌握HashCalculator:你的文件完整性守护专家
3分钟掌握HashCalculator:你的文件完整性守护专家 【免费下载链接】HashCalculator 哈希值计算工具,批量计算/批量校验/查找重复文件/改变哈希值等,支持集成到系统右键菜单 项目地址: https://gitcode.com/gh_mirrors/ha/HashCalculator …...
学术写作创新突破!2026全流程AI论文工具精选指南
2026 年 AI 论文写作工具已进入全流程闭环 学术合规时代,千笔 AI(综合评分 99 分)中文学术场景标杆;Grammarly Academic与Elicit为英文论文写作首选;按需求匹配度 - 数据可信度 - 成本承受力三维模型选型,…...
基于可解释机器学习的城市人口流动空间降尺度分析实践
1. 项目概述:从宏观到微观,解码城市脉搏在城市的肌理中,人口的流动如同血液的循环,承载着经济活力、社会互动与空间结构的全部信息。无论是城市规划师优化公交线路,还是商业分析师评估店铺选址,亦或是公共卫…...
METSO A413248自动化系统
METSO A413248 自动化系统模块产品特点: 品牌归属:芬兰METSO(美卓)工业自动化系统原装备件。 产品类型:工业级自动化控制模块/接口模块。 核心功能:用于控制信号处理、数据采集及系统集成。 系统兼容&am…...
Burp Suite拦截与替换机制深度解析:从协议层到规则链
1. 这不是“点开就能用”的功能,而是你和目标系统之间的一道可编程闸门很多人第一次在Burp Suite里点开Proxy → Intercept,看到HTTP请求被拦下来,兴奋地改个User-Agent、删个Cookie就点Forward,以为自己已经掌握了“拦截与替换”…...
JWT弱密钥爆破实战:从HS256签名原理到CTF权限提升
1. 这不是密码学考试,而是一场“密钥猜谜”实战JWT(JSON Web Token)在现代Web系统中早已不是可选项,而是默认配置。登录成功后返回一串形如eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX2lkIjoxMjMsIm5hbWUiOiLnlKjliYkiLCJpYX…...
终极免费音乐解锁工具:打破平台枷锁,让音乐重获自由
终极免费音乐解锁工具:打破平台枷锁,让音乐重获自由 【免费下载链接】unlock-music 在浏览器中解锁加密的音乐文件。原仓库: 1. https://github.com/unlock-music/unlock-music ;2. https://git.unlock-music.dev/um/web 项目地…...
