用户管理


用户密码管理

passwd

## 默认passwd 修改当前登录用户密码
[root@moban ~]# passwd

## passwd 用户名, 修改其他用户密码 (仅限root用户)
[root@moban ~]# passwd cs16
Changing password for user cs16.
New password: 


## 普通用户下passwd
[cs16@moban ~]$ passwd
Changing password for user cs16.
Changing password for cs16.
(current) UNIX password:    		 ------- 输入原密码
New password:	 		   			------- 输入新密码	
 Retype new password:       		 ------- 确认信息码
passwd: all authentication tokens updated successfully.  ---Passwd:成功更新所有身份验证令牌。


ps ------ CMDB:资产管理系统   -------- 密码太长用于记忆的攻击
                          
## 生成随机密码
1.
[root@moban ~]# echo $RANDOM | MK |cut -c 1-8
4e6c50fc
echo $RANDOM  ------ 打印RANDOM 这个变量的值
md5um 		  -------通过md5um 计算随机数的加密值    md5用来校验文件完整性
cut -c 1-8    ------- 截取前1-8位

2.
## 安装expect进行随机生成
[root@moban ~]# yum install -y expect

[root@moban ~]# mkpasswd        ----------- 随机生成密码10位随机
,9CnurfD1  

[root@moban ~]# mkpasswd  -l 20 -d 5 -c 5 -C 5 -s 5 
wc64M9D>5hBM7@iV[a&=
l  长度
d  数字个数
c  小写字符
C  大写字符
s  特殊字符
v  (详细)

用户组管理

##管理组的两个文件
/etc/group
/etc/gshadow


[root@localhost ~]# head -1 /etc/group
root:x:0:zls444444,zls666
第一列:组名
第二列:组密码占位符
第三列:组GID
第四列:组中的附加成员


[root@localhost ~]# head -1 /etc/gshadow
root:::zls444444,zls666
root:$6$q0sHS/5GA2D/ARX$K.::zls444444,zls666
第一列:组名
第二列:组密码
第三列:组管理员
第四列:组中的附加成员

组相关命令

选项 作用
-g 设置gid
-n 修改组名

创建minbaby gid为2666
[root@moban ~]# groupadd minbaby  -g 2666

删除 maxbaby组
[root@moban ~]# groupdel  maxbaby

修改gid为 2888    minbaby组名换位maxbaby
[root@moban ~]# groupmod minbaby -g 2888 -n maxbaby

设置组密码

[root@localhost ~]# gpasswd ppp
Changing the password for group ppp
New Password:

切换组身份

[root@localhost ~]# newgrp 组名

Liunx中的身份切换

su - 用户名
## 从root用户切换到其他用户,不需要输入密码
## 普通用户切换到其他用户,需要输入密码
## 加载顺序
/etc/profile > /etc/profile.d/1.sh > /root/.bashrc > /etc/bashrc

/etc/profile
/etc/profile.d/1.sh
.bash_profile
/root/.bashrc
/etc/bashrc

个人配置文件: ~/.bash_profile ~/.bashrc
全局配置文件:/etc/profile /etc/profile.d/*.sh /etc/bashr

用户身份提权sudo

sudo 提权,当需要使用root权限时,进行提权,而无需切换至root用户。
优点:安全,方便
缺点:复杂

[zls@localhost ~]$ sudo mkdir /opt/abc
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for zls:
zls is not in the sudoers file. This incident will be reported.

## 颁发圣旨(提权配置文件)
[root@localhost ~]# vim /etc/sudoers

## 设置命令别名
Cmnd_Alias CREATE = /bin/mkdir,/bin/touch

## 方法一
### visudo不设置用户密码
[root@localhost ~]# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
zls ALL=(ALL) CREATE
cls1 ALL=(ALL) NOPASSWD: ALL

## 方法二:只要给用户加入wheel组中,就有sudo权限
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
%all_sudo ALL=(ALL) NOPASSWD: ALL
[root@localhost ~]# useradd lhq1 -G wheel

## 切换成普通用户可以查看我这个用户能执行哪些命令
[lhq2@localhost ~]$ sudo -l