Centos 7初始化腳本

今天跟大家分享一個我自己寫的Linux初始化腳本,自認為寫的不是很好。希望看到這篇文章的你,能暫時停留下你的腳步,給些修改意見,或者有什么需要補充的地方都可以提出來,大家共同進步,謝謝!
此腳本主要功能:1、關閉一些用不到的服務;2、關閉selinux;3、創建分區、格式化、掛載;4、設置一個ip命令別名;5、創建一個普通用戶,并禁止root用戶登陸;6、修改limit參數;7、配置時間同步;8、修改ssh端口號;9、初始化firewalld防火墻。

#!/bin/bash
#modify some service demeon   # 關閉不需要用到的一些服務
systemctl disable acpid
systemctl disable ip6tables
systemctl disable mcelogd
systemctl disable mdmonitor
systemctl disable netfs
systemctl disable nfslock
systemctl disable openct
systemctl disable postfix 
systemctl disable rpcbind
systemctl disable rpcgssd
systemctl disable rpcidmapd
systemctl disable auditd
systemctl disable haldaemon
systemctl disable lldpad
systemctl disable atd
systemctl disable kdump#Close selinux  # 關閉selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
sed -i 's/SELINUXTYPE=targeted/#&/' /etc/selinux/config
setenforce 0#Create new partitions   # 創建分區,并格式化及掛載
NEWDISK="/dev/xvdb"
FDK=`fdisk -l $NEWDISK | grep $NEWDISK | wc -l`
if [ $FDK -eq 0 ] ; thenecho "沒有$NEWDISK設備,無法創建分區!"
elif [ $FDK -eq 1 ] ; thenfdisk $NEWDISK << EOF
n
p
1w
EOFpartprobesleep 2file ${NEWDISK}1if [ $? -eq 0 ] ; thenmkfs -t ext4 ${NEWDISK}1if [ $? -eq 0 ] && [ ! -d /data ] ; thenmkdir /datamount ${NEWDISK}1 /dataFST=`cat /etc/fstab | grep ${NEWDISK}1 | wc -l`if [ $FST -eq 0 ] ; thenecho "${NEWDISK}1 /data ext4 defaults 0 0" >> /etc/fstabecho "成功創建${NEWDISK}1分區,已成功格式化,并已掛載至/data下,已添加至/etc/fstab開機掛載!"elseecho "成功創建${NEWDISK}1分區,已成功格式化,并已掛載至/data下,請檢查/etc/fstab文件是否已添加開機掛載!"fielseecho "格式化${NEWDISK}1失敗;或者/data目錄已存在,掛載失敗!"fielseecho "沒有找到${NEWDISK}1分區,未格式化!"fi
elseecho "${NEWDISK}1分區已存在,無須再創建!"
fi#modify bashrc   # 設置一個ip命令別名,用于查看本地IP地址
cat << EOF >>/etc/bashrc
alias ip='/sbin/ifconfig | grep '\''inet '\'' | awk '\''{print $2}'\'' | sed -e '\''/127\.0\.0\.1/d'\'''
EOF#Create an ordinary user   # 創建一個xuad用戶,并允許其用sudo命令時不需要輸入密碼,并禁止root用戶登陸
NEWUSER="xuad"
PASS="JKbL*u#E%317Y8c"
id $NEWUSER
if [ $? -eq 0 ] ; thenecho "$NEWUSER賬戶已存在,無法創建!"
elseuseradd $NEWUSERecho $PASS | passwd --stdin $NEWUSERif [ $? -eq 0 ] ; thenecho "$NEWUSER賬戶創建成功!"sed -i "/^root/a\$NEWUSER\tALL=(ALL)\tNOPASSWD: ALL" /etc/sudoerssed -i '/^PermitRootLogin/s/^/#/g' /etc/ssh/sshd_configsed -i '/PermitRootLogin/a\PermitRootLogin no' /etc/ssh/sshd_configelseecho "$NEWUSER賬戶創建失敗!"fi
fi#system settings   # 修改limit參數
cat << EOF >>/etc/security/limits.conf
* soft nofile 65535
* hard nofile 65535
EOF#設置開機自動同步時間
cat << EOF >>/etc/rc.d/rc.local
/usr/sbin/ntpdate ntp.xuadup.net && hwclock -w
EOF#modify ntp server   # 每天早上6點自動同步時間
echo "00 */6 * * * /usr/sbin/ntpdate ntp.xuadup.net && hwclock -w">/tmp/ntpcron.txt;crontab /tmp/ntpcron.txt#modify ssh port   # 修改ssh端口號
sed -i '/Port 22/s/^/#/g' /etc/ssh/sshd_config
sed -i '/Port 22/a\Port 5210' /etc/ssh/sshd_config
sed -i '/^GSSAPI/s/^/#/g' /etc/ssh/sshd_config
sed -i '/GSSAPI options/a\GSSAPIAuthentication no' /etc/ssh/sshd_config#service sshd restart   # 重啟sshd服務,并執行防火墻策略
if [ $? -eq 0 ] ; thensystemctl restart sshdsh ./firewalld_linuxecho "sshd服務重啟成功,遠程登陸端口已設置為55210"
elseecho "sshd服務配置有問題,請檢查!"
fi

