【Centos基础篇】之用户和组
linux用户:Username/UID
linux内判断身份是用ID号,每个用户都有唯一的编号,即UID。创建用户的名字会产生一个对应的UID,在用户登录的同时,计算机默认识别的是对应的UID数字。
管理员默认为root账号,默认UID为0,判断用户是不是管理员,是判断UID是否为0,如果root的UID改为非0,root就不再是管理员。UID决定了账户的身份,而不是名字决定了身份。
普通用户的默认UID范围为1~65535,在CentOS 6中1~499是为系统用户预留的UID,个人登录用户的UID从500开始;CentOS 7的系统用户预留的UID范围为1~999,个人登录用户的UID从1000开始。系统用户是预留给系统的服务进程所使用。
[root@yifeng ~]#id uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
linux组:Groupname/GID
组相当于多个用户的集合,可以创建一个组,把多个账户加到这个组里,方便授权,组内用户会继承当前住的权限,不需要对账户单独授权,其他账户加入组,同样继承组的授权。组不是必须的,是为了方便管理。
组的ID叫GID,用户名和组名可以同名。在windows中用户名和组名不允许同名。
-rw-------. 1 root(用户名) root(所属组) 1949 Jul 18 14:51 anaconda-ks.cfg
(一)、用户的主要组:用户有且只有一个主组,有且只有一个主组。附加组可有可无,可有多个。组名和用户名相同,且只有一个用户的组叫私有组。
(二)、用户的附加组:一个用户可以属于零个或多个辅助组
对用户授权代表一个人,对组授权代表一个集合。
用户最终能不能访问某个文件,和使用的工具无关,和访问者的身份(权限)有关。
linux用户和组的主要配置文件
用户及其属性信息(名称、UID、主组ID等) /etc/passwd
由于老版本系统中普通用户同样有查看密码文件的权限,在新版本系统中passwd中的密码口令由x代替,可用pwunconv回归传统显方式,普通用户不具备pwunconv权限
passwd文件格式
用户名:口令:UID:GID:用户全名:用户组全名:用户默认使用的shell
[root@yifeng ~]#cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin adm:x:3:4:adm:/var/adm:/sbin/nologin lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin ......
pwunconv 回归传统,把密码从/etc/shadow放回/etc/passwd
pwconv 还原
[root@yifeng ~]#cat /etc/passwd //查看密码文件 root:
x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin
[root@yifeng ~]#pwunconv //执行pwunconv命令
[root@yifeng ~]#cat /etc/passwd //再次查看密码文件 root:
$6$.QGA7WPFQ.aHgKTu$54TgRYOiCHBSi/uZmnA8A3rHIuI0eQfWjZXJBgZxexJAtJCzElpqC.NGTlZKc7LiUq8NDG7aC2Ux24qNRQDTT.:0:0:root:/root:/bin/bash bin:*:1:1:bin:/bin:/sbin/nologin
[root@yifeng ~]#pwconv //还原 [root@yifeng ~]#cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin
修改登录用户的UID为0,该用户将具备管理员的权限
[root@yifeng ~]#nano /etc/passwd //编辑密码文档 root:x:10:0:root:/root:/bin/bash //修改管理员root的UID为非零 feng:x:0:1000:feng:/home/feng:/bin/bash //修改用户UID为0 [root@yifeng /]#su feng //登录用户feng [feng@yifeng /]# //#代表管理员权限
组及其属性信息 /etc/group
group文件格式
群组名称:群组密码:GID:以当前组为附加组的用户列表(用逗号分隔)
[root@yifeng ~]#cat /etc/group root:x:0:gentoo bin:x:1:gentoo daemon:x:2: sys:x:3: adm:x:4: tty:x:5: ......
用户密码及其相关属性 /etc/shadow
**shadow文件格式 **
登录用名:
用户密码:一般用sha512加密:
从1970年1月1日起到密码最近一次被更改的时间:
密码再过几天可以被变更(0表示随时可被变更):
密码再过几天必须被变更(99999表示永不过期):
密码过期前几天系统提醒用户(默认为一周):
密码过期几天后帐号会被锁定:
从1970年1月1日算起,多少天后帐号失效
[root@yifeng ~]#cat /etc/shadow root:$6$.QGA7WPFQ.aHgKTu$54TgRYOiCHBSi/uZmnA8A3rHIuI0eQfWjZXJBgZxexJAtJCzElpqC.NGTlZKc7LiUq8NDG7aC2Ux24qNRQDTT.:17372:0:99999:7::: bin:*:17372:0:99999:7::: daemon:*:17372:0:99999:7::: adm:*:17372:0:99999:7::: ......
组密码及其相关属性 /etc/gshadow
gshadow文件格式
群组名称:群组密码:组管理员列表:以当前组为附加组的用户列表(用逗号分隔)
[root@yifeng ~]#cat /etc/gshadow root:::gentoo bin:::gentoo daemon::: sys::: ......
用户管理命令
useradd 添加用户
-g GID:指明用户所属基本组
-c "COMMENT":用户的注释信息
-s SHELL: 指明用户的默认shell程序
[root@yifeng home]#useradd test1 -g feng -c "ceshi" -s /bin/bash //添加text账户,注释ceshi,使用bash程序
usermod 用户属性修改
-s SHELL:新的默认SHELL
-c 'COMMENT':新的注释信息
-u UID: 新UID
-g GID: 新主组
userdel 删除用户
-r: 删除用户家目录
[root@yifeng home]#userdel -r text //删除test用户的家目录
id
-u: 显示UID
[root@yifeng home]#id -u test1 1002
-g: 显示GID
[root@yifeng home]#id -g test1 1000
-G: 显示用户所属的组的ID
[root@yifeng home]#id -G test1 1000
-n: 显示名称,需配合ugG使用
[root@yifeng home]#id -nu test1 test1
组账户命令
groupadd 创建组
-g GID: 指明GID号
-r: 创建系统组
groupmod 修改组
-n group_name: 新名字
-g GID: 新的GID
groupdel 删除组
gpasswd 组密码
-a user: 将user添加至指定组中
-d user: 从指定组中移除用户user
newgrp命令:临时切换主组
如果用户本不属于此组,则需要组密码