传入一个网段地址,自动找出本网段内存活的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脚本应用示例的更多相关文章

  1. Linux系统Shell脚本编程

    1. shell脚本概念:C语言编写的.命令解释器.编程语言. 是用户使用linux的桥梁. shell脚本语言非常擅长处理文本类型的数据. 2. shell脚本作用:自动化管理.监控管理.日志数据处 ...

  2. Linux系统——shell脚本

    shell脚本编程 作用:通过命令行解析的方式,自动执行设定好的程序或命令代码.(若将脚本挂到定时任务中,就会自动在非工作时间里自动触发执行程序) Shell脚本文件以“.sh”结尾 规范的Shell ...

  3. linux服务器批量部署应用系统shell脚本(Tomcat/jetty)

    linux服务器批量部署应用系统shell脚本: 1.请更换代码内的服务器地址(Tomcat或jetty服务器) serverRoot=/home/undoner/java_tool/apache-t ...

  4. Linux/Unix shell 脚本中调用SQL,RMAN脚本

    Linux/Unix shell脚本中调用或执行SQL,RMAN 等为自动化作业以及多次反复执行提供了极大的便利,因此通过Linux/Unix shell来完成Oracle的相关工作,也是DBA必不可 ...

  5. 从windows到linux的shell脚本编码和格式问题

    从windows到linux的shell脚本编码和格式问题   从windows到Linux的shell脚本编码和格式问题 1.异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh s ...

  6. Linux简单Shell脚本监控MySQL、Apache Web和磁盘空间

    Linux简单Shell脚本监控MySQL.Apache Web和磁盘空间 1. 目的或任务 当MySQL数据库.Apache Web服务器停止运行时,重新启动运行,并发送邮件通知: 当服务器磁盘的空 ...

  7. Linux:从windows到linux的shell脚本编码和格式

    从windows到linux的shell脚本编码和格式问题 异常问题 :set ff=unix 启动脚本在启动时报错比如执行sh start.sh,时会报Command not found等等的错误, ...

  8. 详解Linux交互式shell脚本中创建对话框实例教程_linux服务器

    本教程我们通过实现来讲讲Linux交互式shell脚本中创建各种各样对话框,对话框在Linux中可以友好的提示操作者,感兴趣的朋友可以参考学习一下. 当你在终端环境下安装新的软件时,你可以经常看到信息 ...

  9. 使用C#给Linux写Shell脚本(下篇)

    在上篇的<使用C#给Linux写Shell脚本>结尾中,我们留下了一个关于C#如何调用BashShell的问题.在文章发布之后,我留意到有读者留言推荐使用“Pash”(一款类PowerSh ...

随机推荐

  1. lumen 常用辅助函数

    optional 函数接收任意参数并允许你访问对象上的属性或调用其方法.如果给定的对象为空,属性或方法调用返回 null return optional($user->address)-> ...

  2. Java Tomcat 注册为Windows系统服务

    注册方法: 1. 在DOS命令行模式下,cd到tomcat的bin目录下 cd tomcatpath 根目录加:后回车 进入到tomcat安装目录,cd bin,进入tomcat启动目录 2.在tom ...

  3. shell脚本学习总结01--文件描述符和重定向

    文件描述符是与文件输入和输出的相关联的整数,它们用来追踪已打开的文件,文件描述符0,1,2是系统预留的. 0 --> stdin (标准输入) 1 --> stdout (标准输出) 2 ...

  4. PE导入表分析

    A.dll 导入 B.dll 导出函数 A.dll 表内容 这个结构指向的B导出函数的地址 Hook这个位置 等同于 Hook B.dll导出函数

  5. tomcat中文配置

    tomcat传递中文乱码,修改server.xml文件 <Connector port=" protocol="HTTP/1.1" connectionTimeou ...

  6. spring-boot 打包成 war包发布

    1.用maven打包成war包 2.将war包用zip方式打开,删除里面的tomcat-embed相关的4个包,删除spring-boot-tomcat包 3.将删除了tomcat相关嵌入包后的war ...

  7. poj1015 Jury Compromise【背包】

    Jury Compromise Time Limit: 1000MS   Memory Limit: 65536K Total Submissions:32355   Accepted:8722   ...

  8. Servlet------>jsp自定义标签5(标签体内容改为大写)

    5.把标签体内容改为大写(tld中的配置我就省略了,详细请看jsp自定义标签1) import java.io.IOException; import javax.servlet.jsp.JspExc ...

  9. swift tableViewController

    tableViewController 控制器 import UIKit     class ViewController: UITableViewController {              ...

  10. HTTP代理服务器基本知识

    http://www.cnblogs.com/TankXiao/archive/2012/12/12/2794160.html https://blog.csdn.net/xiaoxiaorenky/ ...