linux系统安全shell脚本第二版

   使用方法将其复制,保存为一个shell文件,比如security.sh.将其上传到linux服务器上,执行sh security.sh,就可以使用该脚本了!

  代码如下:

  #!/bin/sh

  # desc: setup linux system security

  # author:coralzd

  # powered by www.freebsdsystem.org

  # version 0.1.2 written by 2011.05.03

  #account setup

  passwd -l xfs

  passwd -l news

  passwd -l nscd

  passwd -l dbus

  passwd -l vcsa

  passwd -l games

  passwd -l nobody

  passwd -l avahi

  passwd -l haldaemon

  passwd -l gopher

  passwd -l ftp

  passwd -l mailnull

  passwd -l pcap

  passwd -l mail

  passwd -l shutdown

  passwd -l halt

  passwd -l uucp

  passwd -l operator

  passwd -l sync

  passwd -l adm

  passwd -l lp

  # chattr /etc/passwd /etc/shadow

  chattr +i /etc/passwd

  chattr +i /etc/shadow

  chattr +i /etc/group

  chattr +i /etc/gshadow

  # add continue input failure 3 ,passwd unlock time 5 minite

  sed -i 's#auth required pam_env.so#auth required pam_env.sonauth required pam_tally.so onerr=fail deny=3 unlock_time=300nauth required /lib/security/$ISA/pam_tally.so onerr=fail deny=3 unlock_time=300#' /etc/pam.d/system-auth

  # system timeout 5 minite auto logout

  echo "TMOUT=300" >>/etc/profile

  # will system save history command list to 10

  sed -i "s/HISTSIZE=1000/HISTSIZE=10/" /etc/profile

  # enable /etc/profile go!

  source /etc/profile

  # add syncookie enable /etc/sysctl.conf

  echo "net.ipv4.tcp_syncookies=1" >> /etc/sysctl.conf

  sysctl -p # exec sysctl.conf enable

  # optimizer sshd_config

  sed -i "s/#MaxAuthTries 6/MaxAuthTries 6/" /etc/ssh/sshd_config

  sed -i "s/#UseDNS yes/UseDNS no/" /etc/ssh/sshd_config

  # limit chmod important commands

  chmod 700 /bin/ping

  chmod 700 /usr/bin/finger

  chmod 700 /usr/bin/who

  chmod 700 /usr/bin/w

  chmod 700 /usr/bin/locate

  chmod 700 /usr/bin/whereis

  chmod 700 /sbin/ifconfig

  chmod 700 /usr/bin/pico

  chmod 700 /bin/vi

  chmod 700 /usr/bin/which

  chmod 700 /usr/bin/gcc

  chmod 700 /usr/bin/make

  chmod 700 /bin/rpm

  # history security

  chattr +a /root/.bash_history

  chattr +i /root/.bash_history

  # write important command md5

  cat > list << "EOF" &&

  /bin/ping

  /bin/finger

  /usr/bin/who

  /usr/bin/w

  /usr/bin/locate

  /usr/bin/whereis

  /sbin/ifconfig

  /bin/pico

  /bin/vi

  /usr/bin/vim

  /usr/bin/which

  /usr/bin/gcc

  /usr/bin/make

  /bin/rpm

  EOF

  for i in `cat list`

  do

  if [ ! -x $i ];then

  echo "$i not found,no md5sum!"

  else

  md5sum $i >> /var/log/`hostname`.log

  fi

  done

  rm -f list

时间: 2025-01-29 19:32:45

linux系统安全shell脚本第二版的相关文章

教你使用Linux系统的Shell脚本维护Oracle

系统管理员与 DBA 之间在职责方面存在差别.但实际上,这种差别通常并不明显.许多 IT 部门雇佣一些可解决数据库级以及操作系统级问题的员工.当然,Oracle 数据库本身使用操作系统资源,并能与其环境紧密交互. 此外,许多系统管理员和DBA 发现将其工作相关的任务自动化很有必要或比较方便.软件安装.系统资源监视以及系统管理涉及一些重复和容易出错的任务,而自动过程可以比手动过程更好地完成这些任务. 将这些任务自动化的方法之一是shell 脚本. Shell 脚本自 Linux 系统安装之初就起着

如何在Linux中启用Shell脚本的调试模式

