1 、为用户添加密码[root才能执行]
为新用户添加密码[只能是root] [密码尽可能的复杂]{0-9}{a-z}{!@#$%^&}
1 、 交互设定密码
2 、非交互设定密码
3、批量创建用户,并设定固定密码
2、为用户变更密码
1、为自己修改密码(OK)直接使用passwd 注意密码需要复杂一点,并达到八位
2、为别人修改密码(root)passwd username
3、密码怎么才算复杂
1、设置复杂密码
2、.mkpasswd生成随机字符串, -l设定密码长度,-d数子,-c小写字母,-C大写字母,-s特殊字符
总结:
1、为新用户添加密码 ,只有root权限才可以
2、为用户变更密码也只有root才可以
3、普通用户只能修改自己的密码...无法修改其他人的密码
4、密码的修改方式有两种,一种是交互式,另一种是非交互式
4、用户创建流程
在用户创建的过程中需要参考 /etc/iogin.defs 和 /etc/default/useradd 这两个文件,默认参考
如果在创建用户时指定了参数,则会覆盖
5、用户组的管理
没有指定组:默认会创建一个与用户同名的组,简称私有组
指定组:-g 指定一个基本组 基本组必须先存在
1、/etc/group 配置文件
2、/etc/gshadow 配置文件
创建组gioupadd[-g GID]groupname
创建系统组
修改组g0roupmod
-g 修改组gid
-n 修改组名称
删除组 如果要删除基本组,需要先删除基本组中的用户才可以删除该组
6、用户提取
su 切换用户 如果切换用户,需要知道用户密码,不安全
sudo 提权(root事先分配好权限-->关联用户)安全 方便 但是复杂
基本概念:1、交互式 需要不停的交互
2、非交互式
3、登录式shell 需要用户名以及密码开启bash窗口
4、非登录式shell 不需要用户名和密码即可开启bash 窗口
su -username 属于登录式shell ,su username 属于非登录式shell ,区别在于加载的环境变量不一样。
su 切换有缺点
1、需要知道用户对应的密码
2、说明不是很安全
sudo 提权
1、预先分配好权限
2、在关联对应的用户
提升的权限太大,有两种办法限制开启某个命令的使用权限
第一种方式:使用sudo中自带的别名操作, 将多个用户定义成一个组
1.使用sudo定义分组,这个系统group没什么关系
2.定义可执行的命令组,便于后续调用
3.使用sudo开始分配权限
第二种方式:使用groupadd添加组,然后给组分配sudo的权限,如果有新用户加入直接将用户添加到该组
1.添加两个真实的系统组,
2.添加两个用户,
3.记得添加密码
4.在sudo中配置规则
5.检查sudo是否配置有错
sudo执行流程:
普通用户运行sudo——>检查/var/db/sudo下是否有时间戳文件,并检查是否过期,过期,输入用户自己的口令,没过期,检查、etc/sudoers配置文件是否有运行sudo和执行相应命令的权限,有权限,执行命令并返回结果,无权限,退出sudo
su和su-区别 加载的环境变量不一样
sudo提权
1、有管理人员来分配权限visudo | visduo -c检查语法
2、普通用户仅需要检查自身的sudo权限即可 sudo-l