自己定制的一份kickstart.cfg

 安装系统版本:CentOS 6.3 x86_64 最小化安装

安装完成之后需要执行network_setting.sh 、ssh_setting.sh和sudo_setting三个文件。分别设置网络IP,SSH RSA key的设置,为test用户添加sudo权限。

 

  
  
  
  
  1. # Kickstart file automatically generated by anaconda. 
  2.  
  3. #version=DEVEL 
  4. install 
  5. #cdrom 
  6. text 
  7. lang en_US.UTF-8 
  8. keyboard us 
  9. network --onboot no --device eth0 --bootproto dhcp --noipv6 
  10. network --onboot no --device eth1 --bootproto dhcp --noipv6 
  11. rootpw  --iscrypted $6$FLLlvfqZKzvs/9bu$oflTVbcg8ZDgfCvBCDeyIBrgswymV7.W6ZoKc0Ona0GT/SCmBvMokbD2Ty86GH.qMOzXKlh6fTUQJRq4C50FC1 
  12. firewall --service=ssh 
  13. authconfig --enableshadow --passalgo=sha512 
  14. selinux --disabled 
  15. timezone --utc Asia/Shanghai 
  16. url --url=ftp://10.10.10.5/pub 
  17. bootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet" 
  18. # The following is the partition information you requested 
  19. # Note that any partitions you deleted are not expressed 
  20. # here so unless you clear all partitions first, this is 
  21. # not guaranteed to work 
  22. zerombr 
  23. clearpart --all --initlabel 
  24.  
  25. part /boot --fstype=ext4 --size=200 
  26. part swap --size=1024 
  27. part / --fstype=ext4 --grow --size=1 
  28.  
  29. #repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100 
  30.  
  31. reboot 
  32.  
  33. %packages --nobase 
  34. @core 
  35.  
  36.  
  37. %post 
  38.  
  39. if [ ! -e /root/network_setting.sh ]; 
  40. then 
  41.         touch /root/network_setting.sh 
  42. fi 
  43.  
  44. cat << EOF > /root/network_setting.sh 
  45. #!/bin/bash 
  46. ###Initializing      
  47. ###Write by cGc   
  48. ###Use for  Server 
  49. ####[ Netwok Interface Setting ]################## 
  50. cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/bak-ifcfg-eth0-bak 
  51. cp /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/bak-ifcfg-eth1-bak 
  52. read -p "Keyin em1's IP address: " EM1 
  53. read -p "Keyin em2's IP address: " EM2 
  54. read -p "Keyin NETMASK: " NMASK 
  55. read -p "Keyin GATEWAY: " GWAY 
  56. read -p "Keyin DNS1 address: " DNS1 
  57. read -p "Keyin DNS2 address: " DNS2 
  58. #EM1=192.168.30.2 
  59. #EM2=192.168.80.2 
  60. #NMASK=255.255.255.0 
  61. #GWAY=192.168.30.1 
  62. #DNS1=202.96.128.86 
  63. #DNS2=8.8.8.8 
  64. echo "Configure ifcfg-eth0 ......" 
  65. echo "IPADDR=\${EM1}" >> /etc/sysconfig/network-scripts/ifcfg-eth0 
  66. echo "NETMASK=\${NMASK}" >> /etc/sysconfig/network-scripts/ifcfg-eth0 
  67. echo "GATEWAY=\${GWAY}" >> /etc/sysconfig/network-scripts/ifcfg-eth0 
  68. echo "DNS1=\${DNS1}" >> /etc/sysconfig/network-scripts/ifcfg-eth0 
  69. echo "DNS2=\${DNS2}" >> /etc/sysconfig/network-scripts/ifcfg-eth0 
  70.  
  71. sed -i 's/BOOTPROTO="dhcp"/BOOTPROTO="none"/g' /etc/sysconfig/network-scripts/ifcfg-eth0 
  72. sed -i 's/NM_CONTROLLED="yes"/NM_CONTROLLED="no"/g' /etc/sysconfig/network-scripts/ifcfg-eth0 
  73. sed -i 's/ONBOOT="no"/ONBOOT="yes"/g' /etc/sysconfig/network-scripts/ifcfg-eth0 
  74. echo "Configure ifcfg-eth0 ......OK" 
  75. sleep 2 
  76.  
  77. echo "Configure ifcfg-eth1 ......" 
  78. echo "IPADDR=\${EM2}" >> /etc/sysconfig/network-scripts/ifcfg-eth1 
  79. echo "NETMASK=\${NMASK}" >> /etc/sysconfig/network-scripts/ifcfg-eth1 
  80. echo "GATEWAY=\${GWAY}" >> /etc/sysconfig/network-scripts/ifcfg-eth1 
  81. echo "DNS1=\${DNS1}" >> /etc/sysconfig/network-scripts/ifcfg-eth1 
  82. echo "DNS2=\${DNS2}" >> /etc/sysconfig/network-scripts/ifcfg-eth1 
  83.  
  84. sed -i 's/BOOTPROTO="dhcp"/BOOTPROTO="none"/g' /etc/sysconfig/network-scripts/ifcfg-eth1 
  85. sed -i 's/NM_CONTROLLED="yes"/NM_CONTROLLED="no"/g' /etc/sysconfig/network-scripts/ifcfg-eth1 
  86. sed -i 's/ONBOOT="no"/ONBOOT="yes"/g' /etc/sysconfig/network-scripts/ifcfg-eth1 
  87. echo "Configure ifcfg-eth1......OK" 
  88.  
  89. /etc/init.d/network restart 
  90. EOF 
  91.  
  92. %post 
  93. if [ ! -e /root/ssh_setting.sh ]; 
  94. then 
  95.         touch /root/ssh_setting.sh 
  96. fi 
  97.  
  98. cat << EOF > /root/ssh_setting.sh 
  99. #!/bin/bash 
  100.  
  101. UPWD=/home/test 
  102.  
  103. grep 'test' /etc/passwd 
  104. if [ "\$?" != "0" ]; 
  105. then 
  106.         useradd -d \$UPWD test 
  107.         echo "test" | passwd --stdin test 
  108. fi 
  109.  
  110. if [ ! -d \$UPWD/.ssh ]; 
  111. then 
  112.         mkdir \$UPWD/.ssh 
  113. fi 
  114.  
  115. if [ ! -f \$UPWD/.ssh/authorized_keys ]; 
  116. then 
  117.         touch \$UPWD/.ssh/authorized_keys 
  118. fi 
  119.  
  120. echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuw9EuwbjC7tLw9Z1OUZfYps6Kj/QC1Z3AauJA5J/bUXN1oPjmnBMjVWxak7tA+fYX6Rz182I2D/NvrEL6RNShSUq4OIcWkSk6lh6kFUvY4eTtB6fa65CuRZs82+wRil89p8DIl9kS1ZTI2Mtg8oZh3BPSlE4xq6V/LAQTkAo/O/57SeXscsvtCzzt/ffHNxhi3cAhSWnCZbe3ZspNxO34w1vHNgOKUwvQxPkHV083cjhvWZThxgYG8DV/QAU1TbLvnodbhXVGPPk/yLGT1YnQ57BAvIiEMc/kl2gg6hs326/7NWwwZWKFH3RjPXPCUB7BD+pfa3wq61tWf5S+WWo5w== test" > \$UPWD/.ssh/authorized_keys 
  121.  
  122. chmod 755 \$UPWD/.ssh 
  123. chown test:test \$UPWD/.ssh 
  124. chmod 600 \$UPWD/.ssh/authorized_keys 
  125. chown test:test \$UPWD/.ssh/authorized_keys 
  126.  
  127. ####[ Openssh RSA configure ]##################### 
  128. cp /etc/ssh/sshd_config /etc/ssh/sshd_config-bak 
  129.  
  130. sed -i 's/#Port 22/Port 3220/g' /etc/ssh/sshd_config 
  131. sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config 
  132. sed -i 's/#RSAAuthentication yes/RSAAuthentication yes/g' /etc/ssh/sshd_config 
  133. sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config 
  134. /etc/init.d/sshd restart 
  135.  
  136. EOF 
  137.  
  138. %post 
  139.  
  140. if [ -e /etc/sysconfig/iptables ]; 
  141. then 
  142.     mv /etc/sysconfig/iptables /etc/sysconfig/iptables-backup 
  143. fi 
  144.  
  145. if [ ! -e /etc/sysconfig/iptables ]; 
  146. then 
  147.     touch /etc/sysconfig/iptables 
  148. fi 
  149. cat << EOF > /etc/sysconfig/iptables 
  150. # Firewall configuration written by system-config-firewall 
  151. # Manual customization of this file is not recommended. 
  152. *nat 
  153. :PREROUTING ACCEPT [0:0] 
  154. :OUTPUT ACCEPT [0:0] 
  155. :POSTROUTING ACCEPT [0:0] 
  156. -A POSTROUTING -o eth+ -j MASQUERADE 
  157. COMMIT 
  158. *filter 
  159. :INPUT ACCEPT [0:0] 
  160. :FORWARD ACCEPT [0:0] 
  161. :OUTPUT ACCEPT [0:0] 
  162. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
  163. -A INPUT -p icmp -j ACCEPT 
  164. -A INPUT -i lo -j ACCEPT 
  165. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3220 -j ACCEPT 
  166. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
  167. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 
  168. -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT 
  169. -A INPUT -m state --state NEW -m udp -p udp --dport 10050 -j ACCEPT 
  170. -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT 
  171. -A INPUT -m state --state NEW -m udp -p udp --dport 10051 -j ACCEPT 
  172. -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 
  173. -A FORWARD -p icmp -j ACCEPT 
  174. -A FORWARD -i lo -j ACCEPT 
  175. -A FORWARD -o eth+ -j ACCEPT 
  176. -A INPUT -j REJECT --reject-with icmp-host-prohibited 
  177. -A FORWARD -j REJECT --reject-with icmp-host-prohibited 
  178. COMMIT 
  179. EOF 
  180.  
  181. %post 
  182.  
  183. if [ ! -e /etc/sudoers ]; 
  184. then 
  185.     touch /root/sudo_setting.sh 
  186. fi 
  187. cat << EOF > /root/sudo_setting.sh 
  188. if [ -e /etc/sudoers ]; 
  189. then 
  190.     yum -y install sudo vim 
  191.     echo "test   ALL=(ALL)    ALL" >> /etc/sudoers 
  192. fi 
  193. EOF 
  194. %end 

 最后的修改过之后可以在DELL R620上使用的脚本。

 

  
  
  
  
  1. # Kickstart file automatically generated by anaconda. 
  2.  
  3. #version=DEVEL 
  4. install 
  5. cdrom 
  6. lang en_US.UTF-8 
  7. keyboard us 
  8. network --onboot no --device em1 --bootproto dhcp --noipv6 
  9. network --onboot no --device em2 --bootproto dhcp --noipv6 
  10. network --onboot no --device em3 --bootproto dhcp --noipv6 
  11. network --onboot no --device em4 --bootproto dhcp --noipv6 
  12. rootpw  --iscrypted $6$3euEPd1Gsqsd6DzA$VbAspvlUuNzFXCrbPmtFxuXuH5g1wd91M9yzg9TLe1/G0dhsrgUrAkqPdGeuaDYD1TdRQUx3O6bIi81v9Bw1z1 
  13. # Reboot after installation 
  14. reboot 
  15. firewall --service=ssh 
  16. authconfig --enableshadow --passalgo=sha512 
  17. selinux --disabled 
  18. timezone --utc Asia/Shanghai 
  19. bootloader --location=mbr --driveorder=sdb --append="crashkernel=auto rhgb quiet" 
  20. # The following is the partition information you requested 
  21. # Note that any partitions you deleted are not expressed 
  22. # here so unless you clear all partitions first, this is 
  23. # not guaranteed to work 
  24. zerombr 
  25. clearpart --all --initlabel 
  26.  
  27.  
  28. part /boot --fstype=ext4 --size=200 
  29. part swap --size=16384 
  30. part / --fstype=ext4 --grow --size=1 
  31.  
  32.  
  33. #repo --name="CentOS"  --baseurl=cdrom:sr0 --cost=100 
  34.  
  35. %packages --nobase 
  36. @Core 
  37.  
  38.  
  39. %post 
  40.  
  41. if [ ! -e /root/network_setting.sh ]; 
  42. then 
  43.         touch /root/network_setting.sh 
  44. fi 
  45.  
  46. cat << EOF > /root/network_setting.sh 
  47. #!/bin/bash 
  48. ###Initializing      
  49. ###Write by cGc   
  50. ###Use for DELL Server 
  51. ####[ Netwok Interface Setting ]################## 
  52. cp /etc/sysconfig/network-scripts/ifcfg-em1 /etc/sysconfig/network-scripts/bak-ifcfg-em1-bak 
  53. cp /etc/sysconfig/network-scripts/ifcfg-em2 /etc/sysconfig/network-scripts/bak-ifcfg-em2-bak 
  54. read -p "Keyin em1's IP address: " EM1 
  55. read -p "Keyin em2's IP address: " EM2 
  56. read -p "Keyin NETMASK: " NMASK 
  57. read -p "Keyin GATEWAY: " GWAY 
  58. read -p "Keyin DNS1 address: " DNS1 
  59. read -p "Keyin DNS2 address: " DNS2 
  60. #EM1=192.168.30.2 
  61. #EM2=192.168.80.2 
  62. #NMASK=255.255.255.0 
  63. #GWAY=192.168.30.1 
  64. #DNS1=202.96.128.86 
  65. #DNS2=8.8.8.8 
  66. echo "Configure ifcfg-em1 ......" 
  67. echo "IPADDR=\${EM1}" >> /etc/sysconfig/network-scripts/ifcfg-em1 
  68. echo "NETMASK=\${NMASK}" >> /etc/sysconfig/network-scripts/ifcfg-em1 
  69. echo "GATEWAY=\${GWAY}" >> /etc/sysconfig/network-scripts/ifcfg-em1 
  70. echo "DNS1=\${DNS1}" >> /etc/sysconfig/network-scripts/ifcfg-em1 
  71. echo "DNS2=\${DNS2}" >> /etc/sysconfig/network-scripts/ifcfg-em1 
  72.  
  73. sed -i 's/BOOTPROTO="dhcp"/BOOTPROTO="none"/g' /etc/sysconfig/network-scripts/ifcfg-em1 
  74. sed -i 's/NM_CONTROLLED="yes"/NM_CONTROLLED="no"/g' /etc/sysconfig/network-scripts/ifcfg-em1 
  75. sed -i 's/ONBOOT="no"/ONBOOT="yes"/g' /etc/sysconfig/network-scripts/ifcfg-em1 
  76. echo "Configure ifcfg-em1 ......OK" 
  77. sleep 2 
  78.  
  79. echo "Configure ifcfg-em2 ......" 
  80. echo "IPADDR=\${EM2}" >> /etc/sysconfig/network-scripts/ifcfg-em2 
  81. echo "NETMASK=\${NMASK}" >> /etc/sysconfig/network-scripts/ifcfg-em2 
  82. echo "GATEWAY=\${GWAY}" >> /etc/sysconfig/network-scripts/ifcfg-em2 
  83. echo "DNS1=\${DNS1}" >> /etc/sysconfig/network-scripts/ifcfg-em2 
  84. echo "DNS2=\${DNS2}" >> /etc/sysconfig/network-scripts/ifcfg-em2 
  85.  
  86. sed -i 's/BOOTPROTO="dhcp"/BOOTPROTO="none"/g' /etc/sysconfig/network-scripts/ifcfg-em2 
  87. sed -i 's/NM_CONTROLLED="yes"/NM_CONTROLLED="no"/g' /etc/sysconfig/network-scripts/ifcfg-em2 
  88. sed -i 's/ONBOOT="no"/ONBOOT="yes"/g' /etc/sysconfig/network-scripts/ifcfg-em2 
  89. echo "Configure ifcfg-em2......OK" 
  90.  
  91. /etc/init.d/network restart 
  92. EOF 
  93.  
  94. %post 
  95. if [ ! -e /root/ssh_setting.sh ]; 
  96. then 
  97.         touch /root/ssh_setting.sh 
  98. fi 
  99.  
  100. cat << EOF > /root/ssh_setting.sh 
  101. #!/bin/bash 
  102.  
  103. UPWD=/home/test 
  104.  
  105. grep 'test' /etc/passwd 
  106. if [ "\$?" != "0" ]; 
  107. then 
  108.         useradd -d \$UPWD test 
  109.         echo "test" | passwd --stdin test 
  110. fi 
  111.  
  112. if [ ! -d \$UPWD/.ssh ]; 
  113. then 
  114.         mkdir \$UPWD/.ssh 
  115. fi 
  116.  
  117. if [ ! -f \$UPWD/.ssh/authorized_keys ]; 
  118. then 
  119.         touch \$UPWD/.ssh/authorized_keys 
  120. fi 
  121.  
  122. echo "ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAuw9EuwbjC7tLw9Z1OUZfYps6Kj/QC1Z3AauJA5J/bUXN1oPjmnBMjVWxak7tA+fYX6Rz182I2D/NvrEL6RNShSUq4OIcWkSk6lh6kFUvY4eTtB6fa65CuRZs82+wRil89p8DIl9kS1ZTI2Mtg8oZh3BPSlE4xq6V/LAQTkAo/O/57SeXscsvtCzzt/ffHNxhi3cAhSWnCZbe3ZspNxO34w1vHNgOKUwvQxPkHV083cjhvWZThxgYG8DV/QAU1TbLvnodbhXVGPPk/yLGT1YnQ57BAvIiEMc/kl2gg6hs326/7NWwwZWKFH3RjPXPCUB7BD+pfa3wq61tWf5S+WWo5w== test" > \$UPWD/.ssh/authorized_keys 
  123.  
  124. chmod 755 \$UPWD/.ssh 
  125. chown test:test \$UPWD/.ssh 
  126. chmod 600 \$UPWD/.ssh/authorized_keys 
  127. chown test:test \$UPWD/.ssh/authorized_keys 
  128.  
  129. ####[ Openssh RSA configure ]##################### 
  130. cp /etc/ssh/sshd_config /etc/ssh/sshd_config-bak 
  131.  
  132. sed -i 's/#Port 22/Port 3220/g' /etc/ssh/sshd_config 
  133. sed -i 's/#PermitRootLogin yes/PermitRootLogin no/g' /etc/ssh/sshd_config 
  134. sed -i 's/#RSAAuthentication yes/RSAAuthentication yes/g' /etc/ssh/sshd_config 
  135. sed -i 's/PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config 
  136. /etc/init.d/sshd restart 
  137.  
  138. EOF 
  139.  
  140. %post 
  141.  
  142. if [ -e /etc/sysconfig/iptables ]; 
  143. then 
  144.     mv /etc/sysconfig/iptables /etc/sysconfig/iptables-backup 
  145. fi 
  146.  
  147. if [ ! -e /etc/sysconfig/iptables ]; 
  148. then 
  149.     touch /etc/sysconfig/iptables 
  150. fi 
  151. cat << EOF > /etc/sysconfig/iptables 
  152. # Firewall configuration written by system-config-firewall 
  153. # Manual customization of this file is not recommended. 
  154. *nat 
  155. :PREROUTING ACCEPT [0:0] 
  156. :OUTPUT ACCEPT [0:0] 
  157. :POSTROUTING ACCEPT [0:0] 
  158. -A POSTROUTING -o eth+ -j MASQUERADE 
  159. COMMIT 
  160. *filter 
  161. :INPUT ACCEPT [0:0] 
  162. :FORWARD ACCEPT [0:0] 
  163. :OUTPUT ACCEPT [0:0] 
  164. -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 
  165. -A INPUT -p icmp -j ACCEPT 
  166. -A INPUT -i lo -j ACCEPT 
  167. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3220 -j ACCEPT 
  168. -A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT 
  169. -A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT 
  170. -A INPUT -m state --state NEW -m tcp -p tcp --dport 10050 -j ACCEPT 
  171. -A INPUT -m state --state NEW -m udp -p udp --dport 10050 -j ACCEPT 
  172. -A INPUT -m state --state NEW -m tcp -p tcp --dport 10051 -j ACCEPT 
  173. -A INPUT -m state --state NEW -m udp -p udp --dport 10051 -j ACCEPT 
  174. -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 
  175. -A FORWARD -p icmp -j ACCEPT 
  176. -A FORWARD -i lo -j ACCEPT 
  177. -A FORWARD -o eth+ -j ACCEPT 
  178. -A INPUT -j REJECT --reject-with icmp-host-prohibited 
  179. -A FORWARD -j REJECT --reject-with icmp-host-prohibited 
  180. COMMIT 
  181. EOF 
  182.  
  183. %post 
  184.  
  185. if [ ! -e /etc/sudoers ]; 
  186. then 
  187.     touch /root/sudo_setting.sh 
  188. fi 
  189. cat << EOF > /root/sudo_setting.sh 
  190. if [ ! -e /etc/sudoers ]; 
  191. then 
  192.     yum -y install sudo vim 
  193.     echo "test   ALL=(ALL)    ALL" >> /etc/sudoers 
  194. fi 
  195. EOF 
  196. %end 

 

你可能感兴趣的:(centos,自动化,kickstart)