运维脚本----初始化Linux设置学习
# 已经安装操作系统 # 需求: # 1、设置时区并同步时间 # 2、禁用selinux # 3、清空防火墙默认策略 # 4、历史命令显示操作时间 # 5、禁止root远程登陆 # 6、禁止定时任务发送邮件 # 7、设置最大打开文件数【增大】 # 8、减少Swap使用【读写性能不是很好】 # 9、系统内核参数的优化 # 10、安装性能分析工具及其他
# 实际使用中,有部分情况根据实际情况调整 cat /etc/redhat-release mkdir shell_scripts vi 1.sh # 设置时区并同步时间 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime # 1、同步时间,内网可以搭建一个时间服务器,进行 if ! crontab -l |grep ntpdate &>/dev/null;then (echo "* 1 * * * ntpdate time.windows.com >/dev/null 2>&1";crontab -l)|crontab fi # 2、禁用selinux sed -i '/selinux/{s/permissive/disabled/}' /etc/selinux/config #关闭防火墙 if egrep "7.[0-9]" /etc/redhat-release &>/dev/null;then systemctl stop firewalld systemctl disable firewalld elif egrep "6.[0-9]" /etc/redhat-release &>dev/null;then service iptables stop chkconfig iptables off fi # 3、历史命令显示操作时间 if ! grep HISTTIMEFORMAT /etc/bashrc;then echo 'export HISTTIMEFORMAT="%F %T 'whoami'" '>> /etc/bashrc fi # 4、SSH超时时间,长时间没在的情况下 if ! grep "TMOUT=600" /etc/profile &>/dev/null;then echo "export TMOUT=600" >> /etc/profile fi # 5、禁止root远程登陆,根据需要使用 # sed -i 's/#PermitRootLogin no/' /etc/ssh/sshd_config # 6、禁止定时任务发送邮件,/var/mail/里面有太多文件 sed -i 's/^MAILTO=root/MAILTO=""/' /etc/crontab # 7、设置最大打开文件数 if ! grep "* soft nofile 65535" /etc/security/limits.conf &>/dev/null;then cat >> /etc/security/limits.conf<<EOF * soft nofiles 65535 * hard nofiles 65535 EOF fi # 8、系统内核优化,查看默认值:sysctl -a |grep tw_ba cat >> /etc/sysctl.conf<<EOF net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_tw_buckets = 20480 net.ipv4.tcp_max_syn_backlog = 20480 net.core.netdev_max_backlog = 262144 net.ipv4.tcp_fin_timeout = 20 EOF # 9、减少Swap使用 echo "0" >/proc/sys/vm/swappiness # 10、安装系统性能分析工具及其他
注意:针对以下文件的修改,完成后要执行命令:source /etc/bashrc 使其及时生效
/etc/bashrc