第十七天課堂筆記 3月22

系統(tǒng)權(quán)限知識及應(yīng)用

009.png
clipboard-wps圖片.png

作用之一:
sgid的作用就是讓普通用戶可以在執(zhí)行某個設(shè)置了sgid位的命令時,
擁有和命令對應(yīng)用戶組(一般為root用戶組)一樣的身份和權(quán)限(默認(rèn))实胸。

locate搜索內(nèi)容,默認(rèn)從updatedb對應(yīng)的數(shù)據(jù)庫中查找
updatedb 更新locate查找內(nèi)容對應(yīng)的數(shù)據(jù)庫尚困。

[root@oldboyedu ~]# updatedb
[root@oldboyedu ~]# ls -l /var/lib/mlocate/mlocate.db
-rw-r----- 1 root slocate 1977042 Oct 8 00:47 /var/lib/mlocate/mlocate.db
[root@oldboyedu ~]# file /var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db: data

sgid基于目錄的作用:
讓不同的人創(chuàng)建文件屬于相同的用戶組山憨,從而可以互相共享文件的權(quán)限。

12.9 本章重點
1)Linux基本9位權(quán)限之文件和目錄權(quán)限詳細(xì)說明抽减。
2)Linux基本9位權(quán)限之字符和數(shù)字(8進(jìn)制)權(quán)限知識。
3)權(quán)限及用戶用戶組屬性修改命令chmod橄碾、chown卵沉、chgrp。
4)默認(rèn)權(quán)限umask以及系統(tǒng)目錄安全案例法牲。
5)特殊權(quán)限Suid知識掌握史汗,Sgid和sticky知識了解即可。

3W1H 框架
Linux系統(tǒng)定時任務(wù):

1拒垃、什么是定時任務(wù)停撞?
周期性的執(zhí)行任務(wù)計劃的軟件,Linux定時任務(wù)的常用軟件crond悼瓮。

2戈毒、使用定時任務(wù)軟件艰猬,可以每天,每小時按你需求重復(fù)的執(zhí)行一項工作副硅。
例如:備份 都是0點以后姥宝,2點爬起來備份翅萤,4點以后睡覺恐疲。
需要寫一個程序?qū)崿F(xiàn)自動備份,然后讓定時任務(wù)軟件幫你執(zhí)行套么。
鬧鐘培己。。胚泌。省咨。可以追女朋友玷室。零蓉。。

3穷缤、怎樣用敌蜂。

(1)系統(tǒng)定時任務(wù)計劃
1.不用管理員干預(yù),系統(tǒng)自動執(zhí)行津肛。
2.也可以利用系統(tǒng)任務(wù)為管理員服務(wù)章喉。
[root@oldboy ~]# ll /var/log/messages*
-rw-------. 1 root root 96594 Mar 21 12:40 /var/log/messages
-rw-------. 1 root root 485249 Mar 20 10:46 /var/log/messages-20190320
[root@oldboy ~]# ll /var/log/secure*
-rw-------. 1 root root 1430 Mar 21 12:50 /var/log/secure
-rw-------. 1 root root 2695 Mar 20 10:46 /var/log/secure-20190320

[root@oldboyedu /etc/cron.daily]# ll /etc/cron.daily/logrotate /etc/logrotate.conf
-rwx------. 1 root root 219 Oct 31 2018 /etc/cron.daily/logrotate
-rw-r--r--. 1 root root 662 Jul 31 2013 /etc/logrotate.conf
按天切割日志,就可以用logrotate身坐。

(2)用戶定時任務(wù)計劃
在Linux系統(tǒng)中秸脱,
cron是定時任務(wù)的軟件名,
crond是服務(wù)進(jìn)程名部蛇,真正實現(xiàn)定時任務(wù)服務(wù)摊唇。
crontab命令是用來設(shè)置定時任務(wù)規(guī)則的配置命令。

要想配置定時任務(wù)涯鲁,首先啟動crond服務(wù)遏片。
systemctl start crond.service
systemctl stop crond.service
systemctl status crond.service

