嗯 这快2个月里有学会了许多的东西 这次我写的是shell脚本
可能有很多的缺陷 但是我改善的 都是基于有了yum仓库的情况
这个是查看局域网内那台机器开放了ftp服务器
#!/bin/bash
#
[ -s /etc/ethers ] && cp -p /etc/ethers /etc/ethers.$(date +%Y%m%d%S)
for ip in 78.16.25.{1..20}; do
arping -c 2 -w 1 -q $ip
done
arp -n | awk '/^78/ {print $1,$3}' > /etc/ethers
#检查局域网内那台主机开了ftp服务
rpm -q wget &>/dev/null
[ $? -ne 0 ] && yum -y install wget &>/dev/null
echo "一下主机开启了匿名ftp服务"
for ip1 in $(awk '{print $1}' /etc/ethers); do
wget -T 1 -t 1 -q ftp://$ip1
[ $? -eq 0 ] && echo "$ip1"
done
这个脚本是显示你的服务器负载状态的 我把它的报警调低是为了快点看到它把报警信息写入到文件中
#!/bin/bash
#
DUG=$(df -hT |awk '/\/$/ {print $(NF-1)*1}')
CUG=$(mpstat |awk '/all/ {print int(100-$NF)}')
MUG=$(free -m | awk '/cache:/ {print int($3/($3+$4)*100)}')
[ -s /var/monitor.txt ] && cp -p /var/monitor.txt /var/monitor.txt.$(date +Y%m%d%H%M%S)
[ $DUG -ge 1 ] && echo "根分区磁盘使用率已达到 $DUG% " > /var/monitor.txt
[ $CUG -ge 1 ] && echo "CPU使用率已达到 $CUG%" >> /var/monitor.txt
[ $MUG -ge 1 ] && echo "内存使用率已达到 $MUG%" >> /var/monitor.txt
这个是安装vsftp服务的脚本 一共有3中配置 1.匿名ftp 2.本地用户ftp 3.虚拟用户ftp
#!/bin/bash
#
/etc/init.d/iptables stop &>/dev/null
setenforce 0 &>/dev/null
FTP="/etc/vsftpd"
cat << EOF
#------------------------------------------------#
# 1) 安装vsftpd匿名服务 #
# 2) 安装vsftpd用户服务 #
# 3) 安装vsftpd虚拟用户服务 #
# 4) 修改虚拟用户密码 #
# 5) 卸载vsftpd服务 #
# 6) 退出 #
#------------------------------------------------#
EOF
read -p "请输入你要安装的服务类型(1|2|3|4|5):" NM
a() {
rpm -qa | grep vsftpd &>/dev/null
if [ $? -eq 0 ]; then
echo "ftp服务已安装"
exit 0
else
echo "ftp服务安装中,请稍等。。。。。。。"
yum -y install vsftpd
echo "ftp服务安装完成"
# anonftp配置
cp $FTP/vsftpd.conf $FTP/vsftpd.conf.bak &>/dev/null
sed -i '/anon_up/ s/^#/ /g' $FTP/vsftpd.conf
sed -i '27aanon_umask=022' $FTP/vsftpd.conf
sed -i '/anon_mkdir/ s/^#/ /g' $FTP/vsftpd.conf
sed -i '33aanon_other_write_enable=YES' $FTP/vsftpd.conf
#启动vsftpd服务
/etc/init.d/vsftpd start
chkconfig vsftpd on
echo "ftp匿名服务配置完成"
fi
}
b() {
rpm -qa | grep vsftpd &>/dev/null
if [ $? -eq 0 ]; then
echo "ftp服务已安装"
exit 0
else
echo "ftp服务安装中,请稍等。。。。。。。"
yum -y install vsftpd
echo "ftp服务安装完成"
cp $FTP/vsftpd.conf $FTP/vsftpd.conf.bak &>/dev/null
#配置服务
sed -i 's/local_umask=022/local_umask=077/g' $FTP/vsftpd.conf
sed -i '/^#chroot_lo/s/^#/ /' $FTP/vsftpd.conf
#启动vsftpd服务
/etc/init.d/vsftpd start
chkconfig vsftpd on
echo "ftp用户服务配置完成"
fi
}
c() {
rpm -qa |grep db4-utils &>/dev/null
if [ $? -eq 0 ] ; then
echo "db4-utils已安装"
else
echo “正在安装软件 请稍等。。。。。。”
yum -y install db4-utils
echo “安装完成”
fi
rpm -qa | grep vsftpd &>/dev/null
if [ $? -eq 0 ]; then
echo "ftp服务已安装"
exit 0
else
echo "ftp服务安装中,请稍等。。。。。。。"
yum -y install vsftpd
echo "ftp服务安装完成"
cp $FTP/vsftpd.conf $FTP/vsftpd.conf.bak &>/dev/null
echo -e "1\n1\n2\n2\n3\n3" > /$FTP/vusers.list
db_load -T -t hash -f $FTP/vusers.list $FTP/vusers.db
chmod 600 $FTP/vusers.*
useradd -d /var/ftpboot/ -s /bin/nologin virtual
chmod 777 /var/ftpboot/
echo -e "auth\trequired\tpam_userdb.so db=/etc/vsftpd/vusers\naccount\trequired\tpam_userdb.so db=/etc/vsftpd/vusers" > /etc/pam.d/vsftpd.vu
sed -i '22aanon_umask=022' $FTP/vsftpd.conf
sed -i 's/vsftpd$/vsftpd.vu/' $FTP/vsftpd.conf
sed -i '$aguest_enable=YES\nguest_username=virtual' $FTP/vsftpd.conf
#启动ftp服务
/etc/init.d/vsftpd start
chkconfig vsftpd on
echo "启动服务成功"
fi
for i in 1 2 3 ;do
echo "$i 号用户 密码是 $i"
done
}
d() {
rpm -qa | grep vsftpd &>/dev/null
if [ $? -eq 0 ];then
yum -y remove vsftpd
rm -rf /etc/vsftpd/ &>/dev/null
rm -rf /var/ftp/ &>/dev/null
echo "vsftp服务以卸载完成"
else
echo "vsftp没有安装"
fi
}
e() {
while :
do
Z="/etc/vsftpd/vusers.list"
read -p "请输入你的账号:" zh
read -p "请输入你要修改的密码:" mm
cp $Z $Z.bak
case $zh in
1)
sed -i "2c$mm" $FTP/vusers.list
;;
2)
sed -i "4c$mm" $FTP/vusers.list
;;
3)
sed -i "6c$mm" $FTP/vusers.list
;;
*)
for HOME in $(sed -n 'n;p' $Z) ; do
echo "用户账号为 $HOME "
done
;;
esac
read -p "是否确定修改(y|n):" xg
if [ $xg = n ]; then
cp $Z.bak $Z
echo "以取消"
exit 0
fi
read -p "是否确定修改完成,确认修改请按(y|n):" qd
if [ $qd = y ]; then
db_load -T -t hash -f $FTP/vusers.list $FTP/vusers.db
/etc/init.d/vsftpd restart
echo "重启服务成功"
echo "密码修改成功"
sleep 2
exit 0
fi
done
}
case $NM in
1)
a
;;
2)
b
;;
3)
c
;;
4)
e
;;
5)
d
;;
6)
exit 0
;;
*)
echo "你的输入有误请重新输入"
esac
谢谢 有什么问题的话 留言告诉我一下 我马上就会改