linux基础~用户管理

1:在linux中,为什么要存在用户以及用户登录的流程:

在linux中系统中,我们如果想要登录系统并对系统中的文件进行操作的话,我们必须要有一个账号。而我们的系统并不认识我们的帐号名称。它认识的是我们的帐号ID,而帐号ID保存在/etc/passwd文件中。正常的操作流程是:我们在登录linux主机,输入完帐号和密码时,linux会先查找/etc/passwd文件中是否有这个帐号,如果没有则跳出,如果有的话,系统会读取该帐号的user ID和group ID同时该帐号的根目录和shell也读了出来。然后在去核对密码表,在/etc/shadow中找出我们刚刚输入的帐号和userID,核对我们输入密码是否正确。一切正确我们可以登录到当前用户shell。此时我们才可以对于系统总的文件(资源)进行操作。

2:如何创建用户以及对于用户账号的修改:

A:首先要了解用户账号的基本组成以及含义:
以下用root(超级管理员)为例:
在这里插入图片描述
在/etc/passwd文件中,账号组成一共有7列(该文件是一个表格的形式):分别了解每一部分的含义:

第一列:root是帐号名称,帐号名称由于对应用户ID,这个是系统默认用户root超级管理员,在同一个系统帐号名称是唯一的,长度根据不同的linux系统而定,一般是8位。

第二列:X代表密码,在现在linux版本中,密码在经过加密之后存放在/etc/shadow文件中,所以在这里这一项是“x”来表示,如果用户没有设置口令,则该项为空。

第三列:用户ID,这个是系统内部用于来识别不同的用户的,不同的用户识别码不同,其中用户ID有以下几种:
0代表系统管理员,如果我们想建立一个系统管理员的话,可以建立一个普通帐户,然后将该账户的用户ID改为0即可。
超级用户:(root UID=0)
系统用户: (UID 1~499)
普通用户: (UID 500~60000)

第四列:组ID:组id和用户ID差不多,用来规范群组,在etc/group中可以查看。

第五列:用户描述信息,这个字段是用来解释这个帐号的意义。一般常见的是用户全名信息。

第六列:用户家目录,即就是用户登录系统的起始目录,用户登录系统后将首先进入该目录。root用户默认的是/root,普通用户的是/home/用户名。

第七列:用户登录shell,就是用户登录系统时使用的shell。

B:在系统中如何创建用户/用户组及修改用户信息
1:
A:创建默认用户并修改密码:
command:useradd +参数 用户名;
command: passwd 用户名;
注:为了可以清楚的看到用户的创建以及各部分组成的变化,可使用命令:watch -n 1 “tail -n 3 /etc/passwd /etc/shadow;ls -l home ”命令监控。
在这里插入图片描述
B:在创建用户时,直接指定相关信息:
1:创建用户时,指定用户uid:
command:useradd -u 2012 wuxie;
在这里插入图片描述
2:指定用户初始组id:(初始组id必须存在):
command:useradd -g 21 xue;
在这里插入图片描述
3:指定用户的附加组id:
command:useradd -G 2012 paopao;
在这里插入图片描述
4:指定用户的说明:
command:useradd -c “123” de;
在这里插入图片描述
5:指定用户默认的shell:
command:useradd -s 家目录绝对路径 用户名;

在这里插入图片描述
6:创建用户组:
A:command: groupadd 组名;
B:command:groupadd -g 组id 用户组名;
C:删除用户组:groupdel 用户组名
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2:账号删除;
command:userdel -r 用户名:
在这里插入图片描述

3:用户密码的相关操作,这一部分我们需要先了解用户密码的组成,在/etc/shadow文件中:

和账号文件一样,这个文件也是一个表格的形式,一共有列,以root用户为例:

第一列:root用户名,用户登录系统时使用的用户名

第二列:密码,通过MD5加密的密码。
第三列:18088,密码最后一次修改时间,在linux中以1970年1月1日作为1,1971年1月1日就是366。
第四列:0,最小时间间隔, 这个字段代表要经过多久才可以更改密码。如果是“0”表密码可以随时更改。
第五列:99999,最大时间间隔,密码越久不修改,危险性就越大。因为害怕密码被人盗取而危害到整个系统的安全,所以安排了这个字段,用户必须在这个时间内重新修改密码,否则这个帐号将暂时失效。上面的99999,表示密码不需要重新输入。
第六列:7, 密码变更期期限快到前的警告期:当帐号的密码失效期限快到时,系统依据这个字段的设定发出警告,提醒用户“再过n天您的密码将过期,请尽快重新设定密码。默认的是七天。
第七列:帐号失效期。如果用户过了警告期没有重新输入密码,使得密码失效,而该用户在这个字段限定的时间内又没有向管理员反映,让帐号重新启用,那么这个帐号将暂时失效。
第八列:帐号取消日期:这个日期跟第三个字段一样,都是使用1970年以来的日期设定方法。这个字段表示:这个帐号在此字段规定的日期之后将无法再使用。这个字段通常用于收费服务系统中,例如优酷会员,可以规定一个日期让该帐号不能再使用。
第九列:保留位,目前最后一个字段是保留的,看以后有没有新功能加入。

在这里插入图片描述

A:锁定用户/解除锁定:
command:passwd -l 用户名;
command:passwd - u 用户名;
注:密码位前面如果有“!”则代表该账号已被锁定。

在这里插入图片描述

B:清空用户密码;
command:passwd -d 用户名;

在这里插入图片描述

C:设置用户在下一次登录时,必须先进行密码修改才可以登录系统:
command :passwd -e 用户名;
在这里插入图片描述

D:修改用户密码最短有效期:
command: passwd -n 1 用户名; ##用户在一天之内不能修改密码。
在这里插入图片描述

F:用户密码最短有效期修改;
command:passwd -n 15 用户名;##用户在15天之内必修修改密码。

在这里插入图片描述

G:密码警告期限修改;
command:passwd -w 5 用户名;##在密码过期前5天对用户进行提醒。

在这里插入图片描述

H:用户非活跃天数修改:
command:passwd -i 10 用户名;
在这里插入图片描述
I:用户密码到期日修改:
command:chage -E 2019-10-01 用户名; ##该用户的账号在2019-10-01日会被冻结。

在这里插入图片描述

4:更改用户信息:

A:更改用户名:
command:usermod -l 新名称 现用户名称;
在这里插入图片描述
B:更改用户uid:
command:usermod -u 新id 用户名;
在这里插入图片描述

C:更改用户的初始组:
command:usermod -g 21 用户名;
在这里插入图片描述

D:更改用户的附加组:
command:usermod -G 21 用户名;
在这里插入图片描述

E:添加用户的附加组:
command:usermod -aG 72 用户名;
在这里插入图片描述

F:删除用户所有附加组的身份:
command:usermod -G “ ”;
在这里插入图片描述
G:更改用户的说明:
command:usermod -c “hello” 用户名;
在这里插入图片描述

H:更改用户的家目录:
command: usermod -d /home/student 用户名;
在这里插入图片描述

I:更改用户的shell:
command:usermod -s /bin/sh 用户名;
在这里插入图片描述
J:锁定用户:
command:usermod -L 用户名;在这里插入图片描述
K:解锁用户:
command:usermod -U 用户名;
在这里插入图片描述

至此,关于linux中用户信息的基本信息都可以靠以上的命令进行修改,但关于用户权限、文件权限的还未涉及,在下一篇文章中详细介绍。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值