Linux:用户账号管理和组账号管理

用户账号管理

在这里插入图片描述

账号控制总述

在这里插入图片描述
在这里插入图片描述

用户账户
作用:  1.可以登陆操作系统   2.不同的用户具备不同的权限
唯一标识:UID(编号从0开始的编号,默认最大60000)
  zhangsan(UID 1200)
管理员root的UID:永远为0
系统用户(为程序运行与服务运行提供身份)为1~999
普通用户的UID:默认从1000开始

组账户                                  
作用: 方便管理用户
唯一标识:GID(编号从0开始的编号,默认最大60000)

原则:Linux一个用户必须至少属于一个组
组账户的分类:
基本组:系统创建与用户同名
附加组(从属组):由管理员创建,由管理员进行加入

在这里插入图片描述
创建一个用户,默认情况下会创建一个同名的组,称为基本组,一般基本组只有一个成员。比如创建一个tom用户,就会创建一个tom组。
我们手动添加的组是附加组。
基本组我们一般是不用的,更多使用附加组。
一般我们给组设置权限,组里的用户会继承组里的权限。

解析用户账号文件

	本地账户的数据文件
–	/etc/passwd、/etc/shadow
–	/etc/group、/etc/gshadow

	/etc/passwd:存放用户基本信息配置文件
[root@localhost ~]# head -1  /etc/passwd
root:x:0:0:root:/root:/bin/bash
用户名:密码占位符:UID:基本组GID:用户描述信息:家目录:解释器

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

用户创建

	命令useradd
–	格式:useradd  [选项]...  用户名
•	常用命令选项
–	-u:指定 UID 标记号
–	-d:指定宿主目录(家目录),缺省为 /home/用户名
–	-G:指定所属的附加组
–	-s:指定用户的登录解释器

useradd

在这里插入图片描述

useradd -u(指定uid)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

id

在这里插入图片描述

useradd -d(指定家目录)

在这里插入图片描述
在这里插入图片描述
注意:用户的家目录不能自己创建,否则权限上可能会有问题。

useradd -G(指定附加组)

在这里插入图片描述

可以将一个用户加入到多个组:useradd  -G adm,root admin

useradd -s (指定用户的登录解释器)

-s:指定用户的登录解释器
shell:壳,解释器
用户---->解释器---->内核---->硬件
/sbin/nologin:禁止用户登录操作系统

在这里插入图片描述
在这里插入图片描述

用户修改

	usermod命令
–	格式:usermod  [选项]...  用户名
•	常用命令选项
–	-l:更改用户帐号的登录名称
–	-u:用户id
–	-d:家目录路径(不会自动创建家目录)
–	-s:登录解释器
–	-G:附加组     //重置附加组

修改用户帐号的登录名称

在这里插入图片描述

修改uid和登录解释器

在这里插入图片描述

修改家目录

在这里插入图片描述

直接用vim修改/etc/passwd

在这里插入图片描述
在这里插入图片描述

重置用户附加组

在这里插入图片描述
在这里插入图片描述
原来没有附加组,就会增加附加组;
原来有附加组,就会修改附加组;
在这里插入图片描述
在这里插入图片描述

设置用户密码

Linux用户没有密码不能登录。

	passwd命令
–	格式:passwd  [选项]...  用户名
[root@localhost ~]# passwd  nsd01       #交互式设置
更改用户 nsd01 的密码 。
新的 密码:                             #输入新密码
无效的密码: 密码少于 8 个字符
重新输入新的 密码:                #重新输入新密码
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# su  -  nsd01       #临时切换用户身份
[nsd01@localhost ~]$ passwd 
更改用户 nsd01 的密码 。
为 nsd01 更改 STRESS 密码。
(当前)UNIX 密码:           #输入旧密码
新的 密码:                          #输入新密码
重新输入新的 密码:             #重新输入新密码
passwd:所有的身份验证令牌已经成功更新。
[nsd01@localhost ~]$  exit    #退出。回到root用户身份

root修改普通用户密码

在这里插入图片描述
注:无需知道旧密码,直接改新密码
在这里插入图片描述

su切换用户

在这里插入图片描述
在这里插入图片描述

普通用户修改密码

在这里插入图片描述
普通用户修改密码的时候,必须要符合复杂性要求。

非交互式设置密码

	passwd命令,支持非交互式设置密码
