当前位置: 首页 > news >正文

用户/用户组管理

用户管理 *

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&#xff1a…...

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请选择&#xff1a;1) 备份数据库2)清理日志3)软件升级4)软件回滚5)删库跑路EOFecho -en \E[0mread -p "请选择上面的项对应的数字1-5&#xf…...

Redis高可用性详解

目录 ​编辑 高可用性&#xff1a; 主从复制&#xff08;Master-Slave Replication&#xff09;&#xff1a; 主从复制的一般工作流程&#xff1a; 哨兵模式&#xff08;Sentinel Mode&#xff09;&#xff1a; 哨兵模式的一般工作流程&#xff1a; 集群模式&#xff08…...

MySQL(1) ---- 数据库介绍与MySQL概述

介绍 1、什么是数据库&#xff1f; 数据库&#xff1a;DateBase&#xff08;DB&#xff09;&#xff0c;是存储和管理数据的仓库。数据库管理系统&#xff1a;DataBase Management System&#xff08;DBMS&#xff09;&#xff0c;操纵和管理数据库的大型软件。SQL&#xff1…...

MFC内存泄露

1、泄露代码示例 void X::SetApplicationBtn() {CMFCRibbonApplicationButton* pBtn GetApplicationButton();// 获取 Ribbon Bar 指针// 创建自定义按钮CCustomRibbonAppButton* pCustomButton new CCustomRibbonAppButton();pCustomButton->SetImage(IDB_BITMAP_Jdp26)…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

在四层代理中还原真实客户端ngx_stream_realip_module

一、模块原理与价值 PROXY Protocol 回溯 第三方负载均衡&#xff08;如 HAProxy、AWS NLB、阿里 SLB&#xff09;发起上游连接时&#xff0c;将真实客户端 IP/Port 写入 PROXY Protocol v1/v2 头。Stream 层接收到头部后&#xff0c;ngx_stream_realip_module 从中提取原始信息…...

大模型多显卡多服务器并行计算方法与实践指南

一、分布式训练概述 大规模语言模型的训练通常需要分布式计算技术,以解决单机资源不足的问题。分布式训练主要分为两种模式: 数据并行:将数据分片到不同设备,每个设备拥有完整的模型副本 模型并行:将模型分割到不同设备,每个设备处理部分模型计算 现代大模型训练通常结合…...

实现弹窗随键盘上移居中

实现弹窗随键盘上移的核心思路 在Android中&#xff0c;可以通过监听键盘的显示和隐藏事件&#xff0c;动态调整弹窗的位置。关键点在于获取键盘高度&#xff0c;并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

Git 3天2K星标:Datawhale 的 Happy-LLM 项目介绍(附教程)

引言 在人工智能飞速发展的今天&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;已成为技术领域的焦点。从智能写作到代码生成&#xff0c;LLM 的应用场景不断扩展&#xff0c;深刻改变了我们的工作和生活方式。然而&#xff0c;理解这些模型的内部…...

智能职业发展系统:AI驱动的职业规划平台技术解析

智能职业发展系统&#xff1a;AI驱动的职业规划平台技术解析 引言&#xff1a;数字时代的职业革命 在当今瞬息万变的就业市场中&#xff0c;传统的职业规划方法已无法满足个人和企业的需求。据统计&#xff0c;全球每年有超过2亿人面临职业转型困境&#xff0c;而企业也因此遭…...