一、基本概念
名称解析:将用户与UID进行转换的过程。人类使用的是用户名,系统识别的是UID码;
用户认证:用户及密码的确认,验证用户是否有登录使用该系统的的权限;
用户授权:对文件权限的设定,判定用户是否有权限操作该文件;
审计:记录用户在本机中的操作;
认证机制:验证用户名与密码是否一致,默认的机制叫shadow,一般称之为影子口令(因为用户名和密码没在一个文件中);
安全上下文:进程继承了发起该进程的用户的权限;
进程能否发起要进行两步认证:1、用户是否有该进程的权限;2、该进程是否有对该文件发起的权限。
用户类别:
1、管理员:root UID:0
2、普通用户:系统用户:启动系统后台服务的进程,不能作为交互式用户登录 UID:1-499
可交互式登录的用户:正常注册用于登录的用户 UID:500-65535
通常为了方便管理用户,就把用户划分在不同的小组(group),其ID叫作:GID
组类别:
1、管理员组:root GID:0
2、普通用户组:
系统组:存放管理系统用户的组 GID:1-499
用户组:存放管理可交互式登录的用户的组 GID:500-65535
用户的私有组:组名和用户名一致,且通常只包含该用户
用户的非私有组:用户的基本组(用户操作时形成的组)
用户的附加组:用户所处的非基本组
[[email protected] ~]# cat /etc/passwd root:x:0:0:root:/root:/bin/bash tcpdump:x:72:72::/:/sbin/nologin
root : x :0 : 0 : root : /root : /bin/bash
用户名 密码 UID GID 用户的注释 用户家目录 用户当前所使用的shell类型
tcpdump:x:72:72::/:/sbin/nologin:其shell类型为UID、GID范围在1-499之间,shell类型为:/sbin/nologin 为系统用户
[[email protected] ~]# grep "^\<tcpdump\>" /etc/group tcpdump:x:72:
tcpdump :x :72 :
用户名 密码 GID 用户名的描述信息
二、用户及组的管理的命令
1、添加用户:useradd 其默认路径为:/etc/default/useradd
格式:useradd 选项[参数] 用户名
-u 指定用户的UID
-g 指定用户的基本组,其参数为组名或GID(已存在)
-G 指定用户的附加组,其参数为组名或GID(已存在)
-c 添加用户的描述信息
-d 指定用户的家目录,该目录之前不存在
-s 指定用户所使用的shell
(查看用户所用shell命令:#cat /etc/shells;列出用户可以使用的安全shell:chsh -l )
-r 指定创建的用户为系统用户
[[email protected] tmp]# useradd -u 65530 -g 0 -c klkjljk -d /home/mml -s /bin/bash mml [[email protected] tmp]# tail -1 /etc/passwd mml:x:65530:0:klkjljk:/home/mml:/bin/bash
创建用户mml,其UID为65530,GID为0,描述信息为:klkjljk,家目录为:/home/mml,shell类型为bash,是交互式用户(可登陆)
[[email protected] tmp]# useradd -r ll [[email protected] tmp]# tail -1 /etc/passwd ll:x:498:498::/home/ll:/bin/bash
默认创建用户ll,其UID和GID为489,是系统用户
2、添加组:groupadd 格式:groupadd 选项 组名
-g 指定当前创建的组的ID号
-r 创建系统组
[[email protected] tmp]# groupadd -g 65530 aa [[email protected] tmp]# tail -1 /etc/group aa:x:65530:
[[email protected] tmp]# groupadd -r bb [[email protected] tmp]# tail -5 /etc/group distro:x:5000: peguin:x:5001: mml:x:0: aa:x:65530: bb:x:498:
创建组bb,其GID为498,在范围1--499之间,为系统组
3、查看用户ID:id 格式:id 选项 用户名
-u 仅显示用户UID
-g 仅显示用户GID
-n 仅显示用户名(和上两个选项一起使用)
[[email protected] tmp]# id -u mml 65530 [[email protected] tmp]# id -g mml 0
4、删除用户:userdel 格式:userdel 选项 用户名
-r 删除用户的家目录
[[email protected] tmp]# userdel -r ll userdel: ll home directory (/home/ll) not found [[email protected] tmp]# tail -5 /etc/passwd postfix:x:89:89::/var/spool/postfix:/sbin/nologin sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin oprofile:x:16:16:Special user account to be used by OProfile:/home/oprofile:/sbin/nologin tcpdump:x:72:72::/:/sbin/nologin mml:x:65530:0:klkjljk:/home/mml:/bin/bash
5、修改用户的信息:usermod 格式:usermod 选项 用户名
-u 修改用户的UID
-g 修改用户的GID
-c 修改用户的描述信息
-d 修改用户的家目录
-s 修改用户的shell类型
(使用命令:chsh -s shell 用户名,也可修改用户的shell类型)
-G 修改用户的附加组,以-a一起使用
-r 修改创建的用户为系统用户
-l 修改用户名
-L 锁定用户名
-U 解锁用户名
[[email protected] tmp]# tail -1 /etc/passwd tcpdump:x:72:72::/:/sbin/nologin [[email protected] tmp]# usermod -l cc -g 14 tcpdump [[email protected] tmp]# tail -1 /etc/passwd cc:x:72:14::/:/sbin/nologin
这里仅演示-g、-l的用法及结果,其余选项与上面的useradd相似
6、修改组的信息:groupmod 格式:groupmod 选项 组名
-g 修改组的GID
-n 修改组名
该命令与上面的groupadd相似,在这里不再举例。