用户和用户组信息

用户信息

cat /etc/passwd

用户基本信息文件分为7段,每段用冒号分隔,通常存储在/etc/passwd中;而用户组信息存储在/etc/group中。

用户的基本信息可以被改变,但不是用类似vim的方法改变。

例如使用usermod命令可以更改用户的UID和GID;groupmod命令可以更改组的GID;chown和chgrp文件或目录的所有者和所属组;chmod可以更改文件或目录的权限;chgrp可以更改文件或目录的所属组。(乱改这些信息可以会导致出意外,因此不建议在没有快照的情况下更改这些信息。)

例如超级用户root的基本信息为:

root:x:0:0:root:/root/bin/bash

其中大致分意思为:

root:用户名(比如我们登录用户时输入或显示的名字,在我们第一次设置系统时会让我们创建一个用户,每次登录基本就是显示这个用户的用户名让你输入密码,但我们可以点击未列出?然后输入root回车就可以登陆root账号

x:密码占位符(具体密码不在这里)

0:UID(用户的身份证号)

0:GID(用户组的组号)

root:用户描述(可以自己填写,也可以留空,填写后会在登录用户的时候显示出来)

/rooot:用户的家目录

/bin/bash:shell命令解释器(也就是我们输入命令行的窗口)

用户组信息

cat /etc/group

用户组是和用户同时创建的,名字相同,但从类别上就不同

用户组信息:root:x:0:

依次是用户组名:密码占位符:组id:组成员

组成员处空的是因为我们这个组是随着用户的创建而生成的,成员只有用户自己,在不手动添加其他用户的情况下,组成员这里就应该是空的

用户密码信息文件

用户密码信息文件位于/etc/shadow,分为9列内容,是加密的密码和密码过期的策略,3列内容也都是用冒号(:)进行分隔

第一列信息依然是用户名root,第二段一大串是我们的加密后的密码,其中前面的$6代表了我们密码的加密等级,数字越大,加密程度越高,常见的加密等级有$1,$2,$5,$6。

往下的第二字段,大多基本相同,19760或者19855,这个代表了最后一次的修改时间,往后一个字段显示的是0,其实是代表了修改密码的间隔时间,例如图上大部分都是0,意思就是今天可以修改密码,叫做最小密码间隔。再往后,可以看到99999,这个其实是最大时间间隔,它代表了你的密码可以使用多久,单位是天,也就是说你这个密码可以使用多少天,到期后必须改密码,先输入旧密码更改新密码才能进入系统,不然无法进入系统。第六列是密码警告提醒时间,例如图中显示的是7,那么在密码到期前7天,系统会不断的提示你修改密码。第七八九列不显示,通常不被使用。第七列是不活动时间,就是用户不登陆但本账号仍然能保持有效的最大天数。第八列是失效时间,如果设置了失效时间,那么到期后账号就会失效,无法使用。第九列是保留字段,就是还没设计的功能。

用户管理指令

创建用户

(关于这个创建用户这部分,可能有人会疑惑,书写的命令行代码有点不对,就是顺序上的不对,一般情况下都是useradd -u/c/e/s  xxxx 用户名这样,我也是写完才发现格式上顺序不对,但由于能运行,所以也算正确的。)

useradd yonghu2

在这里首先创建了一个叫yonghu2的用户,然后为了判断用户是否创建成功,我们使用id来查看用户信息,一般情况下,我们输入id只能查看目前我们登录的用户,但如果id+用户名,就可以查看其他用户,可以看下图,单纯输入id和输入id yonghu2显示的结果是不一样的。

这里解释以下id查询的信息,不放前面是因为不知道放哪,第一个是用户的id,第一个1001是因为yonghu2这个用户是我们创建的,所以编号必须在1000+,第二个用户是root,固定的编号是0,系统创建的编号是1-1000,第二个信息是组编号,组编号随着用户创建,公用一个编号,第三个是组内用户,可以看见yonghu2组内只有yonghu2一个用户,root组内也只有root一个用户。既然都是组,那为什么一个用户信息显示两个组呢,第一个组信息是基本组,第二个组信息是附加组,第一个组信息只显示用户自带的用户组,第二个组信息可以显示后期加入的组。

我们创建用户的时候,是可以指定用户编号的,只需要在后面加一个-u就可以了。

例如,我下刚才创建的yonghu2这个用户的编号是1001,说明它是我创建的第一个用户,那么现在我创建第二个用户,它的编号是1002,说明编号是按顺序的,那么我想指定一个用户的编号是1111,只需要:useradd ypnghu4 -u 1111(此处太急按错用户名没发现)

这个-c然后“xxxx”可以在用户账户信息中添加注释,例如这个useradd yonghu5 -c “lipu”这段代码,创建了用户5并且为这个账户添加了“lipu”这个注释,我们在登录本用户的时候可以看见,这也是前面用户信息中提到的用户描述,用户信息第五段。

用-e可以在创建用户时设置它的过期时间,例如:

useradd yonghu7 -e 2024-5-30

我目前时间是2024-5-23,设置5-30过期,用它显示的数字19873(过期时间)-19866(上次修改的日期)=7,正好是7天,至于这个数字为什么会这么庞大,因为这个数字是从1970年开始计算,

我们可以使用-s来指定用户的登录shell,例如:

user addyonghu8 -s /sbin/nologin

此处我们指定把原本的/bin/bash,shell解释器,也就是我们打命令行这个黑窗口改成/sbin/nologin,所以这个用户存在,但它不能登录了。

删除用户

userdel -r yonghu5这个命令就将yonghu5这个用户给彻底删除,如果没有没有-r,那么这个用户在/home目录里的文件就不会被删除,当再次创建这个id或者名字的用户时,就会创建失败,因为这个用户的文件已经存在了。

设置用户密码

passwd 用户名:passwd yonghu3,输入的密码是看不见的。

使用usermod -s 可以改变用户的基本信息:usermod -s /bin/bash yonghu8成功将不能登录的用户8改变了登陆shell

用户切换

使用su命令可以实现用户的切换,例如我们在root账户时,用su yonghu2切换到yonghu2账号,再用su root切换到root账号。

用户组管理指令

创建用户组:

我们使用groupadd 组名对用户组进行创建,groupadd group1就是创建一个叫group1的组,然后查看它是否创建成功。

指定组ID编号

group -g 1655 group2这个命令指定了创建的组group2的id是1655

组的删除

groupdel group2可以删除名为group2的组

将用户添加进组

使用:usermod -aG 组名 用户名

例如:usermod -aG group1 yonghu2

在这里首先查看yonghu2这个用户进入了哪些组,确定只有1001后我们将他拉入组group1,编号1116,然后再次查看yonghu2的用户信息,发现附加组里多了一个1116(group1),添加成功。

将组中用户进行移除

gpasswd -d 用户名 组名   ( 就可以将用户从组中移除)

gpasswd -d yonmghu2 group1

关于对组内用户的增删,还可以使用vim编辑器

当输入下面这个代码进入vim编辑器就可以实现对组内用户的快速增删

组内显示是这个结果,可以看到group1没有其他用户,我们进入插入模式,将上面几个用户拉进group1

保存退出后对组信息进行查询

可以看见组内添加了三个用户,同理,我们也可以用同样的方法对组内用户进行删除。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值