linux自有服務(2)

Linux 自由服務(2)
自有服務,即不需要用戶獨立去安裝的軟件的服務,而是當系統安裝好之後可以直接使用的服務(內置)。

一、設置主機名

回顧:

#hostname
#hostname -f    //FQDN(全限定域名)

①臨時設置主機名(立杆見影),需要切換用戶使之生效

#hostname 設置的主機名


②永久設置用戶名(需要重啓)版本不同操作略有差異
先找到/etc/hostname //主機名的配置文件

修改爲自己需要設置的永久主機名

③修改Linux服務器的hosts文件,將xia.centos7.org指向本地(設置FQDN)
Host文件的位置:/etc/hosts

問題:不設置FQDN會有什麼問題
①很多開源服務器軟件(例如Apache)則無法啓動,或出現報錯;
②方便記憶,看到主機名對其作用有一個初步判斷
③如果不設置則會設置則會影響本地的域名的解析(本地訪問);

二、chkconfig

作用:相當於windows的”開機啓動項“的管理。
在Linux下不是所有的軟件安裝完成以後都有開機啓動服務,有的肯需要自己去添加。除此之外還可以查看和刪除。
① 查看開機啓動項(不適用centos7)

#chkconfig --list(適用於centos6)
#systemctl list-unit-files (適用於centos7)
兩個命令都可以通過grep來過濾查看需要的服務


其中0-6表示各個啓動級別
例如:以network爲例,其3級別爲on(關閉),則表示其在3啓動形式下默認開機啓動
②刪除服務

#chkconfig -del 需要刪除的服務名

③添加開機啓動服務

#chkconfig --add 服務名

④設置服務在某個級別下開機自啓動(重點命令)

#chkconfig --level 連在一起的啓動級別 服務名 開/關

案例:設置httpd服務在3,5級別下默認開機啓動

#chkconfig --level 35 httpd on

三、ntp

作用:ntp主要用於對計算機的時間同步管理操作。
時間是對服務器來說是很重要的,一般很多網站都需要讀取服務器時間來記錄相關信息,如時間不準,則可能造成很大的影響。
例如:當前虛擬機裏的Linux時間是準確的

四、防火牆

作用:防護外來的攻擊
在當前的centos7中防火牆有一個名稱:firewalld
①查看firewalld是否開機自啓動

②firewalld服務啓動、重啓、關閉

#systemctl start/restart/stop firewalld.service

③查看firewalld的狀態(規則)

#service firewalld status


④查看規則的命令

#iptables -L -n

含義:
-L:表示列出規則
-n:表示將單詞表現形式改爲數字表現形式顯示

