1)首先创建用户文件,添加用户名
vim users.txt
zhangsan
lisi
wangwu
2)创建创建用户脚本文件
vim useraddfor.sh
3) 编写批量创建用户的脚本
#!/bin/bash
ulist=$(cat /root/users.txt)
for uname in $ulist
do
useradd $uname
echo "123456" | passwd --stdin $uname &> /dev/null
done
4)执行脚本文件
. users.txt
扩展:
这里对 . 做出解释其实就是source的代替符号,用来执行脚本,测试脚本,如果要对脚本做出定时执行,和开机执行的话,还是需要添加执行权限(chmod +x 脚本名)
5)验证用户是否创建成功
cat /etc/passwd
1)首先创建用于测试的主机列表文件(ip地址自己根据情况定)
vim /root/ipadds.txt
192.168.1.1
192.168.1.10
192.168.1.100
127.0.0.1
2)创建文件脚本
vim /root/chkhosts.sh
3)编写批量检测主机脚本
#!/bin/bash
hlist=$(cat /root/ipadds.txt)
for ip in $hlist
do
ping -c 3 -i 0.2 -W 3 $ip &> /dev/null
if [ $? -eq 0 ]
then
echo "host $ip is up."
else
echo "host $ip is down."
fi
done
4)执行脚本
. chkhosts.sh
1)创建脚本文件
vim uaddwhile.sh
2) 编写添加用户脚本
#!/bin/bash
NAMEADD="stu"
i=1
while [ $i -le 20 ]
do
useradd ${NAMEADD}$i
let i++
done
3)执行脚本创建用户
. uaddwhile.sh
4)查看创建是否创建成功
cat /etc/passwd
5)可以更改上面的创建用户脚本,将useradd改为userdel进行删除刚刚创建的用户
vim udelwhile.sh
6)我这里再创建一个文件以免有同学不理解
#!/bin/bash
NAMEDEL="stu"
i=1
while [ $i -le 20 ]
do
userdel -r ${NAMEDEL}$i
let i++
done
7)执行脚本文件删除用户
. udelwhile.sh
1)创建猜游戏价格游戏文件
vim pricegame.sh
2) 编写猜价格游戏脚本
#!/bin/bash
price=$(expr $RANDOM % 1000)
times=0
echo "商品实际价格范围为0--999,猜猜看是什么?"
while true
do
read -p "猜输入你猜测的价格数目:" int
let times++
if [ $int -eq $price ] ; then
echo "恭喜你答对了,实际价格是$price"
echo "你总共猜了${times}次"
exit 0
elif [ $int -gt $price ] ; then
echo "太高了!"
else
echo "太低了"
fi
done
3)执行脚本测试
chmod +x pricegame.sh
./gricegame.sh
1)创建脚本文件
vim hitkey.sh
2)编写脚本内容
#!/bin/bash
read -p "请输入一个字符,并按回车键确认:" key
case "$key" in
[a-Z]|[A-Z])
echo "您输入的是字母."
;;
[0-9])
echo "您输入的是数字."
;;
*)
echo "您输入的是空格,功能键,或者其他字符."
esac
3)执行脚本测试
. hitkey.sh
1)创建脚本文件
vim mygroq
2)编写系统服务脚本
#!/bin/bash
case "$1" in
start)
echo -n "正在启动sleep服务..."
if sleep 7200 &
then
echo "OK"
fi
;;
stop)
echo -m "正在停止sleep服务..."
pkill "sleep" &> /dev/null
echo "OK"
;;
status)
if pgrep "sleep" &> /dev/null ; then
echo "sleep服务已经启动."
else
echo "sleep服务已经停止"
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "用法:$0 {start|stop|status|restart}"
esac
3) 执行脚本文件测试
. myprog
(1)通过arping命令发送ARP请求,根据反馈结果记录MAC地址。
(2)将网段地址(如192.168.1.)赋值给变量NADD,作为检测地址的前缀。
(3)使用while循环语句,重复检测目标并记录MAC地址,主机地址从1-254。
(4)测试需要打开另一台虚拟机网段在1网段上保证可以ping通,实现实验效果
1)创建脚本文件
vi getarp.sh
2)编写脚本文件
#!/bin/bash
NADD="192.168.1."
FILE="/etc/ethers"
[ -f $FILE ] && /bin/cp -f $FILE $FILE.old
HADD=1
while [ $HADD -le 4 ]
do
ping -c 3 -i 0.2 -W 3 ${NADD}${HADD} &> /dev/null
if [ $? -eq 0 ] ; then
arp -n | grep ${NADD}${HADD} | awk '{print $1,$3}' >> $FILE
fi
let HADD++
done
[root@localhost ~]# chmod +x getarp.sh
[root@localhost ~]# ./getarp.sh //执行检测程序
测试:
cat /etc/ethers
192.168.1.12 00:0C:29:C3:F8:51
192.168.1.13 00:50:56:C0:00:01
省略....
(1)有很多方法可以检测一个主机是否开启匿名FTP服务,这里采取以wget下载工具访问FTP根目录的方式,若能够成功列表,则视为匿名FTP已开启,否则视为关闭。
(2)通过awk命令过滤出/etc/ethers文件中的所有IP地址,赋值给变量TARGET。
(3)使用for循环语句,读取TARGET变量中的IP地址,重复探测FTP开启情况。‘
(4)测试需要开启另一台虚拟机安装开启vsftp服务
1)创建脚本文件
vim scanhost.sh
2)编写脚本文件
#!/bin/bash
TARGET=$(awk '{print $1}' /etc/ethers )
echo "ftp-YES"
for IP in $TARGET
do
wget ftp://$IP/ &> /dev/null
if [ $? -eq 0 ] ; then
echo $IP
rm -rf index.html
fi
done
[root@localhost ~]# chmod +x scanhost.sh
[root@localhost ~]# ./scanhost.sh //执行脚本,确认扫描结果
以下主机已开放匿名FTP服务:
192.168.1.12