cron計劃任務(週期性計劃任務)
按照設置的時間間隔對用戶反覆執行固定系統任務
重要:時間+計劃
系統服務(名稱):crond
日誌文件:/var/log/crond
從一開機就開始記錄crond(不管成功還是失敗)
使用 crontab 命令
– 編輯:crontab -e -u 用戶名
– 查看:crontab -l -u 用戶名
– 清除:crontab -r -u 用戶名
1.查看服務狀態
[root@server0 ~]# systemctl status crond
2.書寫計劃任務
7個*分隔開表示
* * * * *
分 時 日 月 周 #0~7 ,0和7表示週日
/n :時間頻率,表示每n執行的計劃
*/1 * * * *:表示任意時間範圍類每隔一分鐘
[root@server0 ~]# useradd natasha #添加用戶natasha
[root@server0 ~]# which ifconfig #查詢命令所對應的程序位置
[root@server0 ~]# which date
/usr/bin/date #查詢到date命令對應的程序在/usr/bin/date
[root@server0 ~]# crontab -e -u natasha #進入編輯界面
*/1 * * * * /usr/bin/date >> /home/natasha/abc.txt
[root@server0 ~]# crontab -l -u natasha #查看計劃任務
*/1 * * * * /usr/bin/date >> /home/natasha/abc.txt
[root@server0 ~]# watch -n 1 cat /home/natasha/abc.txt #驗證任務執行結果
追加重定向依次顯示不覆蓋,覆蓋重定向顯示新的會覆蓋舊的
[root@server0 ~]# crontab -r -u natasha #清除計劃任務,不是清除用戶,用戶還在
[root@server0 ~]# crontab -l -u natasha #查看計劃任務已被清除
no crontab for natasha
[root@server0 ~]# watch -n 1 cat /home/natasha/abc.txt #之前的任務還在,只是不會再繼續執行下去
--------------------------------------------------------------------------------------------------------------------------------------------------
提醒:面試常問問題
Q:Linux有哪些常用權限?
正確回答:基本權限,特殊權限,acl訪問控制列表權限。
錯誤回答舉例:rwx權限.....
rwx是基本權限中的類型,要根據題意來回答
基本權限的類別
訪問方式(權限)
– 讀取:允許查看內容-read r
– 寫入:允許修改內容-write w
– 可執行:允許運行和切換-execute x
對於文本文件:
r: cat head tail less
w: vim
x: 運行 cd
權限適用對象(歸屬)
– 所有者(所屬主):擁有此文件/目錄的用戶-user u
– 所屬組(所屬組):擁有此文件/目錄的組-group g
– 其他用戶:除所有者、所屬組以外的用戶-other o
[root@server0 ~]# ls -l /etc/passwd
-rw-r--r--. 1 root root 2044 10月 30 19:08 /etc/passwd
權限位 硬連接數 屬主 屬組 大小 最後修改時間 文件/目錄名稱
# -rw-r--r--表示權限位
後面9個項分3個分別表示所有者(rw-),所屬組(r--),其他用戶(r--)的權限
[root@server0 ~]# ls -ld /etc/
[root@server0 ~]# ls -ld /root
[root@server0 ~]# ls -ld /home/student
[root@server0 ~]# ls -ld /tmp
以“-”開頭: 文件 例如:-rw-r--r--. 1 root root 2044 10月 30 19:08 /etc/passwd
以“l”開頭: 快捷方式 例如:
以“d”開頭: 目錄 例如:drwxr-xr-x. 2 root root 6 10月 30 19:45 /nsd01
使用 chmod 命令 修改權限
– chmod [-R] 歸屬關係+-=權限類別 文檔...
[-R] 遞歸賦予權限
[root@server0 ~]# mkdir /nsd01
[root@server0 ~]# ls -ld /nsd01
drwxr-xr-x. 2 root root 6 10月 30 19:45 /nsd01
[root@server0 ~]# chmod u-x /nsd01 #所屬主去掉x權限
[root@server0 ~]# ls -ld /nsd01
drw-r-xr-x. 2 root root 6 10月 30 19:45 /nsd01
[root@server0 ~]# chmod g+w /nsd01 #所屬組添加w權限
[root@server0 ~]# ls -ld /nsd01
drw-rwxr-x. 2 root root 6 10月 30 19:45 /nsd01
[root@server0 ~]# chmod o=rwx /nsd01 #其他用戶全都改爲rwx權限
[root@server0 ~]# ls -ld /nsd01
drw-rwxrwx. 2 root root 6 10月 30 19:45 /nsd01
[root@server0 ~]# chmod u=rwx,g=rx,o=r /nsd01
[root@server0 ~]# ls -ld /nsd01
如何判斷用戶具備權限
1.判斷用戶所屬的身份 所有者>所屬組>其他人 匹配及停止
2.看相應權限位的權限劃分
目錄的 r 權限:能夠 ls 瀏覽此目錄內容
目錄的 w 權限:能夠執行 rm/mv/cp/mkdir/touch/...等 更改目錄裏內容的操作
目錄的 x 權限:能夠 cd 切換到此目錄
####################################################
例題:
以root用戶新建/nsddir/目錄,在此目錄下新建readme.txt文件,並進一步完成下列操作
1)使用戶zhangsan能夠在此目錄下創建子目錄 切換用戶 su - zhangsan
[root@dqs ~]# mkdir /nsddir #創建/nsddir目錄
[root@dqs ~]# touch /nsddir/readme.txt #在/nsddir目錄下創建readme.txt文件
[zhangsan@dqs ~]$ mkdir /nsddir/zhangsan #切換到用戶zhangsan下創建目錄及子目錄 提示以下 信息,沒有權限不能創建
mkdir: cannot create directory ‘/nsddir/zhangsan’: Permission denied
chmod o+w /nsddir/
2)使用戶zhangsan不能夠在此目錄下創建子目錄
chmod o-w /nsddir/
3)使用戶zhangsan能夠修改readme.txt文件
chmod o+w /nsddir/readme.txt
4)調整此目錄的權限,使所有用戶都不能進入此目錄
chmod u-x,g-x,o-x /nsddir/
5)爲此目錄及其下所有文檔設置權限 rwxr-x---
chmod -R u=rwx,g=rx,o=--- /nsddir/
###############################################
設置文檔歸屬
使用 chown 命令
– chown [-R] 屬主 文檔...
– chown [-R] :屬組 文檔...
– chown [-R] 屬主:屬組 文檔...
[root@server0 ~]# useradd dc #添加用戶dc
[root@server0 ~]# mkdir /nsd05 #創建目錄nsd05
[root@server0 ~]# ls -ld /nsd05 #查看目錄的詳細屬性
[root@server0 ~]# groupadd tedu #創建組tedu
[root@server0 ~]# chown dc:tedu /nsd05 #將dc用戶設置屬主,tedu組爲屬組
[root@server0 ~]# ls -ld /nsd05
[root@server0 ~]# chown student /nsd05 #設置student爲屬主
[root@server0 ~]# ls -ld /nsd05
[root@server0 ~]# chown :root /nsd05/ #設置root爲屬組
[root@server0 ~]# ls -ld /nsd05/
####################################################
特殊權限(附加權限)
Set UID
附加在屬主的 x 位上
– 屬主的權限標識會變爲 s (在附加之前有x權限的前提下),若附加之前沒有x權限再附加,則變爲S
– 適用於可執行文件,Set UID可以讓使用者具有文件屬主的身份及部分權限(傳遞所有者身份)
Set GID
附加在屬組的 x 位上
– 屬組的權限標識會變爲 s(在附加之前有x權限的前提下),若附加之前沒有x權限再附加,則變爲S
– 適用於可執行文件,功能與Set UID類似(傳遞所屬組身份)
– 適用於目錄,Set GID可以使目錄下新增的文檔自動設置與父目錄相同的屬組
[root@server0 ~]# mkdir /tarena
[root@server0 ~]# ls -ld /tarena
[root@server0 ~]# chown :tedu /tarena
[root@server0 ~]# ls -ld /tarena
[root@server0 ~]# mkdir /tarena/nsd01
[root@server0 ~]# ls -ld /tarena/nsd01
[root@server0 ~]# chmod g+s /tarena/
[root@server0 ~]# ls -ld /tarena/
[root@server0 ~]# mkdir /tarena/nsd02
[root@server0 ~]# ls -ld /tarena/nsd02
[root@server0 ~]# touch /tarena/nsd02/abc.txt
[root@server0 ~]# ls -l /tarena/nsd02/abc.txt
#################################################
Sticky Bit
附加在其他人的 x 位上
– 其他人的權限標識會變爲 t
– 適用於開放 w 權限的目錄,可以阻止用戶濫用 w 寫入
權限(禁止操作別人的文檔)
[root@server0 ~]# mkdir /public
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /public
[root@server0 ~]# ls -ld /public
[root@server0 ~]# chmod o+t /public
[root@server0 ~]# ls -ld /public