linux 用户组管理软件,Linux用户和用户组管理

Linux用户和用户组管理

一 用户配置文件

1 用户信息文件 /etc/passwd

我们先打开这个文件看一下

02263ff2032896b4321d09291bee98d5.png

这里涉及到一些格式,我们还记得用man可以查看配置信息的帮助

man 5 passwd

834bac2cdd74b58186bd1f5112d9de6a.png

这里看到:分割的每一项都有做详细说明,我们来总结下这里

第1个字段:用户名称

第2个字段:密码标志,我们可以看到都是x,那么真实的密码在哪里呢,我们来看/etc/shadow文件

41de662f43f3a3ea6c9e78cfc142e8fb.png

这里我们看到root对应的第二个字段就是root的密码,显然是经过加密的,那么为什么密码不直接放在passwd中呢,我们看下两个文件的详细权限

e336c48ef2089dcf8f6050776ef855e0.png

对于passwd的,一般用户还是可以可读的,但是对于shadow,就什么权限都没有了,只有root可以查看,这样做是为了更安全些。

第3个字段:UID(用户ID)

我们可以发现在passwd中除了root用户我们认识,还有很多其他的我们没见过的,这些叫系统用户(伪用户),不能登录,只是在做系统调用服务的时候用到,我们不用管它们即可

0:超级用户

1-499 系统用户(伪用户)

500-65535 普通用户

第4个字段:GID(用户初始组ID)

这里我们要区分下初始组和附加组

初始组:就是指用户一登录就立刻拥有这个组的相关权限,每个用户的初始组只能有一个,一般就是和这个用户的用户名相同的组名作为这个用户的初始组

附加组:指用户可以加入多个其它的用户组,并拥有这些组的权限,附加组可以有多个

第5个字段:用户说明,这个一般就是描述信息

第6个字段:家目录

普通用户:/home/用户名/

超级用户:/root/

第7个字段:登录之后的shell

二 影子文件 /etc/shadow

我们打开这个文件来看一下

fe793b39ee2e1ec66834cb4718720ade.png

第1个字段:用户名

第2个字段:加密密码,加密算法是SHA512加密算法,如果是“!!”“*”代表没有密码,不能登录

第3个字段:密码最后一次修改日期,我们看到root的这个字段是17105,这个是使用1970年1月1日作为标准时间,每过一天,时间戳+1

第4个字段:两次密码的修改间隔时间(和第3个字段相比),就是说多少天后可以修改这个密码,我们看到root用户的这个字段是0

第5个字段:密码有效期(和第3个字段相比),我们看到root用户的这个字段是99999,基本上是永久有效

第6个字段:密码到期前的警告天数(和第5个字段相比),也就说比如我们在第5个字段设置了一个密码有效期,比如10天,然后我们这个字段设置是7,那么就是还剩7天到期的时候,就会有警告了。

第7个字段:密码过期后的宽限天数(和第5个字段相比)

0代表密码过期后立即失效,-1代表永远不会失效

第8个字段:账号失效的时间(要用时间戳表示),如果这个字段设置了失效时间,前面设置的有效期就没用了。

第9个字段:保留

那么我们刚才一直在说时间戳,接下来我们看下时间戳的换算公式

1 把时间戳换算为日期

date -d “1970-01-01 16066 days”

我们把16066的时间戳转换为日期

a286cc6145ab9d808dfc05e43b9a3c41.png

2 把日期转换为时间戳

c72ee34e8aa6420ddcf7c0a3a42da16f.png

三 组信息文件/etc/group和组密码文件/etc/gshadow

1 组信息文件/etc/group

我们打开这个文件看一下

897d22b0af88c746ce31d5878f7f42c1.png

第1个字段:组名

第2个字段:组密码标志

第3个字段:GID

第4个字段:组中附加用户

2 组密码文件/etc/gshadow

bce68584f62ecb290bea618dd6047302.png

第1个字段:组名

第2个字段:组密码

第3个字段:组管理员用户名

第4个字段:组中附加用户

兄弟连沈超老师说不推荐组密码方式管理,一般用root管理,所以这里了解即可

四 用户管理相关文件

1 用户的家目录

普通用户 :/home/用户名/,所有者和所属组都是此用户,权限是700

超级用户:/root/,所有者和所属组都是root,权限是550

2 用户的邮箱

/var/spool/mail/用户名/

比如我们创建一个用户fuqiang,然后到这个路径下查看,就会发现这个路径下自动生成了这个新用户的邮箱

525671296fbf7b30eb1f51aa82e4c536.png

3 用户模板目录

/etc/skel/

我们看下这个目录

3127547197ee34766585cb43353bac35.png

我们看到这个目录下的内容和/home/用户名下的内容是一样的,也就是说,在创建用户的时候,在/home/用户名下,就会自动生成这些模板目录下的文件

五 用户管理命令

1 用户添加命令useradd:

useradd 选项 用户名

选项:

-u UID 手动指定用户的UID,我们知道普通用户的UID是从500,自动往后排的,如果我想设置一个吉利的数字,比如888,就可以用这个选项

-d 家目录,比如我们不想放在/home下,就可以用这个选项改

-c 用户说明

-g 组名:手工指定用户的初始组,这个一般不建议修改

-G 组名:手工指定用户的附加组

-s shell:手工指定用户的登录shell,默认是/bin/bash

那么如果我们不加任何选项,默认是怎么样的呢,比如我现在添加一个fq的用户

51e64ba5b728f66fc8bc4fd4ea028184.png

我们来查看一下跟用户相关的文件信息

c2254ee5f1ed6c9338c2241420c0ff1c.png

我们可以看到默认的这些信息

那么用户默认值文件在哪里呢,

b761338fcdd59e5c697eaaf0a774682e.png

ffe39223b346e0bd9cf2c79c10daf73c.png

2 修改用户密码passwd:

passwd 选项 用户名

-S 查询用户密码的密码状态,仅root用户可用

6999f721bd41158d1f16c9db32177deb.png

2016-11-03 用户密码设定时间

0 密码修改间隔时间

99999 密码有效期

7 警告时间

-1 密码不失效

-l 暂时锁定用户,仅root用户可用,锁定用户,这个用户就不能登录了,其实就是修改shadow文件中对应密码的字段,前面加!!

-u 解锁用户,仅root用户可用

还可以使用字符串作为用户的密码

echo “123 ”| passwd -stdin fq

这个主要用于shell编程,批量创建用户

3 修改用户信息 usermod:

usermod 选项 用户名

-u UID 修改用户的UID

-G 组名 修改用户的附加组

-L 锁定用户

-U 解锁用户

这个命令格式跟useradd类似,只不过useradd是新增,这个是修改已有

4 修改用户密码状态 chage

chage 选项 用户名

-d日期 修改密码最后一次更改日期(shadow第3个字段)

-m天数 两次密码修改间隔(4字段)

-M 天数 密码有效期(5字段)

-W天数 密码过期前有效期(6字段)

-I 天数 密码过期后宽限天数(7字段)

-E 日期 账号失效日期(8字段)

其实这样也都可以手工修改shadow文件

chage -d 0 fq

把fq的密码最后一次更改日期归0 ,这样用户一登录就要修改密码

5 删除用户userdel

userdel 选项 用户名

-r 删除用户的同时删除用户家目录

当然除了这种方式外,我们也可以手工删除用户,就是上面说的涉及到用户的各个文件去删除即可

6 查看用户id

id 用户名

62b53514402cef1748edaf86695366ca.png

比如我执行usermod -G root fuqiang,然后再用id查看

44fc10ce95af59b6febba21799e71508.png

我们看到fuqiang用户多了一个附加组

7 切换用户身份su

我们一般用su 直接加用户名进行切换,但是这样用户的环境变量会有问题,具体可用env命令查看,会发现有些环境并没有切换过去

加选项 - 会连同用户的环境变量一起切换

57e2e0ac1ed8edfe02111644c9c33d72.png

-c 仅执行一次命令,而不切换用户

比如:su -root -c “useradd user3”

六 用户组管理命令

1 添加用户组groupadd 选项 组名

-g GID 指定组ID

我们先添加一个fuqianggroup的组 groupadd -g 600 fuqianggroup

然后到/etc/group下看看

d564d6c401abad765bc43b50c251b1b4.png

可以看到这个组已经添加成功了

2 修改用户组groupmod 选项 组名

-g GID 指定组的GID

-n 修改组名

比如我想把刚刚创建的fuqianggroup组修改为fqgroup

92e87767e2d1cf179d846774351fe3ca.png

再来看下/etc/group

b370eda2882aeb3b0a1e57fb22c18d73.png

发现修改成功了

3 删除用户组groupdel 组名

注意:这样只能删除附加组,如果想删除初始组,必须把初始组的用户也删掉才行。

4 把用户填加到组里或者从组中删除 gpasswd 选项 组名

-a 用户名:把用户加入组

-d 用户名:把用户从组中删除

我想把fuqiang这个用户添加到刚才的fqgroup中

gpasswd -a fuqiang fqgroup

0a6ccea0395304916804196d73f15878.png

再把它删除

gpasswd -d fuqiang fqgroup

265ac90a337e9d6aa747545907e6c882.png

好了,Linux用户和用户组管理就总结到这里,如有问题,欢迎指正,谢谢。

0b1331709591d260c1c78e86d0c51c18.png

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值