现在系统中(Linux与Windows等系统)都是通过用户来实现系统内的各种操作。根据不同的用途来区分不同的权限。
有关用户管理的相关文件
一、 /etc/passwd 此文件中包含用户的相关信息
查看其中的信息,可以以“:”进行分割。左→右总共七组。
1、用户名
2、密码标识 (“x”不是真正的用户密码,而是标识用户有密码。密码保存在/etc/shadow文件中)
3、 UID (表示用户的ID。主要以下几类)
(a)0 表示超级用户,代表管理员账号。将普通用户的UID改为“0”,则此普通用户的权限就升级为管理员账号权限(不建议系统中存在多个拥有管理员权限的账号。)
(b)1-499 表示系统用户(也称为伪用户)。这些用户是系统某些服务运行时所用到的用户,是系统在安装某些服务时自动建立的。不可登录;不可删除。(个别伪用户的UID会大于这个范围)
(c)500-65534 表示普通用户的UID。
centos7版本中,系统用户的UID:1--999;普通用户的UID:1000--60000
4、GID 表示用户组ID。如果不指定新建用户的所属组,系统就会自动建立一个与用户名相同的用户组(也称为初始组)。用户组的信息保存在/etc/group。
用户的权限与所属组无关。(即使一普通用户加入到root组中,也无法拥有root的权限。)
5、用户说明 没有实际意义,简单说明、可有可无。
6、用户的家目录 上面截图最后举例用户“zhangsan”。家目录位置/home/zhangsan。
7、登录shell 管理员用户与普通用户为/bin/bash,是标准shell,登录之后可以执行所有命令(前提是受权限限制)。伪用户为/bin/nologin,不允许登录。
二、/etc/shadow 此文件包含用户密码的相关信息
查看其中的信息,可以以“:”进行分割。左→右总共九组。
1、用户名
2、加密后的密码 根据SHA512加密算法得来。可以在前面加上“!”或者“*”使密码失效,可以暂时限制用户登录。所有的伪用户的密码都是“!!”或者“*”,代表没有密码不可登录。新建的用户未设置密码也“!!”,不可登录。
3、密码最近更改的时间 是以时间戳形式显示的(时间戳是1970年1月1日为基础时间,距今的天数。)
4、修改密码的间隔 限制用户修改密码的间隔时间。
(如上图用户wangwu所示,若此项为10,则需要第三项大于等于18383时,才可以再次修改密码。)
5、密码的有效期 默认99999天,在此之前,密码都是有效的。
(如上图用户wangwu所示,若此项为10,则第三项小于18383时,密码都是有效的。若明天修改密码,则第三项小于18384时,密码都是有效的。每次修改密码,此项都会刷新。)
6、密码到期需修改前的警告天数 默认7天。
(如上图用户wangwu所示,此项为7,前一项为100,则密码修改一次后第93天开始。每次登陆都会提示密码即将到期,请修改密码。)
7、密码过期后的宽限天数 默认是空的(默认值-1,表示永不过期)。
8、真正的密码过期时间 此项为时间戳,默认为空。
(如上图用户wangwu所示,若此项为20000,则自1970年1月1日至20000天后,会自动变为“!”,此密码失效,用户不得登录,修改密码也无效,需管理员手动修改此文件。)
9、没有作用,无意义。
三、/etc/group 此文件包含用户组的相关信息
上图所示(只显示最后三行)
1、初始组名
每个用户只能且必须存在一个初始组,没有初始组的用户不能存在。初始组名默认情况下与用户名一致。
2、组密码标识 密码保存在/etc/gshadow文件中,当然也是加密过的
3、GID
4、附加组
一个用户可以添加到0个或者多个组中,称之为附加组。
默认情况下,初始组就是用户的主组。一个用户只能有一个主组,一个组可以是多个用户的主组。主组是可以改变的,例如“zhangsan”的初始组是“zhangsan”,也就是“zhangsan”的主组是“zhangsan”。可以将“zhangsan”的主组变为“lisi”。则“zhangsan”的原主组“zhangsan”可以删除。(一般情况下不建议修改。)
四、/etc/gshadow 组密码文件
保存组密码的文件。组管理员可以通过组密码管理组中的用户。
五、用户的家目录
在/home下,每个用户对应一个家目录(用户“zhangsan”对应的是/home/zhangsan)
六、用户的邮箱目录
与家目录一样。每个用户对应一个邮箱目录
七、/etc/skel 新建用户文件模板目录
新建用户时,会自动将此目录中的文件拷贝到新用户的家目录下。