暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

linux用户和用户组所涉及的目录详解

小董的成长笔记 2021-06-24
710

前面我们说了linux一切皆文件,当你在创建用户用户组的时候,这些信息都是需要写到文件中。用户和用户组所涉及的文件一共有四个:/etc/passwd, /etc/shadow, /etc/group,/etc/gshadow。由于在linux系统中用户组没有密码,所以在这里我们说下重要的三个。

1
/etc/passwd
/etc/passwd是用户管理中非常重要的一个文件,它存储着用户的一些重要信息



[root@web ~]# tail -3 /etc/passwd
nginx:x:997:995:Nginx web server:/var/lib/nginx:/sbin/nologin
user1:x:1000:1000::/home/user1:/bin/bash
test:x:1001:1001::/home/test:/bin/bash

这里以冒号进行分割,每一列都代表着不同的含义
  • 第一列是用户名
  • 第二列代表的是密码,真正的加密后的密码在/etc/shadow文件中
  • 第三列是用户的UID
  • 第四列是用户组的GID
  • 第五列是用户的说明信息,这个可写可不写
  • 第六列是用户的家目录(登录后默认进入的目录)
  • 第七列是用户的shell,/bin/bash代表的是可以登录系统操作,/sbin/nologin代表的是不允许登录系统操作,这个是为了启动程序创建的用户只用来启动程序
2
/etc/shadow
/etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生



[root@web ~]# tail -3 /etc/shadow
nginx:!!:18786::::::
user1:!!:18798:0:99999:7:::
test:$6$llH/BKOe$86bdy1tvu/tqsia9.f5NmEniy3cLZ6H3F.P0wyg49fxlQMyGjvWS7boOwFgtQ3gPAvnN2IOiIVcyD4fD1WWaG0:18799:0:99999:7:::

它也是由若干个字段组成,字段之间用冒号分隔
  • 第一列是用户名
  • 第二列是加密后的密码。如果密码为空使用!!代替
  • 第三列是最后改动密码的日期,表示从某个时间起点到用户最后一次修改时间的天数,linux系统中时间起点是1970年一月一日
  • 第四列是密码不可被改动的天数,指的是两次修改密码所需要的最小天数
  • 第五列是密码需要重新更改的天数,指的是密码多少天后失效,在这个时间内必须更改密码。否则失效
  • 第六列是密码过期前的警告天数,密码失效前多少天给用户警告
  • 第七列是不活动时间,表示用户没有登录但账号仍能保持的有效天数
  • 第八列是失效时间,超过这个时间账号失效
3
/etc/group
这个文件是存储用户组的相关信息的



[root@web ~]#  tail -3 /etc/group      

nginx:x:995:

user1:x:1000:user1

test:x:1001:user1,test

每个用户可以属于多个组,一个组可以有多个用户
  • 第一列是组名
  • 第二列是密码信息,在linux系统中用户组都没有密码的
  • 第三列是GID
  • 第四列是组内成员,多个成员用,分隔
不用命令,我们直接修改文件也可以实现创建用户,添加组等
我们用户管理部分就结束了,有问题的小伙伴欢迎一起讨论一起进步
文章转载自小董的成长笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论