day 10用户管理

1.为用户添加密码【root才能执行】

1.为新用户添加密码【只能是root】{密码尽可能的复杂}【0-9】【a-Z】【!@#¥%&*】


交互式设定密码


非交互式设定密码


批量创建用户,并设定固定密码

2.为用户变更密码

(1)为自己修改密码(ok )直接使用passwd 注意密码需要复杂一点,并达到8位

(2)为别人修改密码(root)passwd username

3.密码怎么才算复杂



生成随机数字


mkpasswd 生成随机字符串,

-l 设定密码长度,-d 数字,-c 小写字母 -C 大写字母 -s 特殊符号

4.用户的创建流程

在用户创建的过程需要参考 /etc/login.defs 和/etc/default/useradd 这两个文件,默认参考

如果在创建用户时指定了参数,则会覆盖(默认/etc/login.defs 和/etc/default/useradd)

[root@oldboy ~]# grep "^[a-Z]" /etc/login.defs

MAIL_DIR /var/spool/mail                         #创建的邮箱所在的位置

PASS_MAX_DAYS 99999                         #密码最长使用的天数

PASS_MIN_DAYS 0                                  # 密码最短使用天数

PASS_MIN_LEN 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从1000开始

GID_MAX                60000                                        #gid到60000结束

SYS_GID_MIN              201                                          #系统gid从201开始

SYS_GID_MAX              999                                         #系统到999结束

CREATE_HOME yes                                   #给用户创建家目录,默认创建到/home

UMASK          077

USERGROUPS_ENAB yes

ENCRYPT_METHOD SHA512



[root@oldboy ~]# cat /etc/default/useradd

# useradd defaults file

GROUP=100                             #当用户创建用户时不指定组,并且/etc/login.defs中的  USERGROUPS_ENAB为no 时,用户默认创建给分配一个gid为100的组 

HOME=/home                           #用户默认的家目录

INACTIVE=-1                           #用户不失效

EXPIRE=                                      #过期时间

SHELL=/bin/bash                          #默认登录shell

SKEL=/etc/skel                              #默认用户拷贝的环境变量

CREATE_MAIL_SPOOL=yes            #创建邮箱

5用户组的管理

1.

/etc/group的配置文件

2.

/etc/gshadow配置文件

1.创建组groupadd [-g GID] groupname


创建组

2.修改组


修改组

3.删除组 如果要删除基本组,需要先删除基本组中用户才可以删除该组


附加组、基本组 删除所有关联用户,则可以删除改户

6.用户提权

su 切换用户,如果切换用户,需要知道用户的密码,不是很安全

sudo 提权  (root事先分配好权限-->关联用户) 安全,但是复杂

基本概念

1.交互式 需要不停的交互

2.非交互式

3.登录式shell 需要用户名以及密码开启bash 窗口

4.非登录式shell不需要用户名和密码即可开启bash 窗口

su -usernane 属于登录式shell ,su username 属于非登录式shell ,区别在于加载的环境变量不一样

su 切换有缺点

需要知道用户对应的密码

说明不是很安全

(1)关闭root直接远程连接

(2)只能使用普通用户连接系统

(3)su - 切换至root操作

sudo 提权

1.预先分配好权限

2.在关联对应的用户

3.提升的权限太大,能否有办法限制仅开启某个命令的使用权限? 其他命令不允许

第一种方式:使用sudo 中自带的别名操作,将多个用户定义成一个组       


使用sudo定义分组,这个系统group没有什么关系


定义可执行的命令组,便于后续调用


使用sudo 开始分配权限

4.登陆对应的用户使用sudo -l  验证权限

第二种方式:使用groupadd 添加组,然后给组分配sudo的权限,如果有新用户加入,直接将用户添加到该组


添加两个真实的系统组,


添加两个用户


记得添加密码


在sudo中配置规则


检查sudo是否配置有错

6.检查user_a ,和user_d 的sudo 权限

sudo 的执行流程


你可能感兴趣的:(day 10用户管理)