账号和管理

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


提示:以下是本篇文章正文内容,下面案例可供参考

一、管理用户账号

1.用户账号概述

1.用户账号

Linux 用户三种用户
超级用户: root 拥有对系统的最高的管理权限 ID=0
普通用户:系统用户 UID:1-999(centos7 版本) 1-499(centos6 版本)
程序用户:伪用户 一般不会用来登录系统的,它主要是用于维持某个服务的正常运行.如:ftp,apache

2.UID

即每个用户的身份标示,类似于每个人的身份证号码.
root账号的UID号为固定值0
程序用户账户的UID号默认为1~999
普通用户的UID号默认为1000~60000

3.用户账户文件

Linux系统中的用户账号,密码等信息均保存在相应的配置文件中,直接修改这些文件或使用用户管理命令都可以对用户账号进行管理。

与用户账号相关的配置文件
a. /etc/passwd

用于保存用户名称,宿主目录,登录Shell等基本信息

b. /etc/shadow

用于保存用户的密码,账号有效期等信息

1). /etc/passwd文件账号记录详细说明
[root@ZHB ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash

详解如下:
root:用户名,用户名仅是为了方便用户记忆。Linux系统是通过UID来识别用户身份,分配用户权限。
x:表示此用户设有密码,但不是真正的密码,真正的密码保存在/etc/shadow文件
Linux系统把真正的加密密码串放置在/etc/shadow文件中,此文件只有root用户可以浏览和操作,最大限度地保证了密码的安全。
补充:
注意!!!,虽然"x"并不表示真正的密码,但也不能删除,如果删除了 “x”,那么系统会认为这个用户没有密码,从而导致只输入用户名而不用输入密码就可以登陆(只能在使用无密码登录,远程是不可以)。
0:用户账号的 UID 号。
0:所属基本组账号的 GID 号
root:描述性信息,用户全名,此字段只是用来解释这个用户的意义而已
/root:宿主目录,即该用户登录后所在的默认工作目录
注:通常称为用户的主(家)目录。例如:root主目录为/root,普通用户odysee的主目录为/home/odysee
/bin/bash登录 Shell 等信息,用户完成登录后使用的Shell

2)/etc/shadow用户账号文件
ZHB:$6$pSsBpVzKVtymGRBY$sHokTK1puVL1/CzTZRz9gcNIqsDNlHSgI4fFOT0N7ACOgnNO8WTh9Kz2i6GnpVt5.EI2eLALh87cU0wJrDRDw.::0:99999:7::55697:

同 /etc/passwd 文件一样,文件中每行代表一个用户,同样使用 “:” 作为分隔符,不同之处在于,每行用户信息被划分为 9 个字段。每个字段的含义如下:

第一个字段:用户名,同 /etc/passwd 文件的用户名有相同的含义。

第二个字段:加密密码,这里保存的是真正加密的密码。目前 Linux 的密码采用的是 SHA512 散列加密算法,原来采用的是 MD5  DES 加密算法。SHA512 散列加密算法的加密等级更高,也更加安全。
注意,这串密码产生的乱码不能手工修改,如果手工修改,系统将无法识别密码,导致密码失效。很多软件透过这个功能,在密码串前加上 "!""*"  "x" 使密码暂时失效。
所有伪用户的密码都是 "!!"  "*",代表没有密码是不能登录的。当然,新创建的用户如果不设定密码,那么它的密码项也是 "!!",代表这个用户没有密码,不能登录。

第三个字段:最后一次修改时间,此字段表示最后一次修改密码的时间,因为此账号没有修改过密码,所以不显示
Linux 计算日期的时间是以  1970  1  1 日作为 1 不断累加得到的时间,到 1971  1  1 日,则为 366 天。

第四个字段:最小修改时间间隔,最小修改间隔时间,也就是说,该字段规定了从第3字段(最后一次修改密码的日期)起,多长时间之内不能修改密码。如果是 0,则密码可以随时修改;如果是 10,则代表密码修改后 10 天之内不能再次修改密码。
此字段是为了针对某些人频繁更改账户密码而设计的。

第五个字段:密码有效期,经常变更密码是个好习惯,为了强制要求用户变更密码,这个字段可以指定距离第3段(最后一次更改密码)多长时间内需要再次变更密码,否则该账户密码进行过期阶段。
该字段的默认值为 99999,也就是 273 年,可认为是永久生效。如果改为 90,则表示密码被修改 90 天之后必须再次修改,否则该用户即将过期。管理服务器时,通过这个字段强制用户定期修改密码。

