你一定要会的【用户和用户组管理】(下)

简介: 1 用户和用户组概述1.1 用户介绍


示例:

1)-u 指定用户的UID

[root@localhost ~]# useradd -u 2000 helen   //添加helen用户,并指定UID为2000
[root@localhost ~]# tail -1 /etc/passwd     //查看passwd中helen的信息
helen:x:2000:2000::/home/helen:/bin/bash
复制代码


2)-d 指定用户的宿主目录

[root@localhost ~]# useradd -d /home/test/ user04   //创建用户,并指定家目录
[root@localhost ~]# tail -1 /etc/passwd   
user04:x:2003:2003::/home/test/:/bin/bash
复制代码


3)-e 指定用户的账户失效时间

[root@localhost ~]# useradd -e 2022-6-30 user05  //创建用户并指定账户失效时间为2022年6月30日
[root@localhost ~]# tail -1 /etc/shadow   //查看shadow文件,19173表示距离1970年1月1日的19173天
user05:!!:19044:0:99999:7::19173:
复制代码


4)-g 指定用户基本组

[root@localhost ~]# useradd -g hr user06    //创建用户并指定用户基本组为hr组
[root@localhost ~]# id user06        //查看用户信息,基本组为hr组
uid=2005(user06) gid=1002(hr) 组=1002(hr)
复制代码


5)-G 指定用户附加组

[root@localhost ~]# useradd -G hr user07   //创建用户并指定用户附加组为hr组
[root@localhost ~]# id user07              //查看用户信息,附加组为hr组
uid=2006(user07) gid=2006(user07) 组=2006(user07),1002(hr)
复制代码


6)-M 不建立家目录

[root@localhost ~]# useradd -M user08     //创建用户且不建立家目录
[root@localhost ~]# ls /home              //查看/home下没有user08的目录
alice  jack    nancy    user05   user07     
Amy    helen   user01   user06   zhangsan
复制代码


7)-s 指定用户的登录shell(一般用于程序用户)

[root@localhost ~]# useradd -s /sbin/nologin apache   //创建用户并指定登录shell为/sbin/nologin,该用户无法登录系统
[root@localhost ~]# tail -1 /etc/passwd
apache:x:2008:2008::/home/apache:/sbin/nologin
复制代码


2.3 设置/更改用户口令 passwd

root用户可以指定用户名作为参数,对指定账号的密码进行管理。不指定用户名时,修改当前账号的密码。

普通用户只能执行单独的passwd命令修改自己的密码。

命令格式:

passwd [用户名]
复制代码


常用选项:

选项 作用
-d 清空指定用户的密码,仅使用用户名即可登录系统
-l 锁定用户密码,锁定的用户账号将无法再登录系统。(一定要事先设好密码)
-u 解锁用户密码
-S 查看用户账户的状态(是否被锁定)


示例:

1)设置或修改用户密码

[root@localhost ~]# passwd nancy   //设置或修改nancy用户的密码
更改用户 nancy 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# echo "linux666" | passwd --stdin nancy  //简便设置用户密码
更改用户 nancy 的密码 。
passwd:所有的身份验证令牌已经成功更新。
复制代码


2)-d 清除用户密码,使用用户名可直接登录

[root@localhost ~]# passwd -d nancy   //清除nancy用户的密码
清除用户的密码 nancy。
passwd: 操作成功
复制代码


3)锁定和解锁用户

[root@localhost ~]# passwd -l nancy    //锁定用户密码,锁定后用户无法登陆
锁定用户 nancy 的密码 。
passwd: 操作成功
[root@localhost ~]# passwd -u nancy   //解锁用户,因nancy无密码,系统提示不安全,必须使用-f才能解锁
解锁用户 nancy 的密码。
passwd: 警告:未锁定的密码将是空的。
passwd: 不安全的操作(使用 -f 参数强制进行该操作)
[root@localhost ~]# passwd -S nancy      //查看nancy用户状态,仍为锁定状态
nancy LK 2022-02-21 0 99999 7 -1 (密码已被锁定。)
复制代码


2.4 修改用户账号的属性 usermod

命令格式:

usermod  [选项]... 用户名
复制代码


常用选项:

选项 作用
-l 更改用户账号的登录名称。格式:usermod -l 新名称 旧名称
-L 锁定用户账户
-U 解锁用户账户
以下选项与useradd命令中的含义相同
-u 修改用户的UID号
-d 修改用户的宿主目录位置
-e 修改用户的账户失效时间,可使用YYYY–MM-DD的日期格式
-g 修改用户的基本组名(或使用GID号)
-G 修改用户的附加组名(或使用GID号)
-s 指定用户的登录Shell


示例:

[root@localhost ~]# usermod -l sasha helen    //将helen的用户名改成sasha
[root@localhost ~]# usermod -L sasha          //锁定用户sasha
[root@localhost ~]# passwd -S sasha           //查看sasha状态,已被锁定
sasha LK 2022-02-21 0 99999 7 -1 (密码已被锁定。)
[root@localhost ~]# usermod -U sasha          //解锁用户sasha
[root@localhost ~]# passwd -S sasha           //查看sasha状态,正常状态
sasha PS 2022-02-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)
复制代码


2.5 删除用户 userdel

命令格式:

userdel [-r] 用户名  //结合-r可以删除宿主目录
复制代码


示例:

[root@localhost ~]# userdel user05    //删除用户user05,不加-r会保留家目录
[root@localhost ~]# ls /home          //查看/home下user05的家目录仍存在
alice  jack    nancy    user05   user07   yuji
Amy    helen   user01   user06   zhangsan
[root@localhost ~]# userdel -r user06    //删除用户user06及其家目录
[root@localhost ~]# ls /home          //查看/home下user06的家目录不存在
alice   jack    nancy    user05   user07   
yuji    Amy     helen    user01   zhangsan
复制代码


2.6 用户账号的初始配置文件

文件来源:

新建用户账号时,从 /etc/skel 目录中复制而来, 比如默认bin/bash,默认家目录。

用户宿主目录下的初始配置文件只对当前用户有效。

主要的用户初始配置文件:

  • ~/.bash_profile : 这个文件是为系统全局变量配置文件,可以通过重启系统或者执行 ”source /etc/profile“ 命令使profile文件被读取。
  • ~/.bashrc: 这个文件实际上是/etc/profile的子目录,存放的是一些应用程序所需的启动脚本。
  • ~/.bash_logout: 每一个允许bash shell 的用户都会执行此文件。可通过执行bash命令打开一个新的bash,使bashrc文件被读取。

备注:

  • 修改/etc/profile文件中相关配置,切换bash或者用户后都需要source /etc/profile才生效;
  • 修改/etc/bashrc文件中相关配置,切换bash或者用户后直接生效。


3 组管理


3.1 组账号文件

(1)文件位置:

  • /etc/group:保存组账号基本信息。
  • /etc/gshadow:保存组账号的密码信息。

(2)/etc/group文件内容:

[root@localhost ~]# head -3 /etc/group   //查看group文件前三行
root:x:0:
bin:x:1:
daemon:x:2:
复制代码


group文件每行分成了4段,每个字段含义如下:

  • 字段1:组账号名称。
  • 字段2:密码占位符x;通常不需要设置组密码。由于安全原因,该密码被记录在/etc/gshadow中,因此显示为'x'。类似/etc/shadow文件。
  • 字段3:组编号GID。
  • 字段4:本组的成员用户列表 (一般不包括基本组对应的用户帐号),多个成员之间以逗号“,"分隔 。
