第十三天筆記
1、selinux
? 安全規(guī)則屈梁,讓Linux系統(tǒng)更安全的一套規(guī)則。
? 這個(gè)規(guī)則太嚴(yán)格了榛了,一般的情況下都會(huì)關(guān)閉selinux在讶。
? 自己開(kāi)啟防火墻啊,用其他手段來(lái)實(shí)現(xiàn)同樣的安全目的霜大。
? getenforce (查看selinux狀態(tài))
臨時(shí)關(guān)掉:
? setenforce 0
永久關(guān)閉:
? vim /etc/selinux/config
? SELINUX=disabled
2构哺、Linux里防火墻C6 iptables? C7 firewalld
? 作用:防護(hù)計(jì)算機(jī),防止被入侵战坤。
? systemctl status firewalld.service (查看防火墻狀態(tài))
? 開(kāi)啟firewalld(C6 service iptables start 或者/etc/init.d/iptables start)
讓firewalld開(kāi)機(jī)自啟動(dòng)
? systemctl enable firewalld.service
C6用法:chkconfig iptables off
C7就是一個(gè)命令systemctl
3曙强、硬鏈接
? 具有相同inode節(jié)點(diǎn)號(hào)的文件互為硬鏈接。
? 一個(gè)文件的兩個(gè)入口途茫。
? 作用:
? ? 備份碟嘴,防止誤刪。
4囊卜、軟鏈接:
? ? 本質(zhì)是快捷方式娜扇,指向源文件實(shí)體,本身和源文件是不同的文件栅组。
用途:
? 1袱衷、對(duì)軟件、服務(wù)進(jìn)行軟連接笑窜,開(kāi)發(fā)需要引用路徑致燥,給開(kāi)發(fā)軟連接路徑,方便運(yùn)維進(jìn)行后期軟件更新
? 2排截、/etc/對(duì)應(yīng)的分區(qū)要滿(mǎn)了嫌蚤,沒(méi)法放很多文件辐益,但是程序還想通過(guò)/etc/目錄訪問(wèn)文件。
? ? 此時(shí)脱吱,我們可以把文件放入/opt/oldboy下智政,然后做一個(gè)到/etc/oldboy的軟鏈接。
Linux文件刪除原理:
? 1箱蝠、靜態(tài)文件:沒(méi)有進(jìn)程或程序正在訪問(wèn)的文件续捂。
? 所有的硬鏈接數(shù)為0(i_link),即所有硬鏈接都被干掉了宦搬,包括自身牙瓢。
? 硬鏈接的數(shù)量的代表變量符號(hào)i_link
? rm -f oldboy.txt oldboy_hard_link
? 執(zhí)行完 其實(shí)文件也沒(méi)刪,關(guān)機(jī)停止運(yùn)行间校。
a.系統(tǒng)定時(shí)清理沒(méi)有文件名的inode矾克。
b.磁盤(pán)檢查會(huì)清理。
c.增加新文件時(shí)優(yōu)先占用沒(méi)有文件名的inode憔足。
? 恢復(fù)的工具:debugfs,ext3grep等等胁附。
? 亡羊補(bǔ)牢其實(shí)不可取的,違反運(yùn)維的三大核心原則滓彰。
? 多備份控妻,操作前備份,異服務(wù)器和異地備份揭绑。
2弓候、動(dòng)態(tài)文件:有程序或進(jìn)程訪問(wèn)的文件
刪除原理:
a.所有硬鏈接刪除。i_link為0.
b..i_count是進(jìn)程調(diào)用文件的數(shù)量(引用計(jì)數(shù))洗做。所有進(jìn)程調(diào)用都要停止取消弓叛。i_count為0
通配符知識(shí):
1彰居、基本含義
? ? 通配符簡(jiǎn)單說(shuō)就是鍵盤(pán)上的一些特殊字符诚纸,可以實(shí)現(xiàn)某些特殊的功能,
? ? 例如陈惰,可以用*代表所有畦徘,來(lái)模糊搜索系統(tǒng)中的文件。
2抬闯、范圍:通配符試用范圍是命令行中【普通命令】或腳本編程中井辆。
第十四天筆記
1、正則表達(dá)式
? 作用和特殊字符一樣溶握。
? 正則表達(dá)式是為處理大量的字符串及文本而定義的一套規(guī)則和方法杯缺。
2、提高效率睡榆,快速獲取到想要的內(nèi)容萍肆。
3袍榆、適用于三劍客命令 grep(egrep),sed,awk
? 以行為單位處理。
易混淆事項(xiàng)
? 1塘揣、和通配符區(qū)別包雀。
? 2、開(kāi)發(fā)人員正則亲铡,一般是Perl兼容正則表達(dá)式才写。
? 3、Linux系統(tǒng)三劍客正則表達(dá)式******奖蔓。
分類(lèi):
? 1赞草、BRE? grep
? 2、ERE? egrep
a{n,m} 匹配前一個(gè)字符最少n次锭硼,最多m次
a{n,} 匹配前一個(gè)字符最少n次
a{n} 匹配前一個(gè)字符正好n次
a{,m} 匹配前一個(gè)字符最多m次
Linux三劍客
? awk? sed? grep
sed
? Sed是操作房资、過(guò)濾和轉(zhuǎn)換文本內(nèi)容的強(qiáng)大工具。
? 常用功能有對(duì)文件實(shí)現(xiàn)快速增刪改查(增加檀头、刪除轰异、修改、查詢(xún))暑始,
? 其中查詢(xún)的功能中最常用的2大功能是過(guò)濾(過(guò)濾指定字符串)和取行(取出指定行)搭独。
sed [選項(xiàng)]? [sed內(nèi)置命令字符]? [文件]
? 選項(xiàng):
? -n 取消默認(rèn)sed的輸出,常與sed內(nèi)置命令的p連用※
? -i 直接修改文件內(nèi)容廊镜,而不是輸出到終端牙肝。
? 如果不使用-i選項(xiàng)sed只是修改在內(nèi)存中的數(shù)據(jù),并不會(huì)影響磁盤(pán)上的文件※
sed的內(nèi)置命令字符說(shuō)明
? s 替換
? g 全局global
? p 打印print
? d 刪除delete
第十五天筆記
1、正則表達(dá)式
? 作用和特殊字符一樣。
? 正則表達(dá)式是為處理大量的字符串及文本而定義的一套規(guī)則和方法讥蟆。
? 提高效率赁还,快速獲取到想要的內(nèi)容。
? 適用于三劍客命令 grep(egrep),sed,awk
? 以行為單位處理坐漏。
易混淆事項(xiàng)
? 1、和通配符區(qū)別。
? 2敦姻、開(kāi)發(fā)人員正則,一般是Perl兼容正則表達(dá)式歧杏。
? 3镰惦、Linux系統(tǒng)三劍客正則表達(dá)式******。
分類(lèi):
? 1犬绒、BRE? grep
? 2旺入、ERE? egrep
? a{n,m}匹配前一個(gè)字符最少n次,最多m次
? a{n,} 匹配前一個(gè)字符最少n次
? a{n} 匹配前一個(gè)字符正好n次
? a{,m} 匹配前一個(gè)字符最多m次
2凯力、Linux三劍客
? awk? sed? grep
三劍客自身有特長(zhǎng)的茵瘾。
? grep 過(guò)濾查找內(nèi)容急膀。篩子
? sed? 取行,替換龄捡,刪除卓嫂,追加
? awk? 取列
sed
? Sed是操作、過(guò)濾和轉(zhuǎn)換文本內(nèi)容的強(qiáng)大工具聘殖。
? 常用功能有對(duì)文件實(shí)現(xiàn)快速增刪改查(增加晨雳、刪除、修改奸腺、查詢(xún))餐禁,
? 其中查詢(xún)的功能中最常用的2大功能是過(guò)濾(過(guò)濾指定字符串)和取行(取出指定行)。
? sed [選項(xiàng)]? [sed內(nèi)置命令字符]? [文件]
選項(xiàng):
? -n 取消默認(rèn)sed的輸出突照,常與sed內(nèi)置命令的p連用※
? -i 直接修改文件內(nèi)容帮非,而不是輸出到終端。
sed的內(nèi)置命令字符說(shuō)明
? s 替換
? g 全局global
? p 打印print
? d 刪除delete
? 正則是貪婪匹配模式讹蘑,人性是貪婪的末盔。
awk
? awk? [option]? 'pattern{action}' file ...
? awk? [參數(shù)]? ? ? '條件{動(dòng)作}'? ? 文件 ...
? 參數(shù):
? -F 指定分隔符
? 列:$1第一列 $2第二列 以此類(lèi)推....
? $0? 整行
? $NF 最后一列 倒數(shù)第一列
? $(NF-1) 倒數(shù)第二列
第十六天筆記
1、Linux基礎(chǔ)權(quán)限是9個(gè)字符座慰。
? 33631870 -rw-r--r--. 1 root root? ? 21 Oct? 6 22:54 a.txt
分3組:
? 前三個(gè)字符是表示用戶(hù)(屬主)權(quán)限位? user(用戶(hù)) u
? 中三個(gè)字符是表示用戶(hù)組權(quán)限位 group(用戶(hù)組)? ? g
? 后三個(gè)字符是其它用戶(hù)權(quán)限位 others(其他用戶(hù))? ? o
同一組的三個(gè)字符權(quán)限也是有位置的
? 第一個(gè)字符(r)的位置讀的權(quán)限位 r? 4
? 第二個(gè)字符(w)的位置寫(xiě)的權(quán)限位 w? 2
? 第三個(gè)字符(x)的位置是執(zhí)行的權(quán)限位陨舱。 x? 1
-? 0
groupadd incahome? 創(chuàng)建一個(gè)用戶(hù)組(incahome)
useradd oldboy? ? 創(chuàng)建一個(gè)用戶(hù)? (oldboy)
usermod -g incahome oldboy 將用戶(hù)(oldboy)添加到incahome用戶(hù)組
id oldboy 查看用戶(hù)信息
useradd oldboy -g incahome? 創(chuàng)建一個(gè)用戶(hù)(oldboy)指定用戶(hù)組(incahome)
2、Linux權(quán)限有兩種表現(xiàn)形式:
數(shù)字表示法 稱(chēng)為8進(jìn)制權(quán)限
? r 4
? w 2
? x 1
? - 0
? rw-rw-r-x? 代表的數(shù)字權(quán)限為665
? --xr-x-wx? 代表的數(shù)字權(quán)限為153
? -wx--x--x? 代表的數(shù)字權(quán)限為311
而以下數(shù)字權(quán)限表示的字符權(quán)限如下:
? 755? 代表的字符權(quán)限為rwxr-xr-x
? 644? 代表的字符權(quán)限為rw-r--r--
? 134? 代表的字符權(quán)限為--x-wxr--
實(shí)際的權(quán)限表示就是將每3位相加即可版仔。
? rwxr-xr-x? 755
? rwx 7
? r-x 5
? r-x 5
3游盲、修改文件屬性的用戶(hù)和組
? chown 用戶(hù).用戶(hù)組 文件? 這里的點(diǎn)可以用:替換。
? chown 用戶(hù) 文件
? chown .用戶(hù)組 文件? ====chgrp 用戶(hù)組 文件
安全權(quán)限臨界點(diǎn):
? 文件不想被修改被執(zhí)行:644
4蛮粮、博客:寫(xiě)博客益缎。。然想。服務(wù)器的博客目錄和文件的權(quán)限莺奔,防止被惡意篡改。
? 企業(yè)真實(shí)案例:網(wǎng)站文件被惡意修改了又沾。弊仪。熙卡。杖刷。打開(kāi)網(wǎng)站后有彈窗廣告(不是你網(wǎng)站的)
? 用戶(hù)打開(kāi)網(wǎng)站,報(bào)警驳癌。
? 原因:權(quán)限設(shè)置有漏洞滑燃,chmod -R 777 目錄 開(kāi)發(fā)人員習(xí)慣
? 解決方案:
? 1、備份
? tar zcvf /opt/oldboy_$(date +%F).tar.gz ./oldboy/
? 2颓鲜、找到被修改的文件
? [root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'
? /oldboy/oldboy.txt:<script>ddddddddddddd</scripts>
? /oldboy/test.sh:<script>ddddddddddddd</scripts>
? 3表窘、批量刪除
? [root@oldboyedu /]# find /oldboy -type f |xargs sed -i '/ddddddddddddd/d'
? [root@oldboyedu /]# find /oldboy -type f |xargs grep 'ddddddddddddd'
? 4典予、找到文件被篡改來(lái)源,并優(yōu)化調(diào)整乐严。
? 5瘤袖、寫(xiě)總結(jié) 故障報(bào)告。
5昂验、控制默認(rèn)權(quán)限的東西? umask
? 創(chuàng)建文件默認(rèn)最大的權(quán)限為666 (-rw-rw-rw-)捂敌,其默認(rèn)創(chuàng)建的文件沒(méi)有可執(zhí)行權(quán)限x位。
? umask 044 臨時(shí)更改
? 當(dāng)umask中存在奇數(shù)位的時(shí)候既琴,在計(jì)算完畢占婉,奇數(shù)位加1
? 基于文件:默認(rèn)權(quán)限規(guī)則 了解
? 從666計(jì)算
? umask都為偶數(shù) 默認(rèn)權(quán)限用減法
? umask有奇數(shù) 默認(rèn)權(quán)限用減法 然后奇數(shù)位加1
6、特殊權(quán)限位
? suid位:
? ? suid(setuid)位通過(guò)S字符標(biāo)識(shí)甫恩,
? ? 存在于基本權(quán)限的用戶(hù)權(quán)限位的x權(quán)限對(duì)應(yīng)的位置逆济,
? ? 如果用戶(hù)權(quán)限位對(duì)應(yīng)的x權(quán)限位上有x權(quán)限,則suid就用小寫(xiě)的s標(biāo)識(shí)磺箕,
? ? suid的s對(duì)應(yīng)的數(shù)字權(quán)限為4奖慌,完整權(quán)限用八進(jìn)制數(shù)4000表示。
? sgid位:
? ? sgid(setgid)位同樣是通過(guò)S字符來(lái)標(biāo)識(shí)松靡,
? ? 但是升薯,sgid位存在于基本權(quán)限的用戶(hù)組權(quán)限位的x權(quán)限對(duì)應(yīng)的位置,
? ? 如果用戶(hù)組權(quán)限位對(duì)應(yīng)的x權(quán)限位上有x權(quán)限击困,則sgid就用小寫(xiě)的s標(biāo)識(shí)涎劈,
? ? suid的s對(duì)應(yīng)的數(shù)字權(quán)限為2,完整的權(quán)限用八進(jìn)制數(shù)2000表示阅茶。
? sticky(粘滯位)知識(shí)簡(jiǎn)介
? ? sticky(粘滯)位通過(guò)字符T標(biāo)識(shí)蛛枚,存在于基本權(quán)限的其他用戶(hù)位對(duì)應(yīng)的x權(quán)限位上,
? ? 如果其他用戶(hù)位的x權(quán)限位上有x權(quán)限脸哀,
? ? 則sticky(粘滯)位通過(guò)小寫(xiě)的t標(biāo)識(shí)蹦浦,對(duì)應(yīng)的數(shù)字權(quán)限是1,
? ? 完整的權(quán)限用八進(jìn)制數(shù)1000表示撞蜂。
修改方法:
chmod 7755 1.txt
-rwsr-sr-t 1 root root 0 Oct? 7 23:42 1.txt
7盲镶、suidd用處
? 簡(jiǎn)單地說(shuō),suid的作用就是讓普通用戶(hù)可以在執(zhí)行某個(gè)設(shè)置了suid位的命令或程序時(shí)蝌诡,
? 擁有和root管理員一樣的身份和權(quán)限(默認(rèn)情況)溉贿。
第十七天筆記
作用之一:
? sgid的作用就是讓普通用戶(hù)可以在執(zhí)行某個(gè)設(shè)置了sgid位的命令時(shí),
? 擁有和命令對(duì)應(yīng)用戶(hù)組(一般為root用戶(hù)組)一樣的身份和權(quán)限(默認(rèn))浦旱。
locate搜索內(nèi)容宇色,默認(rèn)從updatedb對(duì)應(yīng)的數(shù)據(jù)庫(kù)中查找
updatedb 更新locate查找內(nèi)容對(duì)應(yīng)的數(shù)據(jù)庫(kù)。
sgid基于目錄的作用:
? 讓不同的人創(chuàng)建文件屬于相同的用戶(hù)組,從而可以互相共享文件的權(quán)限宣蠕。
1例隆、定時(shí)任務(wù)
? 周期性的執(zhí)行任務(wù)計(jì)劃的軟件,Linux定時(shí)任務(wù)的常用軟件crond抢蚀。
2镀层、使用定時(shí)任務(wù)軟件,可以每天皿曲,每小時(shí)按你需求重復(fù)的執(zhí)行一項(xiàng)工作鹿响。
? 例如:備份 都是0點(diǎn)以后,2點(diǎn)爬起來(lái)備份谷饿,4點(diǎn)以后睡覺(jué)惶我。
? 需要寫(xiě)一個(gè)程序?qū)崿F(xiàn)自動(dòng)備份,然后讓定時(shí)任務(wù)軟件幫你執(zhí)行博投。
1绸贡、系統(tǒng)定時(shí)任務(wù)計(jì)劃
? 1.不用管理員干預(yù),系統(tǒng)自動(dòng)執(zhí)行毅哗。
? 2.也可以利用系統(tǒng)任務(wù)為管理員服務(wù)听怕。
2、用戶(hù)定時(shí)任務(wù)計(jì)劃
? 在Linux系統(tǒng)中虑绵,
? cron是定時(shí)任務(wù)的軟件名尿瞭,
? crond是服務(wù)進(jìn)程名,真正實(shí)現(xiàn)定時(shí)任務(wù)服務(wù)翅睛。
? crontab命令是用來(lái)設(shè)置定時(shí)任務(wù)規(guī)則的配置命令声搁。
要想配置定時(shí)任務(wù),首先啟動(dòng)crond服務(wù)捕发。
? systemctl start crond.service? 啟動(dòng)
? systemctl stop crond.service? 停止
? systemctl status crond.service 查看狀態(tài)
開(kāi)啟自啟動(dòng):
? systemctl disable crond.service 關(guān)閉
? systemctl enable crond.service? 開(kāi)啟
crontab命令是用來(lái)設(shè)置定時(shí)任務(wù)規(guī)則的配置命令疏旨。
? 內(nèi)容存放哪里了。定時(shí)任務(wù)內(nèi)容存放的位置/var/spool/cron/
? -l l列表 查看已經(jīng)設(shè)置的定時(shí)任務(wù)*
? -e edit 編輯定時(shí)任務(wù)*
? -u user 查看特定用戶(hù)下定時(shí)任務(wù)
編寫(xiě)定時(shí)任務(wù)的語(yǔ)法:
? # Example of job definition:
? # .---------------- minute (0 - 59)
? # |? .------------- hour (0 - 23)
? # |? |? .---------- day of month (1 - 31)
? # |? |? |? .------- month (1 - 12) OR jan,feb,mar,apr ...
? # |? |? |? |? .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
? # |? |? |? |? |
? # *? *? *? *? *? (command to be executed)
共六列:
第一列:分 minute (0 - 59)
第二列:時(shí) hour? (0 - 23)
第三列:日 day of month (1 - 31)
第四列:月 month (1 - 12) OR jan,feb,mar,apr ...
第五列:周 day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
第六列:要執(zhí)行的任務(wù)命令或程序
特殊符號(hào):
?
? - 連續(xù)區(qū)間 1-10
? 00 8-23 * * * cmd
? , 列舉 1,2,3,4,8
? 00 1,2,3,4,8 * * * cmd
? /n n是數(shù)字扎酷。
? n代表自然數(shù)字檐涝,即“每隔n單位時(shí)間”,例如:每10分鐘執(zhí)行一次任務(wù)可以寫(xiě)成
? */10 * * * * cmd
定時(shí)任務(wù)操作步驟
? 1.命令行執(zhí)行成功法挨。
? 2.配置定時(shí)任務(wù)crontab -e 編輯配置
? 3.檢查
設(shè)置思路
? 1谁榜、先輸入* * * * *
? 2、先命令行操作成功凡纳。
? 3窃植、拷貝命令到定時(shí)任務(wù)編輯里。
運(yùn)維規(guī)范:
? 腳本位置:/server/scripts
? 軟件位置:/server/tools
? 編譯位置:/application/軟件名字-版本惫企,然后要軟鏈接撕瞧。
生產(chǎn)環(huán)境下的定時(shí)Cron書(shū)寫(xiě)要領(lǐng)
? 要領(lǐng)1:為定時(shí)任務(wù)規(guī)則加必要的注釋
? 要領(lǐng)2:所有的定時(shí)任務(wù)盡量都以腳本的形式執(zhí)行
? 要領(lǐng)3:在執(zhí)行的Shell腳本前加上/bin/sh
? 要領(lǐng)4:定時(shí)任務(wù)中命令或腳本的結(jié)尾加>/dev/null 2>&1
? 要領(lǐng)5:在指定用戶(hù)下執(zhí)行相關(guān)定時(shí)任務(wù)
? 要領(lǐng)6:生產(chǎn)任務(wù)計(jì)劃程序中不要隨意打印輸出信息,有輸出的想法去掉。
? 要領(lǐng)7:定時(shí)任務(wù)執(zhí)行的腳本要存放到規(guī)范路徑下
? 要領(lǐng)8:配置定時(shí)任務(wù)要規(guī)范操作過(guò)程狞尔,減少出錯(cuò)
? 要領(lǐng)9:定時(shí)任務(wù)腳本中程序命令及路徑盡量用全路徑
? 要領(lǐng)10:時(shí)間變量%號(hào)要用反斜線轉(zhuǎn)義(只有定時(shí)任務(wù)里是命令時(shí)需要)
? 要領(lǐng)11:若腳本中調(diào)用了系統(tǒng)環(huán)境變量丛版,要重新定義
? 要領(lǐng)12:出錯(cuò)或無(wú)法執(zhí)行,就檢查/var/log/cron日志