開啟自啟動:
systemctl disable crond.service
systemctl enable crond.service

[root@oldboyedu ~]# systemctl status crond
● crond.service - Command Scheduler
Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-10-08 01:56:12 CST; 2min 26s ago
Main PID: 13189 (crond)
CGroup: /system.slice/crond.service
└─13189 /usr/sbin/crond -n

Oct 08 01:56:12 oldboyedu crond[13189]: (CRON) INFO (RANDOM_DELAY will be...)
Oct 08 01:56:12 oldboyedu systemd[1]: Started Command Scheduler.
Oct 08 01:56:12 oldboyedu crond[13189]: (CRON) INFO (running with inotify...)
Oct 08 01:56:12 oldboyedu crond[13189]: (CRON) INFO (@reboot jobs will be...)
Hint: Some lines were ellipsized, use -l to show in full.

crontab命令是用來設(shè)置定時任務(wù)規(guī)則的配置命令。
內(nèi)容存放哪里了撮竿。定時任務(wù)內(nèi)容存放的位置/var/spool/cron/
以當(dāng)前用戶名作為文件名
[root@oldboyedu ~]# ll /var/spool/cron/
total 8
-rw------- 1 oldboy oldboy 10 Oct 8 02:04 oldboy
-rw------- 1 root root 6 Oct 8 02:02 root
[root@oldboyedu ~]# cat /var/spool/cron/oldboy

oldboy

-l l列表 查看已經(jīng)設(shè)置的定時任務(wù)*
-e edit 編輯定時任務(wù)*
-u user 查看特定用戶下定時任務(wù)

root:
crontab -l == cat /var/spool/cron/root
crontab -e == vim /var/spool/cron/root

編寫定時任務(wù)的語法:

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)
第二列:時 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ù)命令或程序

