天天看點

CentOS 6.5初始化優化腳本

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

<code>#!/bin/bash</code>

<code>echo</code> <code>"這個是系統初始化腳本,請慎重運作!"</code>

<code>input_fun()</code>

<code>{</code>

<code>    </code><code>OUTPUT_VAR=$1</code>

<code>    </code><code>INPUT_VAR=</code><code>""</code>

<code>    </code><code>while</code> <code>[ -z $INPUT_VAR ];</code><code>do</code>

<code>        </code><code>read</code> <code>-p </code><code>"$OUTPUT_VAR"</code> <code>INPUT_VAR</code>

<code>    </code><code>done</code>

<code>    </code><code>echo</code> <code>$INPUT_VAR</code>

<code>}</code>

<code>input_again()</code>

<code>MYHOSTNAME=$(input_fun </code><code>"please input the hostname:"</code><code>)</code>

<code>DOMAINNAME=$(input_fun </code><code>"please input the domainname:"</code><code>)</code>

<code>CARD_TYPE=$(input_fun </code><code>"please input card type(eth0):"</code><code>)</code>

<code>IPADDR=$(input_fun </code><code>"please input ip address(192.168.100.1):"</code><code>)</code>

<code>NETMASK=$(input_fun </code><code>"please input netmask(255.255.255.0):"</code><code>)</code>

<code>GATEWAY=$(input_fun </code><code>"please input gateway(192.168.100.1):"</code><code>)</code>

<code>MYDNS1=$(input_fun </code><code>"please input DNS1(114.114.114.114):"</code><code>)</code>

<code>MYDNS2=$(input_fun </code><code>"please input DNS2(8.8.4.4):"</code><code>)</code>

<code>input_again</code>

<code>MAC=$(</code><code>ifconfig</code> <code>$CARD_TYPE | </code><code>grep</code> <code>"HWaddr"</code> <code>| </code><code>awk</code> <code>-F[</code><code>" "</code><code>]+ </code><code>'{print $5}'</code><code>)</code>

<code>#SET COMPUTER NAME</code>

<code>cat</code> <code>&gt;</code><code>/etc/sysconfig/network</code> <code>&lt;&lt;ENDF</code>

<code>NETWORK=</code><code>yes</code>

<code>HOSTNAME=$MYHOSTNAME</code>

<code>ENDF</code>

<code>cat</code> <code>&gt;</code><code>/etc/sysconfig/network-scripts/ifcfg-</code><code>$CARD_TYPE &lt;&lt;ENDF</code>

<code>DEVICE=$CARD_TYPE</code>

<code>BOOTPROTO=static</code>

<code>HWADDR=$MAC</code>

<code>NM_CONTROLLED=</code><code>yes</code>

<code>ONBOOT=</code><code>yes</code>

<code>TYPE=Ethernet</code>

<code>IPV6INIT=no</code>

<code>IPADDR=$IPADDR</code>

<code>NETMASK=$NETMASK</code>

<code>GATEWAY=$GATEWAY</code>

<code>/etc/init</code><code>.d</code><code>/network</code> <code>restart</code>

<code>cat</code> <code>&gt;</code><code>/etc/hosts</code> <code>&lt;&lt;ENDF</code>

<code>127.0.0.1 $MYHOSTNAME $MYHOSTNAME.$DOMAINNAME localhost</code>

<code>$IPADDR $MYHOSTNAME $MYHOSTNAME.$DOMAINNAME  localhost</code>

<code>cat</code> <code>&gt;</code><code>/etc/resolv</code><code>.conf &lt;&lt;ENDF</code>

<code>domain $DOMAINNAME </code>

<code>search $DOMAINNAME </code>

<code>nameserver $MYDNS1 </code>

<code>nameserver $MYDNS2 </code>

<code>#關閉SEKINUX</code>

<code>sed</code> <code>-i </code><code>'s/SELINUX=enforcing/SELINUX=disabled/g'</code> <code>/etc/sysconfig/selinux</code> 

<code>setenforce 0</code>

<code>#修改檔案打開數</code>

<code>echo</code> <code>"* soft nofile 66666"</code> <code>&gt;&gt; </code><code>/etc/security/limits</code><code>.conf  </code>

