Linux系统——shell脚本应用示例
传入一个网段地址,自动找出本网段内存活的IP地址。2,将存活的IP地址当作密码来创建Linux用户,用户名格式为:你的名字_数字 3,有几个存活IP地址,就自动创建几个用户 4,最后将创建的用户名和密码写入到/tmp目录下的某文件里
(1)找存活的ip
(2)将ip去除“.”,生成密码,
(3)创建用户,密码
(4)写入Path路径下的文件里(设置两个变量)
#!/bin/bash
Path=/tmp
for ip in 192.168.214.{1..5}
do
ping -c 1 $ip >/dev/null
if [ $? -eq 0 ];then
echo "$ip"
let i++
user=daisy_$i
useradd $user >/dev/null
(1) Passwd=`echo $ip | sed -r 's#[^0-9]##g'`
[ -d $Path ] || mkdir $Path
(2) echo $Pas swd | passwd -- stdin $user
echo "$user:$Passwd">>$Path/user_passwd
fi
done
用户登录验证程序
1、脚本里设置两个用户名和密码
2、让用户从屏幕输入账户和密码进行登录
3,、如果账户输入错误,让该用户继续输入账户,也可以注册用户
4、账户正确,输入密码
5、密码正确,登陆成功
6、同一个账号,密码最多允许输错3次,达3次,账号锁定(此时脚本不能退出)。
7、锁定账号以后,可以继续登录未锁定账号,也可以删除用户
#!/bin/bash
function login(){
USER1="daisy"
PASSWD1="123123"
USER2="helen"
PASSWD2="123456"
lock=""
Path=/tmp
useradd daisy
useradd helen
echo $PASSWD1 | passwd --stdin daisy
echo $PASSWD2 | passwd --stdin helen
while :
do
read -p "please write your username:" user
clear
echo "$lock" | grep -w "$user" &>/dev/null
if [ $? -eq 0 ];then
echo "locked"
continue
fi
if [ $user != "daisy" -a $user != "helen" ];then
echo "invaild username "
read -p "create username or not (choice yes or no):" create
case $create in
yes)
useradd $user
echo "create successfully"
passwd $user
[ $? -eq 0 ] && echo "create successfully"
echo "$user:$passwd" >> $Path/user_passwd
echo "transfer successfully"
exit
;;
no)
continue
;;
*)
echo "invaild number"
;;
esac
else
i=0
while :
do
read -p "please write your password:" passwd
clear
if [ $passwd == $PASSWD1 -a $user == "daisy" ];then
echo "login successfully"
exit
elif [ $passwd == $PASSWD2 -a $user == "helen" ];then
echo "login successfully"
exit
else
let i++
if [ $i -eq 3 ];then
echo "username has locked, please use another unlocked username"
sleep 1
clear
lock=$lock" $user"
sleep 1
read -p "delete username or not(choice yes or no):" delete
case $delete in
yes)
userdel $user
echo "delete successfully"
exit
;;
no)
exit
;;
*)
echo "invaild number"
;;
esac
break
fi
echo "password is wrong"
sleep 1
clear
fi
done
fi
done
}
function test(){
echo "123"
}
function title (){
cat <<FOF
********************
1、登录
2、退出
********************
FOF
}
while :
do
clear
title
read -p "请输入你的选择:" num
clear
case $num in
1)
login
;;
2)
echo "exit"
exit
;;
*)
echo "invaild number"
;;
esac
sleep 2
done
Linux系统——shell脚本应用示例的更多相关文章
- Linux系统Shell脚本编程
1. shell脚本概念:C语言编写的.命令解释器.编程语言. 是用户使用linux的桥梁. shell脚本语言非常擅长处理文本类型的数据. 2. shell脚本作用:自动化管理.监控管理.日志数据处 ...
- Linux系统——shell脚本
shell脚本编程 作用:通过命令行解析的方式,自动执行设定好的程序或命令代码.(若将脚本挂到定时任务中,就会自动在非工作时间里自动触发执行程序) Shell脚本文件以“.sh”结尾 规范的Shell ...
- linux服务器批量部署应用系统shell脚本(Tomcat/jetty)
linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-t ...
- Linux/Unix shell 脚本中调用SQL,RMAN脚本
Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...
- 从windows到linux的shell脚本编码和格式问题
从windows到linux的shell脚本编码和格式问题 从windows到Linux的shell脚本编码和格式问题 1.异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh s ...
- Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间
Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...
- Linux:从windows到linux的shell脚本编码和格式
从windows到linux的shell脚本编码和格式问题 异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh start.sh,时会报Command not found等等的错误, ...
- 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器
本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...
- 使用C#给Linux写Shell脚本(下篇)
在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...
随机推荐
- linux -- ubuntuserver 安装图形界面
安装Gnome桌面 1.安装全部桌面环境,其实Ubuntu系列桌面实际上有几种桌面应用程序,包括Ubuntu-desktop.Kubunut-desktop和Xubuntu- desktop. 我们就 ...
- gitolite 服务器搭建
网上大牛都说的是安装gitolite要建git用户,我看完全没必要,毕竟用户拿到私钥也未必能登录服务器吧...下面我们就用root用户来安装gitolite,并且配置版本库文件保存路径.. 1. gi ...
- Linux性能调优、Linux集群与存储等
http://freeloda.blog.51cto.com/ 51cto
- Python+selenium之获取文本值和下拉框选择数据
Python+selenium之获取文本值和下拉框选择数据 一.结合实例进行描述 1. 实例如下所示: #新增标签操作 def func_labels(self): self.driver.find_ ...
- hdu 1198 Farm Irrigation(深搜dfs || 并查集)
转载请注明出处:viewmode=contents">http://blog.csdn.net/u012860063?viewmode=contents 题目链接:http://acm ...
- MY97默认只能选择昨天的时间
<input type="text" id="startTime" class="Wdate" style="width: ...
- 微软笔试题-highways
题目大意 一条单向的高速公路上有N辆车,在0时刻,每辆车分别在起点A[0],A[1]....处开始从北向南出发,每辆车有个终点B[0],B[1]....且每辆车有个限制速度 V[0],V[1]... ...
- 基于开源博客系统(jpress)搭建网站
基于开源博客系统(jpress)搭建网站 JPress 使用 Java8 开发,基于流行的JFinal和Jboot框架. 目前JPress已经内置的文章和页面其实是两个模块,可以移除和新增其他模块,因 ...
- MyBatis笔记——EhCache二级缓存
介绍 ehcache是一个分布式缓存框架. 我们系统为了提高系统并发,性能.一般对系统进行分布式部署(集群部署方式) 不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统开发.所以要使用分布式缓 ...
- rabbitmq 用户管理
rabbitmqctl add_user root cor2016 rabbitmqctl set_user_tags root administrator http://host:15672/#/u ...