firewalld防火墻腳本如下:

#!/bin/bash
systemctl stop firewalld
\cp -p /usr/lib/firewalld/zones/drop.xml /etc/firewalld/zones/
systemctl start firewalld
firewall-cmd --set-default-zone=drop
firewall-cmd --permanent --zone=drop --change-interface=eth0
firewall-cmd --permanent --zone=drop --add-protocol=icmp
firewall-cmd --permanent --zone=drop --add-masquerade
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.208" port protocol="tcp" port="5210" accept"
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" source address="192.168.2.206" port protocol="tcp" port="5210" accept"
firewall-cmd --permanent --zone=drop --add-rich-rule="rule family="ipv4" source address="116.226.230.115" port protocol="tcp" port="8023" accept"
firewall-cmd --reload

轉載于:https://blog.51cto.com/andyxu/2143956

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538239.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538239.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538239.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Hive-sql與SQL的區別

總體一致&#xff1a; Hive-sql與SQL基本上一樣&#xff0c;因為當初的設計目的&#xff0c;就是讓會SQL不會編程MapReduce的也能使用Hadoop進行處理數據。 因此&#xff0c;大膽使用SQL的&#xff0c;如果遇到不對的&#xff0c;再查。 區別&#xff1a; Hive沒有delete和u…

python閏年多一天_記一個 python datetime 閏年問題

python中datetime是比較常用的&#xff0c;平時用起來也沒什么問題&#xff0c;但是今天2020年2月29日服務器卻開始報錯了&#xff0c;這里有個平時難以注意的坑服務器上跑的是新浪網的爬蟲&#xff0c;抓取的頁面信息中帶有日期 XX月XX日&#xff0c;需要strfptime轉化一下&am…

linux find 按類型查找,Linux find查找find命令詳解

玩蛇網推薦圖文教程&#xff1a;python 列表Linux命令有很多&#xff0c;今天要介紹的是常用的基礎命令中的find命令。find是Linux系統管理員所喜愛用的必備工具命令之一&#xff0c;它的作用是可以很輕松地找到你想要的文件&#xff0c;一個命令就可以在眾多文件中找到你的目標…

window安裝gcc編譯器

在使用 GraphLab Create 時&#xff0c;導入包失敗&#xff0c;提示libs沒有的導入&#xff0c;而這些libs的編譯是需要gcc。 1、訪問&#xff1a;http://www.mingw.org/ 下載。 2、雙擊安裝 3、安裝好后會彈出下面的組件安裝界面 3、找到mingw32-gcc-g&#xff08;注意cl…

視頻AI,助力體育賽事轉播走進智能時代

摘要&#xff1a;2018俄羅斯世界杯經過近20天的激戰&#xff0c;已經進入到最關鍵的階段。本次賽事除了精彩紛呈的比賽之外&#xff0c;還加入很多高科技的元素&#xff0c;例如門線、VAR技術等等。讓本屆世界杯成為科技含量最高的一屆世界杯。2018俄羅斯世界杯經過近20天的激戰…

python求同構數_用c語言求1到1000的同構數_后端開發

python與平臺有關嗎_后端開發Python與平臺無關&#xff0c;因為Python是跨平臺的語言&#xff0c;Python作為腳本語言&#xff0c;是解釋執行的&#xff0c;所以能跨平臺&#xff0c;前提是必須要有一個對應的解釋器。具體請看實例&#xff1a;python中count函數的用法詳解_后端…

element表格實現樹形全選_很實用!word中全選的快捷鍵介紹及使用方法

全選快捷鍵可以提高我們在操作word時工作效率&#xff0c;在操作Word2003中怎么對文檔中的文字進行全選呢?下面為大家提供幾種全選的方法&#xff0c;絕對好用。Word怎樣全選?方法一、使用Word全選快捷鍵“CtrlA”進行全選(也適用于電子表格);方法二、展開菜單欄中的“編輯”…

am3352 linux 內核 編譯,am335x uboot, kernel 編譯

一、設置環境變量// 寫在家目錄下面的 .bashrc 里面export KERNEL_PATH~/aplex/kernel3.2.0 // kernel 路徑export UBOOT_PATH~/aplex/uboot2011.09 // u-boot 路勁export ROOTFS_PATH~/aplex/filesystemexport TOOLFS_PATH~/aplex/toolsexport ARCHarm // 設置平臺類型export …

Docker的應用場景