⑤簡單設置防火牆規則
例如:需要允許22端口通過防火請,則規則可以使用如下命令
[root@xia ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT //開放22端口
iptables:主命令
-A :add,添加規則
INPUT:進站請求
-p:protocol,指定協議
--dport:指定端口號
-j:指定行爲結果,允許(accept)禁止(reject)

五、rpm軟件管理(重點)

作用;rpm的作用類似於windows上的電腦管家中的‘軟件管理’,只要作用是對Linux服務器上的軟件包進行對應管理操作,管理分爲:查詢、卸載、安裝
①查詢某個軟件的安裝情況

#rpm -qa|grep 關鍵詞

選項:
-q:查詢,query
-a:全部,all
案例:查詢Linux是否安裝firefox

[root@xia ~]# rpm -qa|grep firefox
firefox-68.5.0-2.el7.centos.x86_64
[root@xia ~]# rpm -qa|grep chrome
[root@xia ~]# 

②卸載某個軟件

#rpm -e 軟件的名字

當不存在依賴關係的時候可以直接卸載,存在依賴關係的時候,又不想解決這個問題的時候可以:

#rpm -e 軟件包名 --nodeps

③軟件的安裝
找到想要的安裝包,
軟件包的獲得方法:a.去官網下載。b.不介意老版本的話可以在光盤安裝
此處以光盤文件爲例:
查看塊狀設備的信息:

#lsblk 


Name:名稱
Size:設備大小
Type:類型
MountPoint:掛載點(類似於Windows的盤符)
擴展:光盤的掛載和解掛
a.解掛操作:
命令:umount
語法:umount 當前設備的掛載點(路徑)
運行此命令相當於彈出U盤但是沒有拔出
b.掛載光盤
命令:mount
語法:mount 設備源地址 要掛載的地址
設備原始地址:地址統一都在/dev下,然後根據大小確定具體name值,拼湊在一起組成原始地址,例如當前:/dev/sr0
要掛載的路徑:/mnt/dvd
安裝軟件的命令:

#rmp -ivh 軟件包完整名稱

選項:
-i:intall,安裝
-v:顯示進度條
-h:表示以“#”形式顯示進度條

六、cron/crontab計劃任務
作用:計算機系統不可能24小時都有人操作,有時候想在指定的時間點去執行任務,此時就可以交給計劃任務程序執行。
語法:#crontab 選項
常用選項:
-l:list,列出指定用戶的計劃任務列表
-e:edit,編輯指定用戶的計劃任務列表
-u:user,指定的用戶名,如果不指定,則表示當前用戶
-r:remove,刪除指定用戶的計劃任務列表
①列出指定用戶的計劃任務列表

②編輯計劃任務列表
編輯計劃任務的語法格式,以行爲單位,一行爲一個任務計劃
分 時 日 月 周 需要執行的命令
例如:如果想在每天的0點0分執行reboot指令,則可以寫成
0 0 *** reboot

取值範圍:
分:0-59
時:0-23
日:1-31
月:1-12
周:0-6 0表示星期天
四個符號:
*:表示取值範圍內的所有數字
-:做連續區間表達式時,要想表達1~7,則可以寫成1-7
/:表示每多少個  例如:想每10分鐘一次,則可以在分的位置寫:*/10
,:表示多個取值,比如想在1點2點6點執行。可以在時的位置寫成:1,2,6

問題1:每月1、10、22日的4:45重啓network服務
45 4 1,10,22 * * systemctl restart network
問題2:每週六、日的1:10重啓network服務
10 1 * * 0,6 systemctl restart network
問題3:每天18點到23點之間每隔30分鐘重啓網卡一次
*/30 18-23 * * * systemctl restart network
問題4:每個兩天的上午8點到11點的第3和第15分鐘執行一次重啓
3,15 8-11 /2 * * reboot
案例:真實測試案例,每1分鐘往root家目錄中的RT.txt中輸入~的目錄信息,爲了看到效果使用追加輸出
計劃任務:
/1 * * * * ls ~ >>/root/RT.txt

[root@xia /]# cat /root/RT.txt 
2021-08-08 09:17:31
anaconda-ks.cfg
Desktop
Documents
Downloads
hello.c
initial-setup-ks.cfg
Music
passwd
Pictures
Public
RT.txt
Templates
Videos
wget-log
anaconda-ks.cfg
Desktop
Documents
Downloads
hello.c

crontab權限問題:本身是任何用戶都可以創建自己的計劃任務。
但是超級管理員可以通過配置來設置某些用戶不允許設置計劃任務:
配置文件位於:(黑名單)
/etc/cron.deny 裏面可以寫用戶名一行一個

[root@xia /]# cat /etc/cron.deny 
xia
[root@xia /]# su xia
[xia@xia /]$ crontab -l
You (xia) are not allowed to use this program (crontab)
See crontab(1) for more information
[xia@xia /]$ crontab -e
You (xia) are not allowed to use this program (crontab)
See crontab(1) for more information

還有一個配置文件(白名單)也可在黑名單中取消
/etc/cron.allow //本身不存在自己創建

[root@xia /]# vim /etc/cron.allow
[root@xia /]# cat /etc/cron.allow
xia
[root@xia /]# su xia
[xia@xia /]$ crontab -e
no crontab for xia - using an empty one
crontab: no changes made to crontab
[xia@xia /]$ 

注:白名單的優先級高於黑名單,如果同一用戶即存在與黑名單也存在與白名單,則會默認允許創建作業計劃。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章