本人只是一枚中职生小白,在管理学校的网站,这些脚本都是我为了管理这些网站自己写的,请高手不要见笑,请多指点指点,谢谢。如果没有在代码中体现的变量,已经被我定义成了环境变量。

大概过程:请判断是不是ssh登录的,如果是再判断ip,如果不是这三个ip里的,就把它的进程删了,并把最近十次登录的消息,上传到我的ftp。

#!/bin/bash
source ~/.bash_ftp
IP1='192.168.19.88'
IP2='172.18.0.8'
IP3='192.168.19.100'
UPID=$(ps |grep bash |awk '{print $1}')
#IPSSH=$(last |grep pts/ |head -1|awk '{print $3}')
IPSSH=$(who am i |cut -d "(" -f 2- |cut -d ")" -f -1)
IFTTY=$(who am i |awk  '{print $2}' |cut -d '/' -f -1)
LOGNAME="sshlogin_"$(date +%F_%H_%M)
if [ "$IP1" != "$IPSSH" ] &&  [ "$IP2" != "$IPSSH" ] &&  [ "$IP3" != "$IPSSH" ] && [ "$IFTTY" = "pts" ]; then
        echo "异常情况:"$(last |head -1) >/tmp/$LOGNAME
        echo "****最近几次登录情况****" >>/tmp/$LOGNAME
        last |head -10 >>/tmp/$LOGNAME
        FILE="/tmp"
        LOGINDIR="loginlog"
        cd $FILE
        ftp -n $FTPHOST >/dev/null <<END
        user $USERNAME $PASSWORD
        cd $LOGINDIR
        mput $LOGNAME
        quit
END
        rm -rf /tmp/$LOGNAME
        kill -9 $UPID

fi

转载于:https://blog.51cto.com/q8886888/1169380

shell只允许某些ipssh登录,配合iptables最好相关推荐

  1. linux虚拟用户登录失败,用shell用户或虚拟用户登录pureftpd

    摘要:讲解了Unix系统下pureftpd如何用shell用户登录,以及如何用虚拟用户登录. 目录: 一.系统真实(shell)用户登录 二.puredb虚拟用户支持 三.技巧 ----------- ...

  2. shell 密码输入不显示,Shell输出内容不显示密码,Shell实现有密码自动登录sshpass 应用实践...

    在很多实践项目中,我们经常会通过SSH来进行认证,如通过SSH拷贝文件,虽然我们可以使用公钥与私钥实现ssh 无密码登录,在不同的服务器上又需要配对相应的密钥,切换用户麻烦等问题,在一些需要交互但会涉 ...

  3. shell脚本一键装机(pxe配合kickstart无人值守)

    shell脚本一键装机(pxe配合kickstart无人值守) shell脚本实现无人值守安装 图文详细步骤可以参前期博文: PXE批量网络装机(超详细实验教程)教会你自动化批量安装linux 系统 ...

  4. shell脚本部署免密登录

    shell脚本部署免密登录 创建一个目录,用来存放脚本 [root@localhost scripts]# tree . ├── host └── ssh.sh0 directories, 2 fil ...

  5. Linux ssh shell 自动登录,shell脚本实现ssh自动登录功能分享

    文件名:ssh_auto_login #!/usr/bin/expect ## # ssh模拟登陆器 # # @author zhiyuan ## if {$argc<4} { puts &qu ...

  6. Linux Shell 只列出目录的方法

    在实际应用中,我们有时需要仅列出目录,下面是 4 种不同的方法. 1. 利用 ls 命令的 -d 选项: $ ls -d */ Desktop/ pic/ shell/ src/ 2. 利用 ls 命 ...

  7. javaweb实现单点登录,防止重复登录,获取sessionid,对session及时销毁回收,只允许一个用户登录,结合struts2实现

    首先我们目的是实现一个单点登录,即只允许单个账户单个登录. 实现异地与同地登录判断 要将先登录的用户强制下线.不免用到session. 单点登录的最大难题:已经登录且重复登录的用户的session怎么 ...

  8. 用Redis实现频繁操作的拦截,例如一天内只允许一个用户登录5次

    上次看到一个问题:如何用Redis实现只允许一个用户一天内登录五次. 想到Redis中可以给string设置过期时间,所以我们可以利用这个特性来实现. 作为一个java程序猿,我们使用Jedis,具体 ...

  9. 【Spring Security】如何实现多设备同一时间只允许一个账号登录(即前登录用户被后登录用户挤下线)?只需简单两步!

    1.需求分析 在同一个系统中,我们可能只允许一个用户在一个终端上登录,一般来说这可能是出于安全方面的考虑,但是也有一些情况是出于业务上的考虑,需求就是业务原因要求一个用户只能在一个设备上登录. 要实现 ...

最新文章

  1. [51nod1965]奇怪的式子(Min_25筛)
  2. React-状态提升
  3. C/C++程序语言概念
  4. 学习 WCF (4)--学会使用配置文件
  5. php 判断update返回为0_PHP进行数据库更新update操作,返回状态
  6. html5平板电脑,Html5添加支持桌面、移动触摸手机和平板电脑的Lightbox插件教程
  7. 给即将35岁的产品经理提个醒
  8. 微信小程序canvas保存绘制图片
  9. SonarLint黄线警告python:S125
  10. Junit4 安装与使用(IDEA)
  11. Lync 2013正式版评估及2013版独立客户端下载
  12. SQL Server 2005“错误1706。安装程序找不到需要的文件。请检查……”的处理办法
  13. oracle统计每日归档大小,归档大小日志计算
  14. 解决 您的安全设置不允许将此应用程序安装到您的计算机上的问题
  15. 信奥学习规划 信息学竞赛之路(2022.07.31)
  16. 天翼云服务器部署程序不能外网被访问问题
  17. HAL库学习之串口通信
  18. 强大的矩阵奇异值分解(SVD)及其应用(转)-我们老师推荐的
  19. 常见的机器学习数据挖掘知识点之Basis
  20. 计算机图像处理2000字论文,计算机图像处理技术论文.doc

热门文章

  1. java 去掉最后一个换行符_Python 教程(一)第一个Python程序
  2. 解析java匿名内部类
  3. linux系统中条码如何识别的,如何(可靠地)在嵌入式(无头)Linux中读取USB条形码扫描仪?...
  4. python什么环境_什么是Python?(基础环境建设),NO2,搭建
  5. linux系统如何创建python文件_linux如何运行python脚本
  6. proe输入数字时成双出现_Proe/Creo步进电机正反转仿真详解
  7. linux查看占用的命令,linux内存占用查看命令
  8. php使用referer,php中HTTP_REFERER函数用法实例
  9. linux编译openssl报错,alpine编译openssl1.1.1g报错解决
  10. php挖洞提权,记一次渗透挖洞提权实战