第九天 用户组管理 提权
今日内容
6.如何为用户设定密码,又如何修改密码?
7.用户的创建流程? [扩展了解]
8.用户组如何管理?
9.普通用户无权限怎么办? 切换身份 or 提权? su 切换用户 sudo 提权
1.为用户设定密码(只有root有权限)
交互式修改密码 :
passwd user
非交互式修改用户密码:
echo "123" | passwd --stdin oldyang
2.为用户变更密码:
2.为用户修改密码
1)、为自己修改密码 ,直接使用passwd 密码有一定的格式要求,须达到八位
2)、为别人修改密码 :passwd username 只有root有权限为其他用户修改密码
3.密码怎样才算复杂:
[root@oldboy-01 ~]# echo $RANDOM | md5sum | cut -c 5-15
随机输出字符串
2.mkpasswd生成随机字符串,-l 设定密码长度 ,-d 数字 ,-c 小写字母 ,-C 大写字母
,-s 特殊字符
[root@oldboy-01 ~]# mkpasswd -l 10 -d 3 -c 2 -C 3 -s 2
907*(RBLpt
#lastpass(保存密码的一个软件) 在线支持Windows macos iPhone浏览器插件
总结:
1.为用户添加密码,只有root权限才可以
2.为用户变更密码也只有root才可以
3.普通用户只能修改自己的密码,无法修改其他人的密码
4.密码的修改方式有两种,一种是交互式,另外一种是非交互式
4.用户的创建流程
在用户创建的过程中需要参考 /etc/login.defs 和/etc/default/useradd这两个文件,默认参考
如果在创建用户时指定了参数,则会覆盖掉(默认 /etc/login.defs 和/etc/default/useradd)
[root@oldboy-01 ~]# grep "^[a-Z]" /etc/login.defs 过滤出有用的文件信息
MAIL_DIR /var/spool/mail #创建的邮箱所在位置
PASS_MAX_DAYS 99999 # 密码最长使用天数
PASS_MIN_DAYS 0 #密码最短使用天数
PASS_MIN_LEN 5 #密码最短为5位
PASS_WARN_AGE 7 # 密码过期前7天警告
UID_MIN 1000 #UID最小位1000
UID_MAX 60000 #UID最大为60000
SYS_UID_MIN 201 #系统UID最小位201
SYS_UID_MAX 999 #系统UID最大为999
GID_MIN 1000 #
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes #给用户创建家目录
UMASK 077
USERGROUPS_ENAB Yes
ENCRYPT_METHOD SHA512
[root@oldboy-01 ~]# cat /etc/default/useradd
# useradd defaults file
GROUP=100 #当创建用户不指定组时,并且/etc/login.defs中USERGROUPS_ENAB为no时,新创建的用户会被系统分配给GID为100的组
HOME=/home # 用户默认的家目录
INACTIVE=-1 #-1表示用户不失效
EXPIRE= #过期时间 (没有输入任何数字,表示不过期)
SHELL=/bin/bash #默认登录shell
SKEL=/etc/skel #默认用户拷贝的环境变量
CREATE_MAIL_SPOOL=yes #是否创建邮箱
5.用户组的管理
1./etc/group 配置文件解释图
2./etc/gshadow/配置文件解释图
1. 创建组 groupadd [-g GID ] groupaddname
2.修改组 groupmod
3.删除组
如果删除基本组,需要先删除基本组中的用户才可以删除改组
6.用户提权
su切换用户 如果切换用户,需要知道用户密码,不安全
sudo 提权 (root事先分配好权限 -->关联用户)安全 方便 但是复杂
基本概念
交互式 需要不停的交互
非交互式
登陆式 shell 需要用户名以及密码开启bash窗口
非登录式shell不需要用户名和密码即可开启bash窗口
su - username属于登录式shell
su username属于非登录式shell
区别在于加载的环境变量不一样
sudo 提权
预先分配好权限
在关联对应的用户
3.提升的权限太大,能否有办法现在限制进开启某个命令的使用权限?其他命令不允许
第一种方式:使用sudo中再带点别名操作,将多个用户定义成一个组