特殊符號:

  • 表示的 每或每一 的意思
    00 23 * * * cmd
  • 連續(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單位時間”幢踏,例如:每10分鐘執(zhí)行一次任務(wù)可以寫成
*/10 * * * * cmd

=============================================
*/1 * * * * /bin/sh /scripts/data.sh
30 3,12 * * * /bin/sh /scripts/oldboy.sh
30 */6 * * * /bin/sh /scripts/oldboy.sh
30 8-18/2 * * * /bin/sh /scripts/oldboy.sh
30 21 * * * 最強(qiáng)大腦
45 4 1,10,22 * * /application/apache/bin/apachectl graceful
10 1 * * 6,0 /application/apache/bin/apachectl graceful
0,30 18-23 * * * /application/apache/bin/apachectl graceful
00 */1 * * * /application/apache/bin/apachectl graceful
#################

  • 23,00-07/1 * * * /application/apache/bin/apachectl graceful
    00 */1 * * *
    00 11 * 4 1-3 /application/apache/bin/apachectl graceful
    每周日上午9:30去老男孩教育上課
    每天上午8:30去老男孩教育上課髓需,這是脫產(chǎn)班的上課頻率。

命令實例1:/1 * * * * /bin/sh /scripts/data.sh
在本例中除了數(shù)字與命令腳本外房蝉,還使用到了符號"
"僚匆,號的意思“每一”微渠。
第一列的意思為分鐘,特殊符號“/”表示每隔的意思咧擂,即表示每隔一分鐘執(zhí)行/bin/sh /scripts/data.sh程序逞盆。
命令實例2:30 3,12 * * * /bin/sh /scripts/oldboy.sh
在本例中,第一列為30松申,表示30分鐘云芦;第二列為 3,12,這代表3點及 12點贸桶,此定時任務(wù)的意思是每天凌晨3點和中午12點的半點時刻(或描述為每天凌晨3:30和中午12:30)執(zhí)行/scripts/oldboy.sh腳本舅逸。
命令實例3:30 /6 * * * /bin/sh /scripts/oldboy.sh
在本例中,第一列為30皇筛,表示30分鐘琉历;第二列
/6代表每6個小時,也相當(dāng)于 6水醋、12旗笔、18、24 的作用拄踪。此定時任務(wù)的意思是每隔6個小時的半點時刻執(zhí)行/scripts/oldboy.sh腳本任務(wù)蝇恶。
命令實例4:30 8-18/2 * * * /bin/sh /scripts/oldboy.sh
在本例中,其中的第一列為30宫蛆,表示30分鐘艘包;第二列8-18/2代表在早晨8點到下午18點之間每隔2小時,也相當(dāng)于把8耀盗、10想虎、12、14叛拷、16舌厨、18單獨(dú)列出。
那么忿薇,此定時任務(wù)的意思就是早晨8點到下午18點之間裙椭,每隔2小時的半點時刻執(zhí)行/scripts/oldboy.sh腳本任務(wù)。
命令實例5:30 21 * * * /application/apache/bin/apachectl graceful
本例表示每晚的21:30重啟apache署浩。
命令實例6:45 4 1,10,22 * * /application/apache/bin/apachectl graceful
本例表示每月1揉燃、10、22日的凌晨4 : 45分重啟apache筋栋。
命令實例7:10 1 * * 6,0 /application/apache/bin/apachectl graceful
本例表示每周六炊汤、周日的凌晨1 : 10分重啟apache。
命令實例8:0,30 18-23 * * * /application/apache/bin/apachectl graceful
本例表示在每天18 : 00至23 : 00之間每隔30分鐘重啟apache。
命令實例9:00 /1 * * * /application/apache/bin/apachectl graceful
本例表示每隔一小時整點重啟apache
命令實例10:
23,00-07/1 * * * /application/apache/bin/apachectl graceful
本例并不表示晚上23點和早上0-7點之間每隔一小時重啟Apache抢腐。
要說明的是姑曙,以上結(jié)果是不規(guī)范的,也是不對的迈倍。大家想想為什么伤靠?
以上定時任務(wù)的第一列為
,表示每分都執(zhí)行任務(wù)即晚上23點和早上0-7點之間每隔一小時的每分都重啟Apache啼染,很可怕吧宴合。
命令實例11:00 11 * 4 1-3 /application/apache/bin/apachectl graceful
本例表示4月的每周一到周三的上午11點整重啟Apache。
命令實例12:30 09 * * 0 去老男孩教育上課
本例表示每周日上午9:30去老男孩教育上課提完,這是周末班的上課頻率形纺。
命令實例13:30 08 * * *去老男孩教育上課
本例表示每上午8:30去老男孩教育上課丘侠,這是脫產(chǎn)班的上課頻率徒欣。
通過上述13個例子,相信讀者已經(jīng)能夠理解定時任務(wù)的配置規(guī)則了蜗字。

實踐:
1打肝、每分鐘追加一次oldboy字符串到/tmp/oldboy.log里。

解答:大象放冰箱分三步
a.命令行執(zhí)行成功挪捕。
[root@oldboyedu ~]# echo "oldboy">>/tmp/oldboy.log
[root@oldboyedu ~]# cat /tmp/oldboy.log
oldboy
[root@oldboyedu ~]# echo "oldboy">>/tmp/oldboy.log
[root@oldboyedu ~]# cat /tmp/oldboy.log
oldboy
oldboy
b.配置定時任務(wù)crontab -e 編輯配置
[root@oldboyedu ~]# crontab -l

          • echo "oldboy">>/tmp/oldboy.log
            c.檢查
            [root@oldboyedu ~]# tail -f /tmp/oldboy.log
            oldboy
            oldboy
            oldboy

老男孩思想:
1)先輸入* * * * *
2)先命令行操作成功粗梭。
3)拷貝命令到定時任務(wù)編輯里。

范例13-2:讓服務(wù)器時間每5分鐘和互聯(lián)網(wǎng)時間做一次同步级零。
安裝時間服務(wù)軟件:yum install ntpdate -y
更新互聯(lián)網(wǎng)時間 /usr/sbin/ntpdate ntp1.aliyun.com

/dev/null 黑洞設(shè)備
MH370>/dev/null
&>/dev/null 等價>/dev/null 2>&1

[root@oldboyedu ~]# crontab -l
*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com &>/dev/null

