什么是用户?
能正常登陆系统的算是用户
windows系统与linux系统的用户有什么区别?
本质上没有区别,linux支持多个用户同一时刻登陆系统,互相
之间不影响
而windows 在同一时刻不允许多个用户登陆(windowsserer2008)
root 超级管理员用户
普通用户
多个普通用户能逻辑上分为一个组, 当然一个用户也能隶属于多个组
为什么要创建用户
1.系统上的每一个进程 (运行的程序),都需要一个特定的用户运行
2.通常在公司是使用普通用户管理服务器,因为root权限过大,容易造成故
如何查看系统中所存在的用户
创建用户会在系统的哪个配置中保存信息
当创建一个用户时,系统会操作/etc/passwd /etc/shadow 这个两个文件,变更文件
中的内容
[图片上传失败...(image-9a459c-1565158421627)]
系统对用户的约定
[图片上传失败...(image-9aa90-1565158421627)]
ps: 在CentOS7 系统之前,UID 1-499 用于系统用户, UID 500+ 用于
普通用户
用户的创建/变更/删除
useradd 添加用户
-u 指定要创建用户的UID,不允许冲突
-g 指定要创建用户的默认组(基本组/ 主要的组)
-G 指定要创建的用附加组,逗号隔开可添加多个附加组
-d 指定要创建用户的家目录
-s 指定要创建用户的bash shell /bin/bash /sbin/nologin
[图片上传失败...(image-8e5cf6-1565158421627)]
[图片上传失败...(image-882662-1565158421627)]
[图片上传失败...(image-8b5079-1565158421627)]
usermod 修改用户
-u 指定要修改用户的UID
-g 指定要修改用户的基本组
-G 指定要修改用户附加组,使用都好隔开多个附加组,覆盖原有的附加组 -aG 追加
-d 指定要修改用户的家目录 -md 旧家搬新家
-s 指定要修改用户的bash shell
-c 指定要修改用户注释信息
-l 指定要修改用户的登录名
-L 指定要锁定的用户
-U 指定要解锁的用户
[图片上传失败...(image-54b6c0-1565158421627)]
userdel 删除用户
-r 删除用户同时删除它的家目录
[图片上传失败...(image-cac3-1565158421627)]
查看用户登陆情况
使用 who whoami w 检查用户登陆情况
[图片上传失败...(image-e67d6f-1565158421627)]
[图片上传失败...(image-77c831-1565158421627)]
为用户添加密码
为新用户添加密码 ,只能是root 密码尽可能负责 [0-9] [a-Z] [!@#$%^]
交互式设定密码
[图片上传失败...(image-833c60-1565158421627)]
非交互式设定密码
[图片上传失败...(image-a3b062-1565158421627)]
批量创建用户,并设定固定密码
[图片上传失败...(image-2afa55-1565158421627)]
为用户变更密码
为自己修改密码 直接使用passwd 注意密码需要复杂一点 并有8位
为别人修改密码 root passwd + 用户名
复杂密码生成
[图片上传失败...(image-fdbf3c-1565158421627)]
用户创建流程
用户创建过程会参考 /etc/login.defs 和 /etc/default/useradd 这两个文件
用户组管理
没有指定组:默认 会创建一个与用户同名的组 -- 私有组
指定组: -g 指定一个基本组 基本组必须先存在
附加组: -G 指定
[图片上传失败...(image-6074c4-1565158421627)]
[图片上传失败...(image-97939-1565158421627)]
创建组 修改组 删除组
创建普通组 groupadd + 组名字
创建系统组 groupadd -r + 组名字
修改组 gid groupmod -g
修改组名称 groupmod -n
删除组 groupdel + 组名字 (先删除用户 后删除组)
用户提权
- su 切换用户 需要知道用户密码 不安全
su 名字 属于非登录式shell 部分环境变量
su - 名字 属于登录式shell 全部环境变量
-
sudo 提权 root事先分配好权限-->关联用户 安全 方便 但是复杂
方式1 : 使用sudo 中 自带的别名操作,将多个用户定义成一个组
方式2 : 使用groupadd 添加组,然后给组分配sudo的权限,有新用户加入,直接将用户添加到该组
登陆对应的用户使用 sudo -l 验证权限
visudo -c 检查sudo 配置是否有错