day23-用户管理补充

day23-用户管理补充_第1张图片
16952149-21a41f1e55d07c61.png

一、查询用户命令

1. id

显示用户uid gid
显示用户属于组
判断用户是否存在

2. w

查询负载
显示谁登陆系统 在干啥
等于uptime 查询负载
等于who 显示登录信息

“w”命令是用来查看什么的,w每一部分含义
day23-用户管理补充_第2张图片
16952149-3913f11107b8ce38.png
[09:16 root@oldboy ~]# w   
09:16:43 up 49 min,  3 users,  load average: 0.03, 0.02, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     tty1                      08:27   49:07   0.04s  0.04s -bash
root     pts/0    10.0.0.1         08:27    3.00s  0.09s  0.00s w
    oldboy   pts/1    10.0.0.1         08:28   39:07   0.07s  0.07s -bash

3. whoami

查看当前用户名

4. last

用户等登录信息 谁什么时候从哪里登录 什么时候退出
根据时间段找出谁登陆了系统
[13:54 root@oldboy ~]# last
oldboy   pts/0        10.0.0.1         Thu Apr 25 11:29   still logged in   
oldboy   pts/0        10.0.0.1         Thu Apr 25 11:24 - 11:29  (00:04)    
oldboy   pts/1        10.0.0.1         Thu Apr 25 10:03 - 11:24  (01:21)    
oldboy   pts/1        10.0.0.1         Thu Apr 25 09:35 - 09:42  (00:06)    
.............省略...~
root     tty1                          Tue Mar 26 14:22 - 08:31  (18:09)    
root     pts/0        10.0.0.1         Tue Mar 26 14:22 - 14:22  (00:00)    
reboot   system boot  3.10.0-957.el7.x Tue Mar 26 14:18 - 08:31  (18:13)    
root     pts/0        10.0.0.1         Tue Mar 26 14:12 - crash  (00:06)    
root     pts/0        10.0.0.1         Tue Mar 26 14:11 - 14:12  (00:00)    
root     tty1                          Tue Mar 26 14:11 - crash  (00:07)    
reboot   system boot  3.10.0-957.el7.x Tue Mar 26 14:10 - 08:31  (18:21)    

wtmp begins Tue Mar 26 14:10:10 2019

5. lastlog

显示所有用户最近1次的登录时间
[13:54 root@oldboy ~]# lastlog
Username         Port     From             Latest
root             pts/0                     Thu Apr 25 11:29:55 +0800 2019
bin                                        **Never logged in**
daemon                                     **Never logged in**
adm                                        **Never logged in**
............省略....~
stu04                                      **Never logged in**
stu05                                      **Never logged in**
stu06                                      **Never logged in**
stu04stu04                                 **Never logged in**
stu05stu05                                 **Never logged in**
stu06stu06                                 **Never logged in**

二、保护用户密码

可以在在密码中添加数字 大字母 小字母 符号
    "
    ""
    -
12位以上的密码,上面几种

记录密码:Keepass软件自动生成密码软件
day23-用户管理补充_第3张图片

三、批量添加用户并设置"固定密码"和"随机密码"

1.添加用户并设定固定密码

①.生成用户名

echo stu{01..3}|xargs -n1

②命令拼接>利用sed/awk 里面

sed 's###g' 后两个井号之间写什么 屏幕就显示什么 
awk  利用 ""    双引号里面写什么 屏幕就显示什么 

③第3步 把显示内容执行

执行bash命令解释器
步骤

[10:35 root@oldboy ~]# echo stu{01..3}|xargs -n1
stu01
stu02
stu03
[10:35 root@oldboy ~]# echo stu{01..3}|xargs -n1|sed -r 's#(.*)#useradd \1#g'
useradd stu01
useradd stu02
useradd stu03
[10:35 root@oldboy ~]# echo stu{01..3}|xargs -n1|sed -r 's#(.*)#useradd \1;echo 123456|passwd --stdin \1#g'
useradd stu01;echo 123456|passwd --stdin stu01
useradd stu02;echo 123456|passwd --stdin stu02
useradd stu03;echo 123456|passwd --stdin stu03
[10:35 root@oldboy ~]# echo stu{01..3}|xargs -n1|sed -r 's#(.*)#useradd \1;echo 123456|passwd --stdin \1#g'|bash
Changing password for user stu01.
passwd: all authentication tokens updated successfully.
Changing password for user stu02.
passwd: all authentication tokens updated successfully.
Changing password for user stu03.
passwd: all authentication tokens updated successfully.
day23-用户管理补充_第4张图片
添加3个用户并设置固定密码123456.png

2.添加用户并设定随机密码

批量添加用户stu04 stu05 stu06 随机8位密码 ,把密码和用户名字保存到文件里

①第1个里程碑 创建用户名

echo stu{04..6}|xargs -n1

②第2个里程碑 设置随机密码

用下文中的生成随机密码的方法即可。

③第3个里程碑 命令拼接

1.
seq -w 05|sed -r 's#(.*)#useradd abc\1;pass=`echo $RANDOM|md5sum`;echo 123456|passwd --stdin abc&;echo $pass abc& >>/root/pass.txt #g'|bash

2.
echo stu{04..6}|xargs -n1|sed -r 's#(.*)#useradd \1;pass=`date +%N`;echo $pass|passwd --stdin \1;echo $pass  >>/root/pass.txt &#g'|bash

④第4个里程碑-交给bash执行 并 检查

[12:12 root@oldboy ~]#  echo stu{04..6}|xargs -n1|sed -r 's#(.*)#useradd \1;pass=`date +%N`;echo $pass|passwd --stdin \1;echo $pass  >>/root/pass.txt &#g'
useradd stu04;pass=`date +%N`;echo $pass|passwd --stdin stu04;echo $pass  >>/root/pass.txt stu04
useradd stu05;pass=`date +%N`;echo $pass|passwd --stdin stu05;echo $pass  >>/root/pass.txt stu05
useradd stu06;pass=`date +%N`;echo $pass|passwd --stdin stu06;echo $pass  >>/root/pass.txt stu06
[12:12 root@oldboy ~]#  echo stu{04..6}|xargs -n1|sed -r 's#(.*)#useradd \1;pass=`date +%N`;echo $pass|passwd --stdin \1;echo $pass  >>/root/pass.txt &#g'|bash
useradd: user 'stu04' already exists
Changing password for user stu04.
passwd: all authentication tokens updated successfully.
useradd: user 'stu05' already exists
Changing password for user stu05.
passwd: all authentication tokens updated successfully.
useradd: user 'stu06' already exists
Changing password for user stu06.
passwd: all authentication tokens updated successfully.
[12:12 root@oldboy ~]# cat pass.txt 
411076399 stu04
442078527 stu05
478506586 stu06
day23-用户管理补充_第5张图片
机器识别的时间比较快,批量创建用户时如果用时间做随机数字,最后好用纳秒,用比较大的时间密码可能会重复.png

3.补充: sed 中的 & 含义

&符号在sed命令中s###g 表示前面正则匹配到的内容

day23-用户管理补充_第6张图片
16952149-6cd26cdc204a527a.png

4. 生成随机密码的方法

#方法1
tr + head
tr -cd 'a-zA-Z0-9' 

你可能感兴趣的:(day23-用户管理补充)