用户管理

一、3个配置文件

  • /etc/passwd:记录Linux上所有的账户信息
  • /etc/shadow:记录了账户对应密码信息
  • /etc/group:记录了所有的组信息

其中,账户和组名是给人看的,UID和GID是给系统看的,通过id命令可以查看当前账号对应的uid和gid信息。
当使用ls-l命令查看文件时,系统会根据/etc/passwd和/etc/group文件的内容,找到uid和gid对应的账号名称和组名称进行显示。
在这里插入图片描述
如果随意修改了/etc/passwd和/etc/group下的uid和gid的时候会导致原本文件对应的uid和gid在配置文件中查找不到,那么通过ls-l命令查看的拥有者和所属组就会以uid和gid来显示.
通过id命令可以查看当前操作账号的uid和gid:
在这里插入图片描述
编辑/etc/passwd修改uid和编辑/etc/group修改gid后再次查看文件和目录显示拥有者和所属组此时显示的就是uid和gid了,因为uid=500在/etc/passwd中找不到对应关系,同理gid在/etc/gruop中也没有找到对应关系.
在这里插入图片描述

/etc/passwd

该配置文件记录每一条信息就是一个账户的信息,以root账户为例
在这里插入图片描述
根据分号划分,一共包含7部分:

  • root:用户名
  • x:早期这个部分放的是用户的登录密码,现在密码放入了/etc/shadow中了
  • UID:0表示系统管理员,1-999保留给系统使用的id,1000以上给一般使用者
  • GID:0表示系统管理员,1-999保留给系统使用的id,1000以上给一般使用者.
  • root:使用者的信息说明
  • /root:用户的家目录,普通账户默认是在/home目录下的
  • /bin/bash:该账户可以使用shell,如果不能使用shell,则会显示/sbin/nologin

/etc/shadow

该配置文件记录的是账户的密码信息,以root账户为例
在这里插入图片描述
根据分号划分,一共包含9部分:

  • root:用户名

  • 一大串字符:经过加密后的密码

  • 最近更改过密码的天数:17804,此天数是从1970年1月1日起累计的

  • 密码不能修改的天数:0表示随时都可以修改

  • 密码重置的天数:99999天后需要重置密码,修改该值,可以强制用户修改密码

  • 密码需要变更的的警告天数:7表示7天内系统会向用户发出警告

  • 密码到期后,账号还可以继续使用的天数

  • 账号失效的日期:也是从1970年1月1日起累计,到时间后,无论密码是否过期,该账户都不能使用

  • 保留

    /etc/group

    改配置文件保存的是用户组的信息,以guest组为例
    在这里插入图片描述
    根据分号一共分为4部分:

  • guest:组名

  • x:组密码,一般不需要

  • 600:GID

  • 包含的账户

通过对配置文件的修改可以达到用户管理的效果,但是操作起来比较麻烦,容易出错,不建议这样做,通常都是使用命令的方式来操作的。

二、3个命令操作用户的增删改

  • useradd:增加账号
  • usermod:修改账号
  • userdel:删除账号

useradd

  • -u:设置UID
  • -g:设置主要组,如果不设置,系统则会创建一个跟用户同名的组
  • -G:设置附加组
  • -c:设置用户说明
  • -m : 自动创建用户家目录
  • -d:指定用户家目录
  • -s:指定shell
  • -e:账号失效日期,格式为:YYYY-MM-DD
  • -f:指定密码是否失效,0表示立即失效,1表示永远不失效

如果不使用上面的任何参数的话,使用useradd命令默认会执行以下操作

  • 在/etc/passwd下建立相关资料
  • 在/etc/shadow下建立相关资料
  • 在/etc/group中写入和账号名一样的组
  • 在/home下创建和账号名一样的家目录

例如:
useradd test01 -u 1001 -g root -G guest -c 测试账号01 -d /home/test01 -s /bin/hash -e 2018-12-12 -f 0
在这里插入图片描述

usermod

  • -c:修改账号说明
  • -d:修改家目录
  • -g:修改主要组
  • -G:修改附加组
  • -a:与-G一起使用,增加附属组
  • -l:修改用户名
  • -u:修改UID
  • -L:冻结账号
  • -U:解冻账号

例如:
usermod -L test01

如果要通过-G指定多个附属组,则需要同逗号来分割多个组,例如下面是将tom账户同时添加sudo和dev作为附属组的操作
在这里插入图片描述

userdel

删一个账号,默认会删除/etc/passwd、/etc/group、/etc/shadown中的对应信息,但是如果要连同家目录和邮箱目录(/var/spool/mail/username)一起删除,则需要使用-r参数,例如:
userdel -r test01

三、密码操作

passwd

用于设置与账号密码相关的操作

  • -l:锁住该账号,在/etc/shadow中放密码的位置前加个!符号.
  • -u:解锁
  • -S:显示账号的密码参数
  • -n:接天数,设置多久内不能修改密码,0表示随时可以修改
  • -x:接天数,设置多久后必须要修改密码(密码重置的天数)
  • -w:接天数,设置密码过期前警告的天数
  • -i:接天数,设置密码过期后还可以继续使用的天数

在这里插入图片描述
上面通过参数设置的天数,最终是对应到/etc/shadow文件里面显示的天数的
在这里插入图片描述

chage

用于修改和密码有关的时间参数

  • -m:设置多久内不能修改密码。0代表任何时候都可以更改密码。
  • -M:设置多久后必须要修改密码(密码重置的天数)
  • -W:用户密码到期前,提前收到警告信息的天数。
  • -E:帐号到期的日期。过了这天,此帐号将不可用。
  • -d:上一次更改的日期。
  • -I(大写的i):停滞时期(密码过期后还可以继续使用的天数)。如果一个密码已过期这些天,那么此密码将失效。
  • -l(小写的L):例出当前的设置。

查看详情
在这里插入图片描述
修改最近一次更改密码的时间和账号失效时间
在这里插入图片描述
其中,密码失效时间和密码重置时间会根据上一次修改密码的时间来变化。账号失效时间不受影响。

修改密码过期后5天密码失效:
在这里插入图片描述

四、组管理

  • groupadd : 添加组
  • groupdel : 删除组
  • chgrp : 修改组

添加和删除命令都是在后面加组名称即可,例如:

添加一个dev的组
在这里插入图片描述
删除dev组
在这里插入图片描述
修改组

格式 : chgrp [参数] 组名 目录/文件名

例如当前桌面上有个test文件,所属组及其子文件的所属组都是python这个组
在这里插入图片描述
如果要将其修改为dev组 ,可以这么操作 ,首先得创建dev这个组,然后再修改test目录的所属组
在这里插入图片描述
这样test目录的所属组就改成了dev了, 如果我还想将test目录内的所有文件的所属组都一起改了也是可以的,通过参数 -R 来完成,例如
在这里插入图片描述

五、查看用户信息

  • id :查看用户的UID和GID信息, 直接输入id命令查看的就是当前登录的账户的,如果是查看其他账户,则在id后输入账户名
  • whoami: 查看当前登录用户的账户名
  • who :查看当前所有登录的用户列表

例如:
在这里插入图片描述
who命令查看到的日期是该账户最近一次登录的日期,括号内如果是:0则表示在当前系统登录, 如果是ip地址就说明是通过其他终端登录的.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值