第六个字段:密码需要变更前的警告天数,与第 5 字段相比较,当账户密码有效期快到时,系统会发出警告信息给此账户,提醒用户 "再过 n 天你的密码就要过期了,请尽快重新设置你的密码!"

该字段的默认值是 7,也就是说,距离密码有效期的第 7 天开始,每次登录系统都会向该账户发出 "修改密码" 的警告信息。

第七个字段:密码过期后的宽限天数,也称为“口令失效日”,简单理解就是,在密码过期后,用户如果还是没有修改密码,则在此字段规定的宽限天数内,用户还是可以登录系统的;如果过了宽限天数,系统将不再让此账户登陆,也不会提示账户过期,是完全禁用。
比如说,此字段规定的宽限天数是 10,则代表密码过期 10 天后失效;如果是 0,则代表密码过期后立即失效;如果是 -1,则代表密码永远不会失效。

第八个字段:账号失效时间,同第 3 个字段一样,使用自  1970  1  1 日以来的总天数作为账户的失效时间。该字段表示,账号在此字段规定的时间之外,不论你的密码是否过期,都将无法使用!
该字段通常被使用在具有收费服务的系统中。

第九个字段:保留,这个字段目前没有使用,等待新功能的加入

附加
忘记密码怎么办
经常有用户会忘记自己的账户密码,该怎么处理呢?
对于普通账户的密码遗失,可以通过 root 账户解决,它会重新给你配置好指定账户的密码,而不需知道你原有的密码(利用 root 的身份使用 passwd 命令即可)。
如果 root 账号的密码遗失,则需要重新启动进入单用户模式,系统会提供 root 权限的 bash 接口,此时可以用 passwd 命令修改账户密码;也可以通过挂载根目录,修改 /etc/shadow,将账户的 root 密码清空的方法,此方式可使用 root 无法密码即可登陆,建议登陆后使用 passwd 命令配置 root 密码。

4.chage命令-用来修改账号和密码的有效期限,针对目前系统已经存在的用户

chage [选项] 用户名

-m 密码可更改的最小天数。为0时表示任何时候都可以更改密码。
-M 密码保持有效的最大天数。chage -M 60 root 
-W 用户密码到期前,提前收到警告信息的天数
-E 账号到期的日期。过了这天,此账号不可用
-d 上一次更改的日期
-i 停滞时期。如果一个密码已过期这些天,那么此账号将不可用。
-l 列出当前的设置,由非特权用户来确定他们的密码或者账号何时过期。

例:chage -E 2022-07-29 test    其中,test为用户,用户将在2022729日失效(不可登录)
chage -d 2022-06-30 test    设置test用户最后一次修改密码的日期为2022630
chage -d 0 test   则代表该test用户需立刻修改密码

date -d "+45 days" -u  如果不知道时间可以用date查看
-u:UTC时间

[root@ZHB ~]# chage -l root
最近一次密码修改时间					:从不
密码过期时间					:从不
密码失效时间					:从不
帐户过期时间						:从不
两次改变密码之间相距的最小天数		0
两次改变密码之间相距的最大天数		99999
在密码过期之前警告的天数	7
[root@ZHB ~]# 


总结:
#/etc/shadow 和 chage 控制命令的关系

#第三个字段为:密码的最后一次修改时间 (chage -d)
#第四个字段为:密码最小修改间隔时间 (chage -m)
#第五个字段为:密码的有效期 (chage -M)
#第六个字段为:密码需要变更前的警告天数(chage -W)
#第七个字段为:密码过期后的宽限天数 (chage -l)
#第八次字段为:账号失效时间 (chage -E)
5.useradd命令-添加用户账号

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

[root@ZHB ~]# useradd zhb-2
[root@ZHB ~]# id zhb-2
uid=1004(zhb-2) gid=1004(zhb-2) =1004(zhb-2)
[root@ZHB ~]# tail -l /etc /passwd
tail:无效选项 -- l
Try 'tail --help' for more information.
[root@ZHB ~]# tail -1 /etc/passwd
zhb-2:x:1004:1004::/home/zhb-2:/bin/bash
[root@ZHB ~]# tail -1 shadow
tail: 无法打开"shadow" 读取数据: 没有那个文件
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值