• 第七周作业


    1.编写脚本实现传入进程pid,查看对应进程/proc下cpu、内存指标

    #!/bin/bash
    
    read -p "please input pid:" pid
    ps_pid=`ps aux|awk '{print $2}'|grep $pid`
    if [ ! $ps_pid ];then
        echo "Please ensure pid:$pid is exist!"
        exit 1
    else
        echo "The MEM is `grep -i vmsize /proc/$pid/status |awk '{print $2}'` kB"
        echo "The CPU is `ps -Lo %cpu -p $ps_pid|sed -n 2p` %"
    fi

    2. 编写脚本实现每分钟检查一个主机端口是否存活(提示使用nmap),如果检查到端口不在线,sleep 10s,如果三次不存在,记录到日志

    #!/bin/bash
    
    read -p "Please input Ip:(eg:192.168.1.0): " ip_add
    read -p "Please input Port:(eg:3306):  " ip_port
    if [ ! $ip_add ];then
        echo "Please input Ip!"
        exit 1
    elif [ ! $ip_port ];then
        echo "Please input Port!"
        exit 1
    fi
    i=1
    while true;do
        port_status=`nmap $ip_add -p $ip_port|grep $ip_port|awk '{print $2}'`
        if [ "$prot_status" != "open" ];then
            sleep 10
            let i++
            if [ $i == 3 ];then
                echo "$ip_add:$ip_port is down at $(date +%F_%T)" >> /var/log/ip_port.log
                break
            fi
        else
            break
        fi
        sleep 60
    done

    3. 编写脚本/root/bin/execute.sh,判断参数文件是否为sh后缀的普通文件,如果是,添加所有人可执行权限,否则提示用户非脚本文件

    #!/bin/bash
    
    file=`echo "$1"|sed -nr 's#.*.(sh$)#1#p'`
    if [ "$file" = "sh" -a -f "$1" ];then
            chmod a+x $1
            echo "Permission has been added!"
    else
            echo "$1 is not scripts file!"
    fi

    4. 编写脚本/root/bin/nologin.sh和login.sh,实现禁止和允许普通用户登录系统

    #!/bin/bash
    
    if [ ! -f "/etc/nologin" ];then
        touch /etc/nologin
        #echo "ALL User is not allow to login!"
    fi
    #!/bin/bash
    
    if [ -f "/etc/nologin" ];then
        rm -f /etc/nologin
        #echo "ALL User is allowed to login!"
    fi

    5. 编写脚本/root/bin/sumid.sh,计算/etc/passwd文件中的第10个用户和第20个用户的ID之和

    #!/bin/bash
    
    L10=`sed -n 10p /etc/passwd|awk -F: '{print$3}'`
    L20=`sed -n 20p /etc/passwd|awk -F: '{print$3}'`
    echo $(($L10+$L20))
  • 相关阅读:
    车羊问题的一种简洁证明
    linux document viewer 中文乱码、方块
    java编程方式生成CA证书
    First JNI
    opensuse 上面运行eclipse崩溃的问题
    java在非安全网络上建立可信任安全的通道(2/3)
    java在非安全网络上建立可信任安全的通道(1/3)
    java编程方式用CA给证书进行签名/签发证书
    泛型类里面获取到泛型的类型
    安全领域的一些概念
  • 原文地址:https://www.cnblogs.com/bj-mr-li/p/11307466.html
Copyright © 2020-2023  润新知