–	--stdin:从标准输入(比如管道)取密码
[root@localhost ~]# echo 123   |   passwd  --stdin nsd01
[root@localhost ~]# echo 123456   |   passwd  --stdin nsd01
[root@localhost ~]# echo redhat   |   passwd  --stdin nsd01

在这里插入图片描述
在这里插入图片描述

用户密码信息存放文件:/etc/shadow

	/etc/shadow,保存密码字串/有效期等信息
–	每个用户记录一行,以:分割为9个字段
[root@localhost ~]# grep nsd01  /etc/shadow
nsd01:$6$NVe937Nd$B0n94XrpQ.LipQHTpYh0iV/M4jCLdccfHxzRLprdxDzwk8WDDh/TzdTfh8lA9y9WKJ.8Ls/l5.w/1W.nV6CFX/:18481:0:99999:7:::

字段1:用户帐号的名称
字段2:加密后的密码字符串
字段3:上次修改密码的时间(自1970-1-1到达上一次修改密码的时间,所经历的天数)
字段4:密码的最短有效天数,默认0(0表示随时都可以修改,1表示至少使用1天才可以修改密码)
字段5:密码的最长有效天数,默认99999
字段6:密码过期前的警告天数,默认7
字段7:密码过期后多少天禁用此用户账号
字段8:帐号失效时间,默认值为空
字段9:保留字段(未使用)

最后几个字段,可以理解为用户永远有效。

在这里插入图片描述
在这里插入图片描述
两个!!表示用户刚创建,没有设置过密码,只有设置了密码才能登录系统。

用户初始配置

在这里插入图片描述

配置文件来源

	配置文件来源
新建用户时,新建用户家目录,根据 /etc/skel 模板目录复制
[root@localhost ~]# ls -A /etc/skel/

[root@localhost ~]# touch  /etc/skel/haxi.txt
[root@localhost ~]# mkdir  /etc/skel/test
[root@localhost ~]# ls -A  /etc/skel/

[root@localhost ~]# useradd  nsd19
[root@localhost ~]# ls  -A   /home/nsd19

[root@localhost ~]# useradd nsd20
[root@localhost ~]# ls  -A  /home/nsd20

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

主要的初始配置文件

	主要的初始配置文件
–	~/.bash_profile:每次登录系统时执行,定义初始变量值
–	~/.bashrc:每次进入新的Bash环境时执行(开启新的终端)

[root@localhost ~]# vim   /root/.bashrc     #定义永久别名
alias   haha='echo   haha'

开启新的终端进行测试:
[root@localhost ~]# haha
haha

–	/etc/bashrc:全局配置文件,影响全体用户 (开启新的终端)
    
[root@localhost ~]# vim   /etc/bashrc 
alias   xixi='echo xixi'

[root@localhost ~]# useradd  nsd20
[root@localhost ~]# su  -  nsd20      #相当于开启新的终端
[nsd20@localhost ~]$ xixi
xixi
[nsd20@localhost ~]$ exit
登出
[root@localhost ~]#

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
root:/root/.bashrc
普通用户:/home/用户名/.bashrc
全体:/etc/bashrc

删除用户

在这里插入图片描述

	userdel命令
格式:userdel  [-r]  用户名
添加 -r 选项,宿主目录/用户邮件也一并删除
[root@localhost ~]# userdel -r nsd01  #连同家目录一并删除

[root@localhost ~]# userdel  nsd02  #不删除家目录,只删除用户信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

组账号管理

在这里插入图片描述

/etc/group,保存组帐号的基本信息

	/etc/group,保存组帐号的基本信息
每个组记录一行,以:分割为4个字段
[root@localhost ~]# grep stugrp /etc/group
stugrp:x:1504:nsd06
组名:组密码占位符:组的GID:组成员列表

[root@localhost ~]# groupadd tarena     #新建一个组
[root@localhost ~]# grep tarena  /etc/group  #查看组信息
tarena:x:1607:
[root@localhost ~]# useradd  kaka
[root@localhost ~]# useradd  nb
[root@localhost ~]# useradd  jack
[root@localhost ~]# useradd  kenji

在这里插入图片描述
在这里插入图片描述

组成员管理

	gpasswd命令