范例13-3:每天晚上0點断医,把站點目錄/var/www/html下的內(nèi)容打包備份到/data目錄下,并且要求每次生成不同的備份包名奏纪。

至少分三步:
1.命令行稿成功
準(zhǔn)備工作:
[root@oldboyedu ~]# mkdir /var/www/html /data -p
具體命令:
[root@oldboyedu ~]# tar zcvf /data/html_(date +%F).tar.gz /var/www/html/ tar: Removing leading `/' from member names /var/www/html/ [root@oldboyedu ~]# ll /data total 4 -rw-r--r-- 1 root root 117 Mar 22 11:59 html_2019-03-22.tar.gz 2鉴嗤、編寫定時任務(wù) [root@oldboyedu ~]# crontab -l 00 00 * * * tar zcvf /data/html_(date +%F).tar.gz /var/www/html/
錯了,不執(zhí)行序调。醉锅。。发绢。
看報錯日志硬耍。。边酒。錯誤日志
定時任務(wù)沒有執(zhí)行经柴,出錯了日志在哪里?
出錯日志/var/log/cron
Mar 22 12:03:01 oldboyedu CROND[18770]: (root) CMD (tar zcvf /data/html_$(date +)

定時任務(wù)對%的要求墩朦,百分號要轉(zhuǎn)義坯认。%

正確答案:
[root@oldboyedu ~]# crontab -l
00 00 * * * tar zcvf /data/html_(date +\%F).tar.gz /var/www/html/ 優(yōu)秀的答案(企業(yè)里): 1.命令行執(zhí)行 cd /var/www tar zcf /data/html_(date +%F).tar.gz ./html
2.盡量用腳本文件實現(xiàn)

mkdir /server/scripts -p #存放腳本的文件

運(yùn)維規(guī)范:
腳本位置:/server/scripts
軟件位置:/server/tools
編譯位置:/application/軟件名字-版本,然后要軟鏈接。

cd /server/scripts

cat bak.sh

cd /var/www
tar zcf /data/html_$(date +%F).tar.gz ./html
命令行執(zhí)行:
/bin/sh /server/scripts/bak.sh
3鹃操、編輯定時任務(wù)

bak html dir by oldboy at 2020108

00 00 * * * /bin/sh /server/scripts/bak.sh &>/dev/null
[root@oldboyedu /server/scripts]# crontab -l|tail -2

bak html dir by oldboy at 2020108

00 00 * * * /bin/sh /server/scripts/bak.sh &>/dev/null
4韭寸、檢查正式結(jié)果
[root@oldboyedu /server/scripts]# ls -l /data

13.5生產(chǎn)環(huán)境下的定時Cron書寫要領(lǐng)
13.5.1 要領(lǐng)1:為定時任務(wù)規(guī)則加必要的注釋
13.5.2 要領(lǐng)2:所有的定時任務(wù)盡量都以腳本的形式執(zhí)行
13.5.3 要領(lǐng)3:在執(zhí)行的Shell腳本前加上/bin/sh
13.5.4 要領(lǐng)4:定時任務(wù)中命令或腳本的結(jié)尾加>/dev/null 2>&1
13.5.5 要領(lǐng)5:在指定用戶下執(zhí)行相關(guān)定時任務(wù)
13.5.6 要領(lǐng)6:生產(chǎn)任務(wù)計劃程序中不要隨意打印輸出信息,有輸出的想法去掉。
13.5.7 要領(lǐng)7:定時任務(wù)執(zhí)行的腳本要存放到規(guī)范路徑下
13.5.8 要領(lǐng)8:配置定時任務(wù)要規(guī)范操作過程荆隘,減少出錯
13.5.9 要領(lǐng)9:定時任務(wù)腳本中程序命令及路徑盡量用全路徑
13.5.10 要領(lǐng)10:時間變量%號要用反斜線轉(zhuǎn)義(只有定時任務(wù)里是命令時需要)
13.5.11 要領(lǐng)11:若腳本中調(diào)用了系統(tǒng)環(huán)境變量恩伺,要重新定義
13.5.11 要領(lǐng)12:出錯或無法執(zhí)行,就檢查/var/log/cron日志

1) 在每周6的凌晨3:15執(zhí)行/home/shell/collect.pl椰拒,并將標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯誤輸出到/dev/null設(shè)備晶渠,請寫出crontab中的語句。
2) crontab在11月份內(nèi)燃观,每天的早上6點到12點中褒脯,每隔2小時執(zhí)行一次/usr/bin/httpd.sh,怎么實現(xiàn) ?
3) crontab文件由六個域組成,每個域之間用空格分割慎宾,其排列正確的為( )
A窟扑、MIN HOUR DAY MONTH YEAR COMMAND
B、MIN HOUR DAY MONTH DAYOFWEEK COMMAND
C、COMMAND HOUR DAY MONTH DAYOFWEEK
D、COMMAND YEAR MONTH DAY HOUR MIN
考試:考到定時任務(wù)。

