热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Linux用户、用户组、用户密码管理

用户配置文件:etcpasswdcatetcpasswd查看linux用户配置文件:*用户配置文件的内容一共分为7段,通过:

  • 用户配置文件:/etc/passwd

cat /etc/passwd查看linux用户配置文件:在这里插入图片描述
*用户配置文件的内容一共分为7段,通过 :划分,
第一段代表用户名
第二段x代表密码,保存在/etc/shadow文件中
第三段代表uid(用户编号)
第四段代表gid(用户组编号)
第五段代表注释(通常为空或描述用户相关注释)
第六段代表用户家目录
第七段代表用户的shell(通常为/bin/bash,系统创建用户有/sbin/nologin等,nologin表示不能登录)


  • 密码配置文件:/etc/shadow
    在这里插入图片描述
    *密码配置文件与/etc/passwd用户配置文件对应,分为9段,通过 :划分,
    第一段代表用户名,
    第二段代表加密后的密码(两个用户密码相同,加密后的值也不同)
    第三段代表上次更改密码的日期(单位:天,从1970/01/01计算到上次修改密码那天过了多少天的天数)
    第四段代表两次修改密码中间所需的最小天数
    第五段代表密码保持有效的最大天数
    第六段代表密码失效前多少天开始提示用户
    第七段代表用户在没有登录的情况下账号保持有效的最大天数
    第八段代表用户账号的失效时间
    第九段暂无意义,保留域

  • 系统备份文件
    在这里插入图片描述
    *在/etc目录下出现的一些文件名后面加 - 符号的文件是系统自动备份文件,用于误删重要文件时恢复数据

  • 用户组管理
    1.增加用户组:groupadd groupname
    *创建好用户组之后查看用户组配置文件,显示已经创建成功,gid(用户组编号)为1004在这里插入图片描述
    2.创建用户组时指定gid(用户组编号),-g参数
    *指定gid时选择1000以上未被使用的数字,1000以下为系统保留gid在这里插入图片描述
    3.删除用户组:groupdel groupname
    *删除用户组时,如组内有用户则不能删除
    在这里插入图片描述

  • 用户管理
    1.创建用户: useradd username
    *新增用户时如不指定用户组,会创建一个与username相同的组
    在这里插入图片描述
    2.创建用户时指定用户组: -g 参数
    **如下图:创建用户usertest2时,指定用户组为grouptest,创建完成后查看用户配置文件gid为用户组grouptest的gid:1001 *
    在这里插入图片描述
    *补充:
    -u参数:指定用户uid(用户编号)
    -d参数:指定用户家目录
    -s参数:指定用户shell(/bin/bash、nologin等)
    -M参数:在创建用户时,不创建家目录
    创建用户命令还可以是:adduser username

    3.删除用户:userdel username
    *需要注意在使用该命令删除用户后,不会删除用户家目录,ls /home发现usertest2用户目录还在
    在这里插入图片描述
    4.删除用户的同时删除用户家目录:-r 参数
    在这里插入图片描述
    5.usermod命令:更改用户信息
    修改用户uid:usermod -u uid username
    修改用户gid:usermod -g gid username
    修改用户家目录:usermod -d 目录路径 username
    修改用户shell:usermod -s shell路径 username
    锁定用户:usermod -L username
    解锁用户:usermod -U username
    修改用户拓展组:usermod -G groupname username
    *查看用户拓展组信息:id username,linux中用户可以属于多个组,如下图第三列显示的就是用户拓展组
    在这里插入图片描述
    给linux01用户添加用户组linux02:
    在这里插入图片描述
    给linux01用户添加多个组(linux02、linux03):
    *需要给用户添加多个拓展组时,需要写上所有要添加的组用","分隔开,如果第一次添加linux02组,第二次再添加linux03组,那么linux03组会覆盖linux02组,linux01用户的拓展组就只有linux03
    在这里插入图片描述

  • 用户密码管理
    1.更改密码:
    root用户更改密码命令:passwd
    *提示密码难度不够时,再次输入即可更改成功
    在这里插入图片描述
    普通用户更改密码命令:passwd username
    *提示密码长度不够时,再次输入即可更改成功
    在这里插入图片描述
    密码更改成功后查看密码配置文件/etc/shadow中linux01的第二列已经是加密内容:
    *第二列显示"!!"代表用户未设置密码,不能登录
    在这里插入图片描述
    *当第二列显示 "*"号时代表密码被锁定,也是无法登陆的用户
    在这里插入图片描述
    2.锁定与解锁用户密码:
    锁定密码:passwd -l username
    *将刚才创建好密码的用户linux01锁定后查看密码配置文件/etc/shadow第二列密码加密内容前面显示"!!",代表用户密码已被锁定
    在这里插入图片描述
    解锁密码:passwd -u username
    *解锁用户linux01的密码后,查看密码配置文件显示正常
    在这里插入图片描述
    *锁定与解锁用户密码还可以使用上文所说的usermod命令,-L 参数:锁定密码,-U 参数:解锁密码
    3.stdin参数:
    *给用户设置密码时,使用stdin参数,可以直接修改无须二次验证,常用语编写shell脚本中
    在这里插入图片描述
    4.一次性修改密码:(在不使用stdin参数时,也可以无需二次验证修改密码)
    *使用echo -e一次性修改密码,echo命令加上-e参数时,\n可以解析为换行( \t → tab),组合管道符"|"使用可以直接修改密码,无需二次验证
    在这里插入图片描述

  • 密码生成工具:mkpasswd
    1.安装expect包:yum -y install expect
    在这里插入图片描述
    2.生成随机密码:
    *输入mkpasswd即可生成随机密码,-l 参数:指定生成密码的长度,-s 参数:指定生成的随机密码包含几个特殊字符在这里插入图片描述


推荐阅读
  • 本文详细介绍了 Linux 系统中用户、组和文件权限的设置方法,包括基本权限(读、写、执行)、特殊权限(SUID、SGID、Sticky Bit)以及相关配置文件的使用。 ... [详细]
  • 本文详细记录了在银河麒麟操作系统和龙芯架构上使用 Qt 5.15.2 进行项目打包时遇到的问题及解决方案,特别关注于 linuxdeployqt 工具的应用。 ... [详细]
  • MySQL 数据库迁移指南:从本地到远程及磁盘间迁移
    本文详细介绍了如何在不同场景下进行 MySQL 数据库的迁移,包括从一个硬盘迁移到另一个硬盘、从一台计算机迁移到另一台计算机,以及解决迁移过程中可能遇到的问题。 ... [详细]
  • 基于KVM的SRIOV直通配置及性能测试
    SRIOV介绍、VF直通配置,以及包转发率性能测试小慢哥的原创文章,欢迎转载目录?1.SRIOV介绍?2.环境说明?3.开启SRIOV?4.生成VF?5.VF ... [详细]
  • 本文详细介绍了Linux系统中init进程的作用及其启动过程,解释了运行级别的概念,并提供了调整服务启动顺序的具体步骤和实例。通过了解这些内容,用户可以更好地管理系统的启动流程和服务配置。 ... [详细]
  • 本文介绍如何在现有网络中部署基于Linux系统的透明防火墙(网桥模式),以实现灵活的时间段控制、流量限制等功能。通过详细的步骤和配置说明,确保内部网络的安全性和稳定性。 ... [详细]
  • 在Python开发过程中,随着项目数量的增加,不同项目依赖于不同版本的库,容易引发依赖冲突。为了避免这些问题,并保持开发环境的整洁,可以使用Virtualenv和Virtualenvwrapper来创建和管理多个隔离的Python虚拟环境。 ... [详细]
  • 阿里云ecs怎么配置php环境,阿里云ecs配置选择 ... [详细]
  • 本文详细介绍了如何在云服务器上配置Nginx、Tomcat、JDK和MySQL。涵盖从下载、安装到配置的完整步骤,帮助读者快速搭建Java Web开发环境。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • 解决U盘安装系统后无法重启的问题
    本文详细探讨了运维新手常遇到的U盘安装系统后无法正常重启的问题,提供了从问题分析到具体解决方案的完整步骤。通过理解Boot Loader的工作原理和正确配置启动项,帮助用户顺利解决问题。 ... [详细]
  • 本主题面向IT专业人士,介绍了Windows Server 2012 R2和Windows Server 2012中的组托管服务账户(gMSA),涵盖了其应用场景、功能改进、硬件和软件要求以及相关资源。 ... [详细]
  • 本文详细介绍了如何在预装Ubuntu系统的笔记本电脑上安装Windows 7。针对没有光驱的情况,提供了通过USB安装的具体方法,并解决了分区、驱动器无法识别等问题。 ... [详细]
  • 本文介绍如何从JSON格式的文件中提取数据并将其分配给Bash脚本中的变量。我们将探讨具体的命令和工具,帮助你高效地完成这一任务。 ... [详细]
author-avatar
努力的蚂蚁
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有