相关文章
|
监控 算法 Java
Java虚拟机(JVM)垃圾回收机制深度剖析与优化策略####
本文作为一篇技术性文章,深入探讨了Java虚拟机(JVM)中垃圾回收的工作原理,详细分析了标记-清除、复制算法、标记-压缩及分代收集等主流垃圾回收算法的特点和适用场景。通过实际案例,展示了不同GC(Garbage Collector)算法在应用中的表现差异,并针对大型应用提出了一系列优化策略,包括选择合适的GC算法、调整堆内存大小、并行与并发GC调优等,旨在帮助开发者更好地理解和优化Java应用的性能。 ####
408 27
|
监控 安全 网络安全
云计算与网络安全:技术挑战与解决方案
随着云计算技术的飞速发展,其在各行各业的应用越来越广泛。然而,随之而来的网络安全问题也日益凸显。本文将从云服务、网络安全和信息安全等技术领域出发,探讨云计算面临的安全挑战及相应的解决方案。通过实例分析和代码示例,旨在帮助读者更好地理解云计算与网络安全的关系,提高网络安全防护意识。
388 56
|
Web App开发 前端开发 iOS开发
CSS加载动画大全 126种
CSS加载动画大全是一个css Loaders加载动画特效汇总,一共包含126种加载动画效果,不同样式不同图案,简单实用,一览包含所有,会让你在等待的过程中,体验视觉盛宴,给用户不一般的加载体验,欢迎下载试试!代码适用浏览器:搜狗、360、FireFox(建议)、Chrome、Safari、Opera、傲游、世界之窗,是一款不错的的特效插件,希望大家喜欢!
350 2
WK
|
机器学习/深度学习 人工智能 自然语言处理
深度学习的特点及未来发展趋势
深度学习是人工智能关键技术,通过多层神经网络自动学习数据特征,尤其擅长处理高维复杂信息。其核心在于多层结构、自动特征提取、强大的非线性表征能力和数据驱动特性。已在计算机视觉、自然语言处理、语音识别等领域取得突破,如CNN在图像识别上的应用,RNN在文本分析中的表现。未来,深度学习将持续拓展应用范围,同时面临提高模型可解释性和保障数据安全等挑战。
WK
902 1
|
机器学习/深度学习 人工智能 自然语言处理
Transformer介绍
Transformer模型于2017年由Google提出,其在BERT中大放异彩,革新了NLP领域。Transformer的优势在于并行计算能力和处理长距离依赖,通过自注意力机制避免了RNN/LSTM的梯度问题。它由编码器和解码器组成,使用位置编码处理序列信息。Transformer在机器翻译、文本生成、问答系统等多个任务中提升效率和准确性,并扩展至计算机视觉和语音识别。随着AI发展,Transformer成为大模型核心技术,推动整个产业进步。
|
SQL 关系型数据库 数据库
一文熟悉PolarDB-PG 分区表核心特性
在 PolarDB-PG 数据库中,分区表 (Partitioned Table) 使您能够将非常大的表分解为更小且更易于管理的部分,这个部分称为分区 (Partition) 。 每个分区都是一个独立的对象,具有自己的名称和可选的存储特性。本文首先简单的介绍了分区表策略以及它的优势特点,然后介绍了PolarDB-PG 分区表支持的查询优化特性,最后介绍了分区表上的本地索引和全局索引,从而帮助用户对PolarDB-PG 分区表有一个全面的了解。
|
Windows 数据安全/隐私保护 网络安全
Navicat11全系列激活(注册机)
Navicat11全系列激活(注册机)百度网盘下载地址。 链接:http://pan.baidu.com/s/1bpgOqE7 密码:i6cf 安装 Navicat 11 for Windows 系列原版程序。 Navicat | 下载 Navicat 14 天 Windows、Mac 和 Linux 的试用版 试用版哈,别忘记了。 以管理员的身份打开Navica
3393 0
|
机器学习/深度学习 计算机视觉
10 协方差矩阵与主成成分分析
10 协方差矩阵与主成成分分析
548 0
|
NoSQL 算法 Java
【Redis基础指南】分析一下Redission实现分布式锁的点点滴滴(含加解锁源码)
【Redis基础指南】分析一下Redission实现分布式锁的点点滴滴(含加解锁源码)
871 0
【Redis基础指南】分析一下Redission实现分布式锁的点点滴滴(含加解锁源码)
|
存储
病案管理系统的定义、流程以及应用分析
病案管理是指对病历和相关信息进行系统化管理的过程。病案是医疗机构记录和保存的与患者有关的医疗文件,它包括病人的基本信息、诊疗过程、治疗结果等内容。病案管理通过建立制度化的工作流程和标准化的操作规范,将病人的病历信息进行收集、整理、存储和分析,以便为医务人员提供准确、完整的医疗信息,同时为机构管理者提供数据支持,帮助其进行绩效评估、医疗质量控制和资源分配。
556 0