–	格式:gpasswd  [选项]...  组名
•	常用命令选项
–	-a:添加组成员,每次只能加一个
–	-d: 删除组成员,每次只能删一个
–	-M:定义组成员用户列表,可设置多个
–	-A:定义组管理员列表

]# gpasswd -a kaka tarena     #添加用户kaka到tarena组
]# grep tarena /etc/group     #查看组信息
]# id kaka
]# gpasswd -a nb  tarena         #添加用户nb到tarena组
]# grep tarena /etc/group

]# gpasswd  -M 'jack,kenji'  tarena   #定义组成员列表
]# grep   tarena   /etc/group

]# gpasswd -a nb  tarena
]# grep  tarena  /etc/group

]# gpasswd -d nb  tarena      #将nb用户从tarena组中删除
]# grep   tarena  /etc/group   
]# gpasswd  -M ‘’  tarena   #删除组中所有成员
]# grep   tarena   /etc/group

在这里插入图片描述
在这里插入图片描述

组管理员

在这里插入图片描述

-A:定义组管理员列表                
[root@localhost ~]# su - nb
[nb@localhost ~]$ gpasswd -a kaka tarena
gpasswd:没有权限。
[nb@localhost ~]$ exit
[root@localhost ~]# gpasswd -A nb tarena   #设置组管理员
[root@localhost ~]# su - nb
[nb@localhost ~]$ gpasswd -a kaka tarena
正在将用户“kaka”加入到“tarena”组中
[nb@localhost ~]$ exit
[root@localhost ~]#

在这里插入图片描述

/etc/gshadow:组的管理信息配置文件

	/etc/gshadow:组的管理信息配置文件
[root@localhost ~]# grep tarena  /etc/gshadow
tarena:!:nb:
组名:密码加密字符串:组的管理员列表:组成员列表

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

删除组账号

	删除组账号:删除组的时候,不可以删除基本组
[root@localhost ~]# groupdel  tarena
[root@localhost ~]# groupdel  tmooc
[root@localhost ~]# grep  tmooc  /etc/group
[root@localhost ~]# grep  tarena  /etc/group

在这里插入图片描述

小结

/etc/passwd:存放用户基本信息
/etc/shadow:存放用户密码信息
/etc/group:存放组基本信息
/etc/gshadow:存放组的管理信息

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

信息安全工程师(11)网络信息安全科技信息获取

一、信息获取的重要性 在网络安全领域,及时、准确地获取科技信息对于防范和应对网络威胁至关重要。这些信息可以帮助安全团队了解最新的攻击手段、漏洞信息、防护技术等,从而制定有效的安全策略和应对措施。 二、信息获取的来源 网络信息安全科技信息的获…

运行 xxxxApplication 时出错。命令行过长。 通过 JAR 清单或通过类路径文件缩短命令行,然后重新运行。

一、问题描述 运行 xxxxApplication 时出错。命令行过长。 通过 JAR 清单或通过类路径文件缩短命令行,然后重新运行。 二、问题分析 在idea中,运行一个springboot项目,在使用大量的库和依赖的时候,会出现报错“命令行过长”&…

一文读懂HPA弹性扩展自定义指标和缩放策略

