shell基础练习笔记

1.关闭不必要的服务
ntsysv chkconfig
必须开启的服务有: crond/messagebus/network/iptables/sshd/syslog/sysstat/snmpd
关闭不必要的服务脚本:
for i in `chkconfig --list |awk ‘/3:on/ {print $1}‘|grep -v "crond\| messagebus\|sshd\|iptables\|network\|syslog\|snmpd\|sysstat"`; 
do  chkconfig --level 345 ${i} off; 
done
开启需要的服务脚本:
for i in "crond" "messagebus" "iptables" "network" "snmpd" "sshd"  "syslog" "sysstat";
do  chkconfig --level 345 ${i} on; 
done
3.检查服务的基本配置
dmidecode | grep "Product" | head -n 1  检查服务器型号
cat /proc/cpuinfo | grep name | cut -f2 -d: |uniq -c 检查CUP信号
free -m | grep Mem | awk ‘{print $2}‘
ifconfig | grep "inet addr" | awk -F: ‘{print $2}‘| awk ‘{print $1}‘
4.系统优化修改/etc/sysctl.conf文件,sysctl -p 是修改生效;
关闭不必要的服务使用ntsysv;查看自启动服务chkconfig;
5.修改系统的文件句柄书/etc/security/limits.conf   确认句柄允许数据ulimit -n
6.修改sshd监听端口,并禁止密码验证登录配置文件/etc/ssh/sshd_config

7.账号安全,清除除root用户之外的其他用户的登录权限

     #!/bin/bash

    for k in `cat /etc/passwd | grep -i "\/bin\/bash" | grep -v "root" | cut -d: -f1`;

    do

    usermod -s /sbin/nologin ${k};

    done

    更改root用户密码:

    echo "xxxxxxxx" >/root/tmp.txt   “xxxxxxxx”为设定的密码

    passwd root --stdin </root/tmp.txt ;rm –f /root/tmp.txt

8.查看系统的基本信息脚本

    #!/bin/bash

    dmidecode | grep "Product" | head -n 1

    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c

    free -m | grep Mem | awk ‘{print $2}‘

    ifconfig | grep "inet addr" | awk -F: ‘{print $2}‘| awk ‘{print $1}‘

    route -n 

    cat /etc/issue | head -n 1

    uname -a

    df -h | awk ‘{print $1,$2}‘

9.加载ext4模块

    modprobe ext4

    lsmod | grep ext4

    yum -y install e4fsprogs

10.统计登陆用户数

uptime | cut -d‘,‘ -f 2 | sed ‘s/^[[:space:]]*//g‘

who | wc -l 

11.添加用户脚本

#!/bin/bash

id $1 >/dev/null 2>&1

if [ $? -eq 0 ];then

        echo "$1 is exsit!"

else

        useradd $1

        echo "123456" | passwd --stdin "$1" >/dev/null 2>&1

        if [ $? -eq 0 ];then

                echo "$1 create seccuss!"

        fi

fi

12.sed删除空行  

    sed ‘/^$/d‘ file

13.sed删除行首的空格

    sed -i ‘s/^[[:space:]]*//‘ filename
    sed -i ‘s/[[:space:]]*//g‘ filename  ##删除所有空格
    sed s/[[:space:]]//g filename
    #sed ‘s/^[ ]*//g‘ file
    #sed ‘s/^ *//g‘ file
    #sed ‘s/^[[:space:]]*//g‘ file

14.#删除所有行尾空字符

sed -i  ‘s/[[:blank:]]+$//‘ filename

15.删除行的首数字

sed  -i ‘s/^[0-9]*//g‘ filename
sed ‘s#^[0-9]{1,} ##g‘  filename
sed ‘s#^[0-9]* ##g‘  filename






本文出自 “咚咚的博客” 博客,谢绝转载!

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。