CentOS 7基础操作13_Linux下添加、修改、删除用户账号

1、添加、修改、删除用户账号

1)useradd命令——添加用户账号。

useradd    [选项]    用户名

        最简单的用法是,不添加任何选项.只使用用户名作为useradd命令的参数,按系统默认配置建立指定的用户账号。在CentOS系统中,使用useradd命令添加用户账号时主要完成以下几项任务。

  • 在/etc/passwd文件和/etc / shadow文件的末尾增加该用户账号的记录.
  • 若未明确指定用户的宿主目录.则在/home目录下自动创建与该用户账号同名的宿主目录.并在该目录中建立用户的各种初始配置文件.
  • 若没有明确指定用户所属的组,则自动创建与该用户账号同名的基本组账号,组账号的记录信息将保存到/etc/group 和/etc/gshadow文件中.

        例如,执行以下操作可以创建名为 zhangsan的用户账号,并通过查看passwd、shadow文件和home目录来确认新增用户账号时的变化.

[root@node1 ~]# useradd zhangsan
[root@node1 ~]# tail -1 /etc/passwd
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash
[root@node1 ~]# tail -1 /etc/shadow
zhangsan:!!:19881:0:99999:7:::
[root@node1 ~]# ls -A /home/zhangsan/
.bash_logout  .bash_profile  .bashrc  .mozilla

        如果结合useradd命令的各种选项.可以在添加用户账号的同时对UD号、宿主目录、登录Shell等相关属性进行指定。以下列出了useradd命令中用于设置账号属性的几个常见选项。

  • -u:指定用户的UD号,要求该UD号码未被其他用户使用.
  • -d:指定用户的宿主目录位置(当与-M一起使用时.不生效)。-
  • -e:指定用户的账户失效时间,可使用YYYY-MM-DD的日期格式.
  • -g:指定用户的基本组名〈或使用GID号).
  • -G:指定用户的附加组名(或使用GID号).
  • -M:不建立宿主目录,即使/etc/login , defs系统配置中已设定要建立宿主目录。
  • -s:指定用户的登录Shell.

        上述的各个选项可以组合使用.例如,执行以下操作可以创建一个辅助管理员账号admin,将其基本组指定为“wheel”,附加组指定为“root”,宿主目录指定为“/ admin".

[root@node1 ~]# useradd -d /admin -g wheel -G root admin

        在账号管理工作中.有时候会希望在新建账号的同时指定该账号的有效期限.或者要求新建的账号不能登录系统〈如仅用于访问FTP服务),这时可分别使用“-e”和“-s”选项。例如.执行以下操作可以创建一个名为b_down的FTP账号〈禁止终端登录),该账号将于2020-12-31失效,

[root@node1 ~]# useradd -e 2020-12-31 -s /sbin/nologin b_down

2)passwd命令——为用户账号设置密码

        通过useradd 命令新增用户账号以后,还需要为其设置一个密码才可以正常使用。使用passwd命令可以设置或修改密码, root 用户有权管理其他账号的密码〈指定账号名称作为参数即可),例如,执行“posswd zhangsan”命令可为zhangsan账号设置登录密码.要根据提示重复输入两次,具体操作如下:

[root@node1 ~]# passwd zhangsan
更改用户 zhangsan 的密码 。
新的 密码:重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

        用户账号具有可用的登录密码以后.就可以从字符终端进行登录了。虽然root用户可以指定用户名作为参数.对指定账号的密码进行管理.但是普通用户却只能执行单独的“passwd”命令修改自己的密码。

        对于普通用户自行设置的密码,要求具有一定的复杂性(如不要直接使用英文单词,长度保持在六位以上),否则系统可能拒绝进行设置,普通用户设置自身的登录密码时.需要先输入旧的密码进行验证。例如,以下操作是用户zhangsan更改登录密码的过程.