下周:

用戶管理:1天
磁盤管理:2-3天
三劍客深入:1-2天
Shell基礎(chǔ):2天
進(jìn)程管理命令沉御、安裝命令 1天
============================
Linux網(wǎng)絡(luò)基礎(chǔ):4天 2天基礎(chǔ) 兩天實踐

第一大階段結(jié)束:
第二大階段,搭建集群昭灵。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末吠裆,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子烂完,更是在濱河造成了極大的恐慌试疙,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,454評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件窜护,死亡現(xiàn)場離奇詭異效斑,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)柱徙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,553評論 3 385
  • 文/潘曉璐 我一進(jìn)店門缓屠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人护侮,你說我怎么就攤上這事敌完。” “怎么了羊初?”我有些...
    開封第一講書人閱讀 157,921評論 0 348
  • 文/不壞的土叔 我叫張陵滨溉,是天一觀的道長什湘。 經(jīng)常有香客問我,道長晦攒,這世上最難降的妖魔是什么闽撤? 我笑而不...
    開封第一講書人閱讀 56,648評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮脯颜,結(jié)果婚禮上哟旗,老公的妹妹穿的比我還像新娘。我一直安慰自己栋操,他們只是感情好闸餐,可當(dāng)我...
    茶點故事閱讀 65,770評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著矾芙,像睡著了一般舍沙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剔宪,一...
    開封第一講書人閱讀 49,950評論 1 291
  • 那天拂铡,我揣著相機(jī)與錄音,去河邊找鬼歼跟。 笑死和媳,一個胖子當(dāng)著我的面吹牛格遭,可吹牛的內(nèi)容都是我干的哈街。 我是一名探鬼主播,決...
    沈念sama閱讀 39,090評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼拒迅,長吁一口氣:“原來是場噩夢啊……” “哼骚秦!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起璧微,我...
    開封第一講書人閱讀 37,817評論 0 268
  • 序言:老撾萬榮一對情侶失蹤作箍,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后前硫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胞得,經(jīng)...
    沈念sama閱讀 44,275評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,592評論 2 327
  • 正文 我和宋清朗相戀三年屹电,在試婚紗的時候發(fā)現(xiàn)自己被綠了阶剑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,724評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡危号,死狀恐怖牧愁,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情外莲,我是刑警寧澤猪半,帶...
    沈念sama閱讀 34,409評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響磨确,放射性物質(zhì)發(fā)生泄漏沽甥。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,052評論 3 316
  • 文/蒙蒙 一乏奥、第九天 我趴在偏房一處隱蔽的房頂上張望安接。 院中可真熱鬧,春花似錦英融、人聲如沸盏檐。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,815評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胡野。三九已至,卻和暖如春痕鳍,著一層夾襖步出監(jiān)牢的瞬間硫豆,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,043評論 1 266
  • 我被黑心中介騙來泰國打工笼呆, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留熊响,地道東北人。 一個月前我還...
    沈念sama閱讀 46,503評論 2 361
  • 正文 我出身青樓诗赌,卻偏偏與公主長得像汗茄,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子铭若,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,627評論 2 350

推薦閱讀更多精彩內(nèi)容