<code>echo</code> <code>"* hard nofile 66666"</code> <code>&gt;&gt; </code><code>/etc/security/limits</code><code>.conf </code>

<code>#優化核心參數</code>

<code>cat</code> <code>&gt;&gt; </code><code>/etc/sysctl</code><code>.conf &lt;&lt; ENDF</code>

<code>net.ipv4.tcp_max_syn_backlog = 65536</code>

<code>net.core.netdev_max_backlog =  32768</code>

<code>net.core.somaxconn = 32768</code>

<code>net.core.wmem_default = 8388608</code>

<code>net.core.rmem_default = 8388608</code>

<code>net.core.rmem_max = 16777216</code>

<code>net.core.wmem_max = 16777216</code>

<code>net.ipv4.tcp_timestamps = 0</code>

<code>net.ipv4.tcp_synack_retries = 2</code>

<code>net.ipv4.tcp_syn_retries = 2</code>

<code>net.ipv4.tcp_tw_recycle = 1</code>

<code>#net.ipv4.tcp_tw_len = 1</code>

<code>net.ipv4.tcp_tw_reuse = 1</code>

<code>net.ipv4.tcp_mem = 94500000 915000000 927000000</code>

<code>net.ipv4.tcp_max_orphans = 3276800</code>

<code>net.ipv4.ip_local_port_range = 1024  65535</code>

<code>sysctl -p </code>

<code>#關閉系統不用的服務</code>

<code>for</code> <code>server </code><code>in</code> <code>`chkconfig --list |</code><code>grep</code> <code>3:on|</code><code>awk</code> <code>'{ print $1}'</code><code>`</code>

<code>do</code>

<code>    </code><code>chkconfig --level 3 $server off</code>

<code>done</code>

<code>for</code> <code>server </code><code>in</code> <code>crond network rsyslog sshd</code>

<code>   </code><code>chkconfig --level 3 $server on</code>

<code>#增加使用者并sudo提權</code>

<code>user_add()</code>

<code>    </code><code>USERNAME=$(input_fun </code><code>"please input new user name:"</code><code>)</code>

<code>    </code><code>useradd</code> <code>$USERNAME</code>

<code>    </code><code>passwd</code> <code>$USERNAME</code>

<code>user_add</code>

<code>chmod</code> <code>+w </code><code>/etc/sudoers</code>

<code>echo</code> <code>"$USERNAME        ALL=(ALL)     ALL"</code> <code>&gt;&gt;</code><code>/etc/sudoers</code>

<code>chmod</code> <code>-w </code><code>/etc/sudoers</code>

<code>#設定時間時區同步</code>

<code>yum -y </code><code>install</code> <code>ntpdate</code>

<code>/usr/sbin/ntpdate</code> <code>time</code><code>.nist.gov</code>

<code>echo</code> <code>"*/5 * * * * root /usr/sbin/ntpdate time.nist.gov 1&gt; /dev/null 2&gt;&amp;1"</code> <code>&gt;&gt; </code><code>/var/spool/cron/root</code>

<code>#配置SSHD</code>

<code>sed</code> <code>-i </code><code>'/^#Port/s/#Port 22/Port 65535/g'</code> <code>/etc/ssh/sshd_config</code>

<code>sed</code> <code>-i </code><code>'/^#UseDNS/s/#UseDNS yes/UseDNS no/g'</code> <code>/etc/ssh/sshd_config</code>

<code>sed</code> <code>-i </code><code>'s/#PermitRootLogin yes/PermitRootLogin no/g'</code> <code>/etc/ssh/sshd_config</code>

<code>sed</code> <code>-i </code><code>'s/#PermitEmptyPasswords no/PermitEmptyPasswords no/g'</code> <code>/etc/ssh/sshd_config</code>

<code>iptables -A INPUT -p tcp --dport 65535 -j ACCEPT</code>

<code>/etc/init</code><code>.d</code><code>/sshd</code> <code>restart</code>

本文轉自 rong341233 51CTO部落格,原文連結:http://blog.51cto.com/fengwan/1430307

繼續閱讀