原文鏈接&#xff1a;http://blog.csdn.net/dev_csdn/article/details/78424803 ------------------------------------------------------------------- Docker是開發人員和系統管理員構建&#xff0c;發布和運行分布式應用程序的開放平臺&#xff0c;可以在筆記本電腦、數據…

cad多段線畫圓弧方向_【學員分享】CAD多段線用法

原標題&#xff1a;【學員分享】CAD多段線用法1、執行方法&#xff1a;(1)菜單欄&#xff1a;繪圖→多段線(2)繪圖功能區&#xff1a;繪圖→多段線按鈕(3)快捷鍵&#xff1a;PL2、使用方法(1)多段線與直線的區別&#xff1a;直線每一段都是分開的&#xff0c;圖畫完后不是一個整…

linux 視頻編輯 ffmpeg,ffmpeg轉碼視頻真的好用!(ffmpeg的簡單使用方法)

說明轉碼和編輯視頻今天用Android Studio(后面簡稱AS)里的模擬器給系統錄屏&#xff0c;用來展示OpenGL可視化的東西&#xff0c;打算上傳B站&#xff0c;后來發現AS只能保存webm格式和GIF格式的視頻&#xff0c;并且文件體積巨大&#xff0c;視頻圖像也是順時針旋轉的。沒辦法…

requests庫入門09-OAUTH認證

實際登陸中&#xff0c;認證用到的token會變的&#xff0c;不過可以在GIthub設置一個私人token。 如圖&#xff0c;登錄GIthub&#xff0c;然后用戶下面選擇Settings/Developer settings/Personal access tokens,點擊Generate new token&#xff0c;然后隨便輸個描述&#xff0…

mysql期末考試試卷_mysql試題

net start mysqlfound_rows函數 返回select的總行數哪種操作能夠實現實體完整性 設置外鍵數據模型三要素&#xff1a;數據結構、數據操作、完整性約束&#xff0c;哪項不屬于數據模型 網狀模型(層次、網狀、關系、面向對象模型)觸發器主要用于監視某個表的insert、update以及de…

深入了解HashMap

什么是hash&#xff1f;哈希算法將任意長度的二進制值映射為較短的固定長度的二進制值&#xff0c;這個小的二進制值稱為哈希值。哈希值是一段數據唯一且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母&#xff0c;隨后的哈希都將產生不同的值。要找…

snort入侵檢測系統下載Linux,入侵檢測系統Snort 2.9.0.2 發布

Snort 是一個免費的、跨平臺的軟件包&#xff0c;用作監視小型 TCP/IP 網的嗅探器、日志記錄、侵入探測器。Snort 是全世界上使用最廣泛的入侵預防與偵測軟件。Snort 有三種工作模式&#xff1a;嗅探器、數據包記錄器、網絡入侵檢測系統。嗅探器模式僅僅是從網絡上讀取數據包并…

IRC BOT原來是利用IRC下發CC命令——在xx云環境遇到了,惡意軟件開的是6666端口...

Backdoor/IRC.RpcBot 本詞條缺少名片圖&#xff0c;補充相關內容使詞條更完整&#xff0c;還能快速升級&#xff0c;趕緊來編輯吧&#xff01;Backdoor/IRC.RpcBot是一些批處理文件、腳本文件和執行文件的集合&#xff0c;也是一種黑客工具&#xff0c;這些文件的名稱是可以變化…

科大奧銳實驗報告霍爾效應_大學物理實驗報告系列之霍爾效應

【實驗名稱】霍爾效應【實驗目的】1&#xff0e;了解霍爾效應實驗原理以及有關霍爾器件對材料要求的知識。2&#xff0e;學習用“對稱測量法”消除付效應的影響&#xff0c;測量試樣的VH—IS&#xff1b;和VH—IM曲線。3&#xff0e;確定試樣的導電類型、載流子濃度以及遷移率。…

Android studio http 代理設置

Android studio http 代理設置 大連東軟信息學院鏡像服務器地址: - http://mirrors.neusoft.edu.cn 端口&#xff1a;80

三位數倒序數C語言,C語言求助!一個三位數的逆序數,總是編不對

該樓層疑似違規已被系統折疊 隱藏此樓查看此樓#include #include #include int main(){int n,a,b,c,sum,ge,shi,bai;printf("請輸入一個三位整數&#xff1a;\n");scanf("%d",&n);nfabs(n);an/100;b(n-a*100)/10;cn%10;if(a>b&&b>c){gec…

DB2 存儲過程中執行動態SQL的兩種寫法

樣本代碼&#xff1a; DROP PROCEDURE QUOTATION.COPY_SAMPLE; CREATE PROCEDURE QUOTATION.COPY_SAMPLE (IN tableNameFrom VARCHAR(30), IN tableNameTo VARCHAR(30), INOUT copyResult INTEGER)BEGINDECLARE SQLCODE INTEGER DEFAULT 0;SET copyResult 0;-- Proecss 1BEGIN…