CentOS6系统初始化脚本

本文涉及的产品
运维安全中心(堡垒机),企业双擎版 50资产 7天
运维安全中心(堡垒机),免费版 6个月
简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
注:执行后需要重启机器
#!/bin/sh
#****************************************************************#
# ScriptName: CentOS6_init.sh
# Author:823431818@qq.com
# Create Date: 2014-05-17
# Modify Author: 
# Modify Date: 2016-09-18
# Function: 
#***************************************************************#
 
 
change_password_len()
{
echo  "Change PASS_MIN_LEN to  10"
/bin/awk  '($1 ~ /^PASS_MIN_LEN/) { $2="10" } {print}'  /etc/login .defs  > /tmp/login .defs
/bin/mv  -f  /tmp/login .defs  /etc/login .defs
}
 
modify_chkconfig()
{
echo  "::Modify chkconfig for the system..."
for  in  `chkconfig --list| grep  0:| awk  '{print $1}' `
do
     case  "$a"  in
     "sshd"     ) STATUS=on;;
     "crond"    ) STATUS=on;;
     "network"  ) STATUS=on;;
     "rsyslog"   ) STATUS=on;;
     "irqbalance"   ) STATUS=on;;
     *         ) STATUS=off;;
     esac
     /sbin/chkconfig  --level 345 $a $STATUS
done
echo  "::End modify chkconfig"
}
 
disable_selinux()
{
echo  "::Disable selinux"
[ -e  /etc/selinux/config  ] &&  sed  -r -i  '/^SELINUX=/s/.*/SELINUX=disabled/'  /etc/selinux/config
echo  "::End disable selinux"    
}
 
change_inittab()
{
echo  "::Change inittab"
sed  -r -i  '/^id/s/.*/id:3:initdefault:/'  /etc/inittab
echo  "::End change inittab"
}
 
modify_timezone()
{
cat  <<- EOF > /etc/sysconfig/clock
ZONE= "Asia/Shanghai"
UTC= false
ARC= false
EOF
cp  -f  /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime
sed  -i  's/^[ \t]*//'  /etc/sysconfig/clock
}
 
function  set_keyboard()
{
cat  <<- EOF > /etc/sysconfig/keyboard
KEYBOARDTYPE= "pc"
KEYTABLE= "us"
EOF
sed  -i  's/^[ \t]*//'  /etc/sysconfig/keyboard
}
 
function  set_nofile_limits()
{
echo  "::Change nofile limits"
sed  -i  's#session    required     pam_loginuid.so#session    required     pam_loginuid.so\nsession    required     pam_limits.so#'  /etc/pam .d /login
sed  -i  '$a *        -   nofile      65536'  /etc/security/limits .conf
echo  "::End change nofile\n"
}
 
change_banner()
{
echo  "::Change Banner"
for  FILE  in  /etc/issue  /etc/motd  /etc/issue .net;  do
     cp  -f ${FILE} ${FILE}.tmp
     egrep  - vi  "red hat|kernel|fedora"  ${FILE}.tmp > ${FILE}
     rm  -f ${FILE}.tmp
done
if  "`grep -i authorized /etc/issue`"  ==  ""  ];  then
     echo  "Authorized users only. All activity may be monitored and reported."  >>  /etc/issue
fi
if  "`grep -i authorized /etc/motd`"  ==  ""  ];  then
     echo  "Authorized users only. All activity may be monitored and reported."  >>  /etc/motd
fi
     chown  root:root  /etc/motd  /etc/issue  /etc/issue .net
     chmod  644  /etc/motd  /etc/issue  /etc/issue .net
echo  "::End change banner"
}
 
change_profile()
{
echo  "::Change the /etc/profile file"
echo  "umask 022"  >> /etc/profile
echo  "TMOUT=6000"  >> /etc/profile
echo  "export TMOUT"  >> /etc/profile
echo  "::End change profile"
}
 
change_sshd_config()
{
echo  "::Change sshd_config"
sed  -i  's/#MaxAuthTries 6/MaxAuthTries 5/'  /etc/ssh/sshd_config
sed  -i  's/#UseDNS yes/UseDNS no/'  /etc/ssh/sshd_config
echo  "::End change sshd_config"
}
 
change_lang()
{
echo  "::Change i18n config"
sed  -r -i  '/^LANG=/s/.*/LANG="en_US.UTF-8"/'  /etc/sysconfig/i18n
echo  "::End change i18n config"
}
 
change_ntp()
{
echo  "/usr/sbin/ntpdate -u clepsydra.dec.com tick.ucla.edu ntp.nasa.gov"  >>  /etc/rc . local
echo  "0 2 * * * /usr/sbin/ntpdate -u clepsydra.dec.com tick.ucla.edu ntp.nasa.gov >/dev/null"  >>  /etc/crontab
}
 
change_sysctl ()
{
cat  <<- EOF > /etc/sysctl .conf
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs. file -max = 655350
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_keepalive_time = 1200
net.ipv4.tcp_fin_timeout = 5
net.ipv4.tcp_max_syn_backlog = 20000
net.core.somaxconn = 65535
net.core.netdev_max_backlog = 65535
EOF
sysctl -p
}
 
function  linux_secure()
{
export  LANG= "en_US"
change_password_len
modify_chkconfig
disable_selinux
modify_timezone
set_keyboard    
change_banner
change_profile
change_inittab
set_nofile_limits
change_sshd_config
change_lang
change_ntp
change_sysctl
echo  "All done!!"
}
 
linux_secure









本文转自 wpf926 51CTO博客,原文链接:http://blog.51cto.com/wupengfei/1955545,如需转载请自行联系原作者
目录
打赏
0
0
0
0
236
分享
相关文章
|
3天前
|
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
98 0
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
34 0
|
12天前
|
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
41 0
|
2月前
|
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
119 18
在CentOS 7系统上创建SSL/TLS证书以启用HTTPS
请记住,这只是单枚勋章,在野外,CA签发的证书才是堂堂正正的金盾牌。如果您打算让这个小兵走得更远,考虑一下像Let's Encrypt这样的免费CA服务,它会给您的小兵颁发一个大家都认可的荣誉勋章。而且,千万不要忘了定期更新您的装备哦,毕竟,没有哪件盔甲是永远坚不可摧的。
151 4
龙蜥操作系统:CentOS 谢幕之后,国产云原生系统的崛起之路
龙蜥操作系统(Anolis OS)是 CentOS 停止维护后,由阿里云等企业联合发起的开源项目。它以双内核架构和全栈优化为核心,提供无缝替代 CentOS 的方案,兼容主流生态并针对云计算场景深度优化。其技术亮点包括 RHCK 和 ANCK 双内核、性能优化、全栈安全及国密算法支持。龙蜥适用于云原生基础设施、企业级应用部署及开发环境,社区已吸引 200 多家单位参与。未来规划涵盖 AI 框架优化、RISC-V 架构适配及桌面环境构建,正重新定义云时代的操作系统边界。
343 0
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
222 3
在Centos系统上如何有效删除文件和目录的指令汇总
记住,有了这个指南,你就不再为删除文件和目录感到困扰。快去尝试一下,让你的CentOS更上一层楼吧!
265 24
|
3月前
|
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
89 4
技术指南:如何把docsify项目部署到基于CentOS系统的Nginx中。
总结 与其他部署方法相比,将docsify项目部署到基于CentOS系统的Nginx中比较简单。以上步骤应当帮助你在不花费太多时间的情况下,将你的项目顺利部署到Nginx中。迈出第一步,开始部署你的docsify项目吧!
142 14
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问