一文读懂HPA弹性扩展自定义指标和缩放策略 目录 1 概念 1.1 什么是HPA1.2 HPA 的自定义指标(Custom Metrics)与扩展1.3 基于多指标的 HPA 1.3.1 工作原理1.3.2 例子:基于 CPU、内存和 QPS 的 HPA 配置 1.4 HPA 的扩缩容行为(Beh…

带你0到1之QT编程:十八、最简单之TCP协议工作原理及实战编程

此为QT编程的第十八谈!关注我,带你快速学习QT编程的学习路线! 每一篇的技术点都是很很重要!很重要!很重要!但不冗余! 我们通常采取总-分-总和生活化的讲解方式来阐述一个知识点! …

OpenCV运动分析和目标跟踪(3)计算图像序列的加权平均值函数accumulateWeighted()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 更新一个运行平均值。 该函数计算输入图像 src 和累积器 dst 的加权和,使得 dst 成为帧序列的运行平均值: dst ( x , y…

git使用“保姆级”教程1——简介及配置项设置

一、git介绍 Git是一个开源的分布式版本控制系统,用于:敏捷高效地处理任何或小或大的项目。Git 是Linus Torvalds 为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。版本控制: 版本控制(Revision control&#xff…

《概率论与数理统计》学渣笔记

文章目录 1 随机事件和概率1.1 古典概型求概率随机分配问题简单随机抽样问题 1.2 几何概型求概率1.3 重要公式求概率 2 一维随机变量及其分布2.1 随机变量及其分布函数的定义离散型随机变量及其概率分布(概率分布)连续型随机变量及其概率分布&#xff08…

【MYSQL】聚合查询、分组查询、联合查询

目录 聚合查询聚合函数count()sum()avg()max()和min()总结 分组查询group by 子句having 子句 联合查询笛卡尔积内连接外连接自连接子查询单行子查询多行子查询from子句使用子查询 合并查询 聚合查询 聚合查询就是针对表中行与行之间的查询。 聚合函数 count() count(列名)&a…

计算机网络笔记002

### 课堂讨论对话 **学生A**: 老师,计算机网络的组成是怎样的?🤔 **老师**: 非常好的问题!计算机网络主要由硬件、软件和通信协议三部分组成。我们先从硬件开始讨论吧。 **学生B**: 硬件包括哪些设备呢?&#x1f60…

【案例分享】智慧工地以及档案资料电子化

汇匠源分别在2020年和2023年与中国电建昆明院进行了项目合作,其中包括智慧工地的信息管理平台建设、数据录入、接口研发等;档案资料电子化的施工过程资料整理、归档等工作。 智慧工地 — 项目概况 — 项目名称:某JR项目智慧工地信息管理…

DriveMatriX Highway Dataset :高速公路驾驶数据集(猫脸码客 第196期)

DriveMatriX Highway Dataset 1.0:自动驾驶与ADAS感知验证的里程碑 在当今快速发展的自动驾驶(AV)和高级驾驶辅助系统(ADAS)领域,数据的获取与处理成为了推动技术进步的关键因素。为了在这些复杂且多变的交…

Allegro第二季度GMV增长11.1%,活跃买家突破2000万

9月19日,波兰电商巨头Allegro公布了2024年第二季度财报。第二季度,Allegro的商品交易总额(GMV)同比增长11.1%,调整后EBITDA同比增长31.5%,均好于预期。 财报显示,Allegro各区域活跃买家数量超过…

java日志框架之Log4j

文章目录 一、Log4j简介二、Log4j组件介绍1、Loggers (日志记录器)2、Appenders(输出控制器)3、Layout(日志格式化器) 三、Log4j快速入门四、Log4j自定义配置文件输出日志1、输出到控制台2、输出到文件3、输出到数据库 五、Log4j自…

学习记录:js算法(四十二): 寻找两个正序数组的中位数

文章目录 寻找两个正序数组的中位数我的思路网上思路 总结 寻找两个正序数组的中位数 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 示例 1: 输入:nums1 [1,3], n…

Transformer推理结构简析(Decoder + MHA)

一、Transformer 基本结构 Transformer由encoder和decoder组成,其中: encoder主要负责理解(understanding) The encoder’s role is to generate a rich representation (embedding) of the input sequence, which the decoder c…

【深度学习】(5)--搭建卷积神经网络

文章目录 搭建卷积神经网络一、数据预处理1. 下载数据集2. 创建DataLoader(数据加载器) 二、搭建神经网络三、训练数据四、优化模型 总结 搭建卷积神经网络 一、数据预处理 1. 下载数据集 在PyTorch中,有许多封装了很多与图像相关的模型、…

Java/Spring项目的包开头为什么是com?

Java/Spring项目的包开头为什么是com? 下面是一个使用Maven构建的项目初始结构 src/main/java/ --> Java 源代码com.example/ --->为什么这里是com开头resources/ --> 资源文件 (配置、静态文件等)test/java/ --> 测试代码resourc…

Visual Studio-X64汇编编写

纯64位汇编: includelib ucrt.lib includelib legacy_stdio_definitions.lib includelib user32.libextern printf:proc extern MessageBoxA:proc.data szFormat db "%s",0 szHello db "HelloWorld",0 szRk db "123",0.code start p…

无线安全(WiFi)

免责声明:本文仅做分享!!! 目录 WEP简介 WPA简介 安全类型 密钥交换 PMK PTK 4次握手 WPA攻击原理 网卡选购 攻击姿态 1-暴力破解 脚本工具 字典 2-Airgeddon 破解 3-KRACK漏洞 4-Rough AP 攻击 5-wifi钓鱼 6-wifite 其他 WEP简介 WEP是WiredEquivalentPri…

百度智能云API调用

植物识别API import base64 import urllib import requestsAPI_KEY "你的图像识别API_KEY" SECRET_KEY "你的图像识别SECRET_KEY"def main():url "https://aip.baidubce.com/rest/2.0/image-classify/v1/plant?access_token" get_access_t…