[zhangsan@node1 ~]$ passwd 
更改用户 zhangsan 的密码 。
为 zhangsan 更改 STRESS 密码。
(当前)UNIX 密码:                       ##输入旧密码
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。

        使用passwd命令除了可以修改账号的密码以外.还能够对用户账号进行锁定.解锁,也可以将用户的密码设置为空〈无须密码即可登录).与上述功能相关的几个选项如下所示。

  • -d:清空指定用户的密码,仅使用用户名即可登录系统.
  • -l:锁定用户账户.
  • -s:查看用户账户的状态(是否被锁定).
  • -u。解锁用户账户.

        通过passwd 命令锁定的用户账号.将无法再登录系统〈shadow文件中的对应密码字串前将添加"!!”字符),只能由管理员来解除锁定。例如,以下操作分别用于锁定.解锁用户账号zhangsan。

[root@node1 ~]# passwd -l zhangsan                       ##锁定账号
锁定用户 zhangsan 的密码 。
passwd: 操作成功
[root@node1 ~]# 
[root@node1 ~]# passwd -S zhangsan                       ##查看账号锁定状态
zhangsan LK 2024-06-07 0 99999 7 -1 (密码已被锁定。)
[root@node1 ~]# 
[root@node1 ~]# passwd -u zhangsan                       ##解锁账号
解锁用户 zhangsan 的密码。
passwd: 操作成功
[root@node1 ~]# 
[root@node1 ~]# passwd -S zhangsan 
zhangsan PS 2024-06-07 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

3)usermod命令——修改用户账号属性

        对于操作系统中已经存在的用户账号,可以使用usarmod命令重新设置各种属性。usermod命令同样需要指定账号名称作为参数。usermod命令中较常使用的几个选项如下所述.

  • -u:修改用户的UID号。
  • -d:修改用户的宿主目录位置。
  • -e:修改用户的账户失效时间,可使用YYYY一MM一DD的日期格式。
  • -g:修改用户的基本组名〈或使用GID号).
  • -G:修改用户的附加组名(或使用GID号).
  • -s:指定用户的登录Shell,
  • -I:更改用户账号的登录名称〈Login Name) .

        使用usermod命令时,其大部分的选项与useradd 命令的选项是对应的.作用也相似。除此以外,还有两个选项“-L”和“-U”,分别用于锁定.解锁用户账号,这两个选项与passwd命令的“-/”和"-u”选项的作用基本相同,但是存在大小写区别.

        若要修改已有账号的宿主目录,需要先将该账号原有的宿主目录转移到新的位置,然后通过usermod命令设置新的宿主目录位置。例如,执行以下操作可以将admin用户的宿主目录由/admin转移至/hame/ admin.

[root@node1 ~]# mv /admin /home/
[root@node1 ~]# usermod -d /home/admin admin

        通过usemod命令同样可以对账号进行锁定.解锁操作,经usermod命令锁定的账号也不能登录系统〈shadow文件中的对应密码字串前将添加“!”字符)。例如,以下操作分别用于锁定.解锁用户账号admin,但是在CentOS 7系统中,如果账户没有设置密码,那么该账户锁定后将无法使用"usermod -U”命令解锁。因此在锁定admin账户之前需要先为其设置账户密码。

[root@node1 ~]# passwd admin
更改用户 admin 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
[root@node1 ~]# 
[root@node1 ~]# usermod -L admin       ##锁定账号
[root@node1 ~]# 
[root@node1 ~]# passwd -s admin        ##查看账号锁定状态
passwd:错误的参数 -s:未知的选项
[root@node1 ~]#   
[root@node1 ~]# usermod -U admin       ##解锁账号

        若需要修改账号的登录名称,可以使用“-I”选项。例如.执行以下操作可以将admin 用户的登录名称更改为webmaster,下次登录时生效.

[root@node1 ~]# usermod -l webadmin admin
[root@node1 ~]# grep "admin" /etc/passwd
webadmin:x:1002:10::/home/admin:/bin/bash

