一、查询用户命令
1. id
显示用户uid gid
显示用户属于组
判断用户是否存在
2. w
查询负载
显示谁登陆系统 在干啥
等于uptime 查询负载
等于who 显示登录信息
“w”命令是用来查看什么的,w每一部分含义 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软件自动生成密码软件
三、批量添加用户并设置"固定密码"和"随机密码"
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.
添加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
机器识别的时间比较快,批量创建用户时如果用时间做随机数字,最后好用纳秒,用比较大的时间密码可能会重复.png
16952149-6cd26cdc204a527a.png3.补充: sed 中的 & 含义
&符号在sed命令中s###g 表示前面正则匹配到的内容
4. 生成随机密码的方法
#方法1
tr + head
tr -cd 'a-zA-Z0-9' </dev/urandom |head -c8 #生成八位数密码
#方法2
date +%N
date +%N|sha512sum| head -c8
date +%N|md5sum | head -c8
date +%N |md5sum |head -c10
#方法3
RANDOM环境变量 RANDOM生成随机数字、RANDOM +数字
echo $RANDOM
echo $RANDOM|md5sum
echo $((RANDOM+10000000))
#方法4
uuidgen|cut -b 1-8
#方法5
mkpasswd|cut -b 1-8
#方法6
openssl rand -base64 8
7+29k0jeCeI=
#方法7
string字符转换,转换为人类可读的
strings /dev/urandom | tr -cd 'a-zA-Z0-9' |head -c8
#方法8 gpg
gpg --gen-random -armor 1 12
gGdc3IQH5WFjvLXL
网友评论