热门标签 | 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服务器密码过期策略、登录次数限制、私钥登录等配置方法
    本文介绍了在Linux服务器上进行密码过期策略、登录次数限制、私钥登录等配置的方法。通过修改配置文件中的参数,可以设置密码的有效期、最小间隔时间、最小长度,并在密码过期前进行提示。同时还介绍了如何进行公钥登录和修改默认账户用户名的操作。详细步骤和注意事项可参考本文内容。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 本文总结了Linux下多线程执行shell脚本的4种方法,包括切换到工作目录执行、使用绝对路径执行、直接使用bash或sh执行。同时介绍了为什么需要加上"./"来执行脚本的原因。 ... [详细]
  • 安装oracle软件1创建用户组、用户和目录bjdb节点下:[rootnode1]#groupadd-g200oinstall[rootnode1]#groupad ... [详细]
  • 程序员如何选择机械键盘轴体?红轴和茶轴对比
    本文介绍了程序员如何选择机械键盘轴体,特别是红轴和茶轴的对比。同时还介绍了U盘安装Linux镜像的步骤,以及在Linux系统中安装软件的命令行操作。此外,还介绍了nodejs和npm的安装方法,以及在VSCode中安装和配置常用插件的方法。最后,还介绍了如何在GitHub上配置SSH密钥和git的基本配置。 ... [详细]
  • LINUX学习之centos7营救模式
    今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • 本文介绍了三种方法来实现在Win7系统中显示桌面的快捷方式,包括使用任务栏快速启动栏、运行命令和自己创建快捷方式的方法。具体操作步骤详细说明,并提供了保存图标的路径,方便以后使用。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • 本文介绍了在Android Studio中使用命令行build gradle的方法,并解决了一些常见问题,包括手动配置gradle环境变量和解决External Native Build Issues的方法。同时提供了相关参考文章链接。 ... [详细]
  • Linux Shell脚步的格式
    Shell脚步等多个命令的组合,可以做成一个shell文件(1.sh)赋权执行执行命令的方式前两张新的进程中执行,对当前进程不产生影响(cdtmp;pwds ... [详细]
  • 1.脚本功能1)自动替换jar包中的配置文件。2)自动备份老版本的Jar包3)自动判断是初次启动还是更新服务2.脚本准备进入ho ... [详细]
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社区 版权所有