4)userdel命令——删除用户账号

        当操作系统中的某个用户账号不再使用时〈如该员工已经从公司离职等情况).可以使用userdel命令将该用户账号删除.使用该命令也需要指定账号名称作为参数,结合“一r”选项可同时删除宿主目录.例如,执行以下操作将删除名为zhangsan的用户账号,同时删除其宿主目录/home/zhangsan

[root@node1 ~]# userdel -r zhangsan 
[root@node1 ~]# ll -d /home/zhansan           ##确认宿主目录是否已删除
ls: 无法访问/home/zhansan: 没有那个文件或目录

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

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

相关文章

融云:应用出海新增长引擎,GPT-4o 后的 AI 创新与用户运营

近日,融云与 TikTok、维卓联合在京举办了“十年出海,遇上 AI”私享会。 会上,融云解决方案架构师于洪达带来了《应用出海新增长引擎,AI 创新与用户精细化运营》主题分享,探讨在 AI 技术大潮下应用出海通过创新运营方式…

从0开发一个Chrome插件:背景脚本实战——开发一个显示当前时间的小功能

前言 这是《从0开发一个Chrome插件》系列的第八篇文章,本系列教你如何从0去开发一个Chrome插件,每篇文章都会好好打磨,写清楚我在开发过程遇到的问题,还有开发经验和技巧。 专栏: 从0开发一个Chrome插件:什么是Chrome插件?从0开发一个Chrome插件:开发Chrome插件的必要…

等级保护2.0新变化

等级保护2.0:新时代网络安全的新篇章 引言 随着信息技术的飞速发展,网络安全已成为国家安全的重要组成部分。等级保护2.0作为我国网络安全等级保护制度的最新标准,标志着我国网络安全等级保护工作迈入了新时代。本文将探讨等级保护2.0的新变…

金融科技:跨境支付的新引擎,开启全球化支付新时代

一、引言 在全球经济一体化的今天,跨境支付作为连接各国经贸往来的重要桥梁,其便捷性、安全性和效率性成为了各国企业和消费者关注的焦点。金融科技,作为现代金融与传统科技深度融合的产物,正以其独特的创新力和推动力,成为跨境支付领域的新引擎,引领着全球化支付新时代…

java应用性能优化思路(一)

1.动静分离,将静态资源交给nginx管理,动态请求交给我们开发的应用程序处理; 2.为数据库表常用查询字段添加索引; 3.如果查询的sql语句还打印在控制台,需将日志级别提高到info或error; logging:level:com.atguigu.gu…

Visual Studio的快捷按键

Visual Studio的快捷按键对于提高编程效率至关重要。以下是一些常用的Visual Studio快捷按键,并按照功能进行分类和归纳: 1. 文件操作 Ctrl O:打开文件Ctrl S:保存文件Ctrl Shift S:全部保存Ctrl N:…

群体优化算法---灰狼优化算法学习介绍以及在卷积神经网络训练上的应用

**长文预警**介绍 在自然界中,狼群的社会结构和捕猎策略展现了高度的智能和协调性,灰狼优化算法(Grey Wolf Optimizer, GWO)正是受此启发提出的一种群体智能优化算法。GWO主要模拟了灰狼的社会等级制度和捕猎行为,其核…

深度学习 - 激活函数

深度学习 - 激活函数 激活函数(Activation Function)是神经网络中的关键组件,用于引入非线性,使得网络能够学习和表示复杂的模式和关系。以下是几种常见的激活函数及其详细解释: 1. Sigmoid(S型激活函数&…

Playwright框架入门

自从2023年底playwright框架火起来之后,很多小伙伴咨询我们这个框架,甚至问我们什么时候出这个课程. 这步这个课程在我们千呼万唤中出来了.具体的课程大纲和试听可以联系下方二维码获取. 今天给大家分享一下playwright的安装和一些常用API,为后续的学习做好准备工作. Playwrig…

Unit9

Unit9 gene 基因,生产,类型 genetic genius ingenious generate generation degenerate genuine generous generosity gender genre homogeneous time 时间 time timely timer first-timer temporary temporarily tempo contemporary dra 戏剧…

欧智通恒玄BES2600W基于Openharmony v3.0的分布式软总线测试过程记录

恒玄BES2600W SoC 的欧智通的单板基于Openharmony v3.0的底座,其测试的样例代码是基于恒玄公司开发的轻量带屏显示产品样例代码,主要包括图形、软总线等特性产品的开发。 基础介绍: ​ L0的系统基于Liteos-m的m内核,网络使用lwi…

计算机网络--传输层

计算机网络--计算机网络概念 计算机网络--物理层 计算机网络--数据链路层 计算机网络--网络层 计算机网络--传输层 计算机网络--应用层 1. 概述 1.1 传输层的意义 网络层可以把数据从一个主机传送到另一个主机,但是没有和进程建立联系。 传输层就是讲进程和…

【中间件系列】浅析redis是否适合做消息队列

文章目录 一、简单的list消息队列1.命令示例2.伪代码示例3.方案优劣 二、Pub/Sub发布订阅1.消息丢失2.消息堆积 三、相对成熟的Stream1.redis命令介绍2.多消费者组测试3.Stream会持久化吗?4.消息堆积如何解决? 总结 用redis也是比较久了,并且…

Unity3d简单对话系统的实现——使用Dialogue editor完成对话系统

目录 前言 使用方法 1.下载dialogue editor 2.新建空物体 3.对对话内容进行编辑 4.对话画布建立 5.触发对话框代码 结束语 前言 今天是坚持写博客的第21天,很高兴自己可以坚持,也希望能与大家一起进步。我们今天来看unity3d当中的一个可以轻松实…

Feign是如何发送http请求的

1、接口定义 首先,开发者使用Feign提供的注解(如FeignClient)定义接口,并在接口中定义HTTP请求的方法,这些方法将映射到远程服务的具体HTTP请求。 2、动态代理 当应用启动时,Feign会通过动态代理和反射机…

Go select 语句使用场景

1. select介绍 select 是 Go 语言中的一种控制结构,用于在多个通信操作中选择一个可执行的操作。它可以协调多个 channel 的读写操作,使得我们能够在多个 channel 中进行非阻塞的数据传输、同步和控制。 基本语法: select {case communica…

Python中的函数式编程特性深入探讨

Python中的函数式编程特性深入探讨 Python,作为一种多范式编程语言,不仅支持面向对象编程(OOP),同样也对函数式编程(FP)提供了良好的支持。函数式编程是一种编程范式,它将计算机程序看作是一系列函数的求值,并避免使用可变状态和共享状态。本文将深入探讨Python中的函…

数据赋能(112)——体系:监控数据采集——影响因素、直接作用、主要特征

影响因素 影响监控数据采集的主要影响因素如下: 采样率:采样率是指采集数据的频率。采样率决定了监控的实时性与精确度,一般来说,采样率越高,监控的实时性就越高,精确度也越高。但是,过高的采…

2024 cicsn SuperHeap

文章目录 参考沙箱存在protobuf逆向buy_booksee_bookreturn_bookedit_booksearch_book 思路exp 参考 https://hakuya.work/post/7 https://akaieurus.github.io/2024/05/20/2024%E5%9B%BD%E8%B5%9B%E5%88%9D%E8%B5%9Bpwn-wp/#SuperHeap https://blog.csdn.net/m0_63437215/art…

TSINGSEE青犀视频汇聚机房动环智能监控方案,提升机房安全稳定性

一、背景需求 在当今信息化时代,机房作为数据中心的核心设施,承载着重要的网络设备和数据存储设备,其正常运行对于企业的数据安全和业务连续性至关重要。机房内部设备众多,且运行过程中涉及大量的数据交换和传输。一旦发生安全事…