脚本是存储在一个文件的一系列命令.在终端上输入一个个命令,按顺序执行的方法太弱了,使用脚本,系统中的用户可以在一个文件中存储所有命令,反复调用该文件多次重新执行命令. 在学习脚本或写脚本的初期阶段,我们通常从写小脚本或者几行命令的短脚本开始,调试这样的脚本时我们通常无非就是通过观察它们的输出来确保其正常工作. 然而,当我们开始写非常长或上千行命令的高级脚本,例如改变系统设置的脚本,在网络上执行关键备份 等等,我们会意识到仅仅看脚本输出是不足以在脚本中找到 Bug 的! 因此,在 Linux 系列

如何在 Linux 中启用 Shell 脚本的调试模式

脚本是存储在一个文件的一系列命令.在终端上输入一个个命令,按顺序执行的方法太弱了,使用脚本,系统中的用户可以在一个文件中存储所有命令,反复调用该文件多次重新执行命令. 在学习脚本或写脚本的初期阶段,我们通常从写小脚本或者几行命令的短脚本开始,调试这样的脚本时我们通常无非就是通过观察它们的输出来确保其正常工作. 然而,当我们开始写非常长或上千行命令的高级脚本,例如改变系统设置的脚本,在网络上执行关键备份 等等,我们会意识到仅仅看脚本输出是不足以在脚本中找到 Bug 的! 因此,在 Linux 系列

shell如何编写-Linux系统使用Shell生成keystore?

问题描述 Linux系统使用Shell生成keystore? 运行sh文件就直接生成App对应的keystore.小弟弄Android的,根据公司需要学习Linux 解决方案 linux系统shell使用

linux下采用shell脚本实现批量为指定文件夹下图片添加水印的方法_linux shell

要实现linux下采用shell脚本批量为指定文件夹下图片添加水印,首先需要安装imagemagick: CentOS上安装: yum install ImageMagick -y Debian上安装: apt-get install ImageMagick -y 脚本: #!/bin/bash for each in /要处理的图片目录/*{.jpg,.gif} s=`du -k $each | awk '{print $1}'` if [ $s -gt 10 ]; then #convert

分享个简易版Linux服务器初始化Shell脚本

该Shell脚本主要用于新安装Linux服务器系统的初始化工作,包括关闭IPv6模块,关闭SELinux,让vim显示颜色,设置系统语言编码,优化系统服务,内核参数优化等   该Shell脚本主要用于新安装Linux服务器系统的初始化工作,具体包括: 关闭IPv6模块 关闭SELinux 让vim显示颜色 设置系统语言编码 优化系统服务 内核参数优化等. 可以根据自己的实际情况修改,可用于生产环境.原作者是NetSeek,本人做了部分修改. 复制代码 代码如下: #!/bin/sh # desc

分享个简易版Linux服务器初始化Shell脚本_linux shell

该Shell脚本主要用于新安装Linux服务器系统的初始化工作,具体包括: 关闭IPv6模块 关闭SELinux 让vim显示颜色 设置系统语言编码 优化系统服务 内核参数优化等. 可以根据自己的实际情况修改,可用于生产环境.原作者是NetSeek,本人做了部分修改. 复制代码 代码如下: #!/bin/sh # desc: lsm03624 modified by www.webnginx.com #-------------------cut begin-------------------

linux中的shell脚本管理(二)

在Shell脚本中执行使用if语句的好处是:可以根据特定的条件(eg:判断备份目录是否存在)来决定是否执行某项操作,当满足不同的条件时执行不同的操作(eg:备份目录不存在则创建该目录,否则跳过操作).该文将分别从条件测试操作,if语句结构,应用示例这三个方面讲解if语句在Shell脚本中的应用. 1.条件测试操作: 需要在Shell脚本中有选择性地执行任务时,首先面临的问题就是,如何设置命令执行的条件? 在Shell环境中,可以根据命令执行后返回状态值来判断该命令是否成功执行,当返回值为0是表示

Nginx+PHP(FastCGI)搭建高并发WEB服务器(自动安装脚本)第二版_nginx

本文是依照张宴的 Nginx 0.7.x + PHP 5.2.10(FastCGI)搭建胜过Apache十倍的Web服务器(第5版) 编写 原文地址 http://blog.s135.com/nginx_php_v5/ 因为编译过程和等待时间繁琐,于是就自己写了个全自动安装的shell脚本,此脚本可以随意修改,转载请注明出处. 这篇文章为这个系列的第二版,在第一版的基础上加入 1.日志切割 2.智能选择yum或者rpm安装 下载地址 注意:如果不能使用yum源,请放入系统光盘,单张dvd的,如果