用户和组
linux中用户分为:普通用户和管理用户。
普通用户: 是指可以登陆系统,进行操作,但并不能管理系统。例如:修改IP。普通用户:也可以进行细分,分别为:系统用户和登陆用户,系统用户是不可以登陆系统的。登陆用户是可以登陆系统的。
管理用户: linux中默认root是管理员,拥有最大的权限。
UID: UID是一个数字,它标识了用户的身份,系统就是根据用户的UID来判断所拥有的权限。
UID范围:如下
用户类别 | id范围 | id特性 |
---|---|---|
管理员 | 0 | 当UID为0时,那么此用户就有管理员的权限,所以可以将普通用户的UID改为0,它也就拥有了管理员的权限 |
系统用户 | 1-499(centos6);1-999(centos7) | 保留给系统使用的UID,centos7比6要多500个。 UID为此范围的用户是无法登陆系统的。 |
登陆用户 | 500+(centos6);1000+(centos7) | 给登陆用户使用。 |
组:组就是用户的集合,可以分为普通组和管理员组。
管理员组: 默认管理员组只有root。
普通组: 可以当成是具有相同特征的用户的集合体;例如我们多个用户对一个目录要有相同的权限时,就可以用组了。
GID: GID是用来标识组的身份的。
GID范围:如下
组类别 | id范围 | id特性 |
---|---|---|
管理员组 | 0 | 当GID为0时,那么此用户就有管理员组的权限,所以可以将普通用户的UID加入管理员组,它也就拥有了管理员组的权限 |
系统组 | 1-499(centos6);1-999(centos7) | 保留给系统组使用的GID,centos7比6要多500个。 UID为此范围的用户是无法登陆系统的。 |
普通组 | 500+(centos6);1000+(centos7) | 给普通登陆用户使用。 |
用户必须要有一个组,但是组却可以没有用户。
用户只有一个主组,可以有多个附加组。
用户和组的配置文件
Linux用户和组的主要配置文件:
/etc/passwd:用户及其属性信息(名称、 UID、主组ID等)
name:password:UID:GID:GECOS:directory:shell
login name:登陆用名
passwd:密码 (x)
此处其实是保留字段(为了兼容老系统)
pwunconv:回归传统模式把口令放在/etc/passwd下
pwconv:把口令移动到/etc/shadow下
UID:用户身份编号 (1000)
普通用户变为管理员的方法:修改普通用户的UID为0
如果修改root用户的UID为非0(没有管理员情况下),用户无法登录,系统无法启动。进入单用户模式,把/etc/passwd文件修复。
GID:登录默认所在组编号 (1000)
主组的GID
GECOS:用户全名或注释
修改用户描述信息:chfn USERNAME
查看用户描述信息:finger USERNAME
home directory:用户主目录 (/home/wang)
如果修改/etc/passwd/把用户的家目录修改为不存在路径,那么用户默认登陆的目录为/
shell:用户默认使用shell (/bin/bash)
修改用户默认shell:chsh -s /BASHNAME USERNAME
/etc/shadow:用户密码及其相关属性
登录用名
用户密码:一般用sha512加密
从1970年1月1日起到密码最近一次被更改的时间
密码再过几天可以被变更(0表示随时可被变更)(最短口令有效期,假如最短口令有效期为1,那么代表的就是1天之内不能修改密码,除了root)
密码再过几天必须被变更(99999表示永不过期)(密码最长有效期,默认是99999大约300年,也就说明永不过期)
密码过期前几天系统提醒用户(默认为一周)(密码快过期了,提前几天提醒用户)
密码过期几天后帐号会被锁定(如果此值设定为3那么代表密码过期三天后,账号将被锁定)
从1970年1月1日算起,多少天后帐号失效(相当于设定账号有效期,代表多少天之后此账号将失效)
修改账户有效期等信息的命令:chage USERNAME
[root@centos7 ~]# chage jerr
Changing the aging information for jerr
Enter the new value, or press ENTER for the default
Minimum Password Age [0]: 0 # 密码最短有效期
Maximum Password Age [1]: 42 # 最长使用有效期
Last Password Change (YYYY-MM-DD) [2017-07-22]: # 上次修改口令时间
Password Expiration Warning [7]: 5 # 庄户快过期,提前几天警告
Password Inactive [-1]: 3 # 密码过期几天后,锁定账户
Account Expiration Date (YYYY-MM-DD) [-1]: 2018-09-09 # 密码最长有效期
/etc/group:组及其属性信息
群组名称:就是群组名称
群组密码:通常不需要设定,密码是被记录在/etc/gshadow
GID:就是群组的 ID
以当前组为附加组的用户列表(分隔符为逗号)
查看用户属于哪个组:groups USERNAME
[root@centos7 ~]# groups jerr
jerr : jerr
查看需内有那些成员:groupmems -g GROUPNAME -l(默认是不列出把此组当成主组的user)
[root@centos7 ~]# groupmems -g jerr -l
/etc/gshadow:组密码及其相关属性
群组名称:就是群组名称
群组密码:通常不会设定
组管理员列表:组管理员的列表,更改组密码和成员
以当前组为附加组的用户列表:(分隔符为逗号)
把用户添加到组,只有用户登录的时候才能生效,因为用户只有登录时才会读取配置文件