今天想总结一下linux下面用户的管理,因为自己设计很多项目的权限系统,大概linux的这个就是一个原型吧
用户文件 /etc/passwd /etc/shadow
用户组文件 /etc/group /etc/gshadow
下面就是讲这个四个文件的结构的详细说明
/etc/passwd
baixs:x:500:500:baixs user:/home/baixs:/bin/bash
第一段 : 用户名
第二段 : 口令,将密码映射到/etc/passwd文件中
第三段 : UID 用户ID
第四段 : GID 用户组ID
第五段 : 用户名全称
第六段 : 用户家目录
/etc/shadow
baixs:$1$VE.Mq2Xf$2c9Qi7EQ9JP8GKF8gH7PB1:13072:0:99999:7:::
第一段 : 组名称
第二段 : 已加密的密码
第三段 : 上次修改口令的时间
第四段 : 两次修改口令间隔最少的天数
第五段 : 两次修改口令间隔最多的天数
第六段 : 提前多少天敬告用户过期
第七段 : 过期之后多少天禁用此用户
第八段 : 用户过期日期
第九段 : 保留,供linux发展之用
/etc/group
baixs:passwd:GID:baixs1,baixs2,baixs3
第一段 : 用户组名称
第二段 : 用户组密码
第三段 : GID
第四段 : 用户列表,用逗号隔开
/etc/gshadow
linuxsir:oUS/q7NH75RhQ::linuxsir
第一段 : 用户组名称
第二段 : 用户组密码
第三段 : 用户组管理者
第四段 : 组成员
如果我们想直接用修改这些文件来管理用户和组也是可以的
比如在/etc/passwd中添加一条记录,记住用户ID不能 重复,然后执行
pwconv把密码同步到了/etc/shadow文件了
一些命令如果不熟悉直接百度很快就可以找到了
主要记住这种设计思路,是不是很简洁,并且还有很好的拓展性,在实际中我们应该根据实际情况来做一些权限的设计,想黏贴位这些设计都是在权限设计中碰得到的