考試題
一、.如何查看服務器是否有進程監聽在22號端口以及對應進程的PID進程號?(只查22端口)
ss -ltunp | grep ':20\b' netstat lsof -i:22
二、使用crontab任務計劃,完成:每週三晚上7到9點之間每5分鐘執行一次a.sh的文件?
[root@nfs1 ~]# echo '*/5 19-21 * * */3 /bin/bash a.sh &> /dev/null' >> /var/spool/cron/root[root@nfs1 ~]# crontab -l*/5 19-21 * * */3 /bin/bash a.sh &> /dev/null
三、3.執行ps aux命令後,請解釋 USER, PID, CPU, MEM, VSZ, RSS, TTY, STAT, START, TIME, COMMAND 所代表的含義?
USER:進程的用戶 PID:進程號 CPU:進程CPU消耗百分比 MEM:進程使用的內存百分比 VSZ:進程使用的虛擬內存大小,KB RSS:進程使用的物理內存大小,KB TTY:終端號 STAT:進程當前狀態 TIME:累計使用CPU時間 COMMAND:啓動該進程的程序及參數
四.編寫一個 shell 腳本,每隔3秒檢查一次系統中是否有名爲 hacker 的用戶登錄,若有 則將 hacker 登錄的時間和主機地址信息存放於 /var/log/login.log 文件中,並結束該 shell 腳本。
#用screen啓動會話執行腳本即可[root@nfs1 ~]# cat check.sh #!/bin/bashUSER=harkerwhile true;do if who | grep -q ^${USER};then who | grep ^${USER} >> /var/log/login.log exit 0 fi sleep 3done
五、5. 簡述 CentOS 開機啓動過程?(越詳細越好)
CentOS6 啓動過程: 1.加電自檢(POST)過程 2.加載BIOS程序 3.加載和執行MBR中的Bootloader程序(GRUB:Stage1) 4.Stage1.5:識別文件系統中的grub 和 kernel 文件位置 5.啓動 kernel 6.掛載根文件系統,啓動init進程 7.執行對應的運行級別 8.啓動用戶登錄程序 CentOS7 啓動過程 1.加電自檢(POST)過程 2.加載BIOS程序 3.加載和執行MBR中的Bootloader程序(GRUB:Stage1) 4.Stage1.5:識別文件系統中的grub 和 kernel 文件位置 5.啓動 kernel 6.掛載根文件系統,啓動 /usr/lib/systemd/systemd/default.target 管理的各項服務 7.啓動用戶登錄程序
六、描述/etc/rc.local文件的內容和作用?
# 存放需要開機啓動的程序或腳本 CentOS6:最後執行該文件裏面的內容,默認有執行權限,直接把需要啓動的程序放裏面即可 CentOS7:隨着其他程序一起啓動的(systemd服務是並行執行),默認沒有執行權限,需要自行chmod,建議使用systemd管理
七、使用 awk 統計統計處理以下文件中每種域名出現的次數
http://www.baidu.com/index.html http://www.baidu.com/1.html http://post.baidu.com/index.html http://mp3.baidu.com/index.html http://www.baidu.com/3.html http://post.baidu.com/2.html
[root@nfs1 ~]# awk -F'/' '{DOMAIN[$3]++}END{for(i in DOMAIN)print i,DOMAIN[i]}' test.txt post.baidu.com 2 www.baidu.com 3 mp3.baidu.com 1
八、查找出和當前服務器網絡連接狀態爲 established 的所有 ip 地址, 並將這些地址按升序保存於 /tmp/conips.txt 文件中
[root@nfs1 ~]# ss -Htun | awk -F'[ ]*|:' '{print $7}' | sort -u > /tmp/conips.txt [root@nfs1 ~]# cat /tmp/conips.txt192.168.38.1 192.168.38.149 [root@nfs1 ~]# ss -Htun | awk -F'[ ]*|:' '{IP[$7]++}END{for(i in IP)print i,IP[i]}' | sort -nrk1 > /tmp/conips.txt[root@nfs1 ~]# cat /tmp/conips.txt192.168.38.1 5 192.168.38.149 1
九、 生成自簽名證書"openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -days 3650 -out /etc/pki/CA/cacert.pem",其中-new,-x509,-key,-days,-out分別是什麼含義?
-new 生成新證書籤署請求 -x509 用於CA生成自簽證書 -key 指定私鑰文件 -days 證書有效期 -out 證書輸出文件路徑
十、CentOS7.6 系統中如何禁用 firewalld 服務? 禁用 firewalld 後,請寫出 iptables 規則,要求僅對外開放 TCP 協議的 22 和 80 端口; 配置生效後,如何才能確保系統重啓後自動完成剛纔的 iptables 規則配置?
systemctl stop firewalld && systemcrl disable firewalld iptables -A INPUT -p tcp -m multiport --dport 22,80 -j ACCEPT iptables -A INPUT -j DROP iptables-save > /etc/sysconfig/iptables yum install iptables-services -y systemctl enable iptables
十一、請寫出臨時和永久禁用 selinux 的方法?
setenforce 0 sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
十二、請簡述 vsftp, NFS, SAMBA 三種文件共享技術各自的特點和使用場景。
1、vsftpd ftp協議,客戶端工具較多,用於網絡上文件數據的共享 2、NFS 網絡文件系統,分佈式訪問,文件集中式存儲,常用語linux操作系統,讓訪問網絡文件系統的數據就好像訪問本地一樣 3、samba 實現windows和linux之間文件和打印機的共享,用於局域網內
十三、請簡述 httpd 的三種工作模式以及他們的特點(prefork, worker, Event)。
1、prefork:預派生模式,多進程模型, 有一個主控進程:負責生成子進程及回收子進程;負責創建套接字;負責接收請求,並將其派發給某子進程進行處理; 有多個子進程:每個子進程處理一個請求。 主控進程會預先生成幾個空閒進程,隨時等待用於響應用戶請求 2、worker:多進程多線程模型,每個線程處理一個請求 一個主進程:負責生成子進程;負責創建套接字;負責接收請求,並將其派發給某子進程進行處理; 多個子進程:每個子進程負責生成多個線程; 每個線程:負責響應用戶請求; 3、event:事件驅動模型,多進程模型,每個進程響應多個請求 一個主進程 :負責生成子進程;負責創建套接字;負責接收請求,並將其派發給某子進程進行處理; 子進程:基於事件驅動機制直接響應多個請求;
十五、 CentOS7 系統啓動時如何進入系統救援模式
單用戶模式:方法一:開機按e,linux16那行後寫rd.break,然後control+x(方法有多種,使用前先看下文檔) 光盤救援:光盤啓動->troubleshooting
十六、CentOS7 系統有幾個運行級別? 分別是什麼? 如何將默認運行級別調整爲字符界面?
7個,分別對應CentOS6的init0到init6:關機,單用戶,多用戶模式,圖形界面,重啓 systemctl set-default multi-user.target
十七、CentOS7 系統中 /data/路徑下有大量的 jpg 小圖片文件, 文件名稱都是以 4 位小寫字符加 4 位數字構成的,如圖:
-rw-r--r--. 1 root root 0 May 27 14:44 abcd1234.jpg -rw-r--r--. 1 root root 0 May 27 14:44 abcd1569.jpg -rw-r--r--. 1 root root 0 May 27 14:44 abcd4567.jpg -rw-r--r--. 1 root root 0 May 27 14:45 acft1322.jpg -rw-r--r--. 1 root root 0 May 27 14:45 acft9322.jpg -rw-r--r--. 1 root root 0 May 27 14:45 acft9342.jpg -rw-r--r--. 1 root root 0 May 27 14:44 adec1269.jpg -rw-r--r--. 1 root root 0 May 27 14:45 adec1277.jpg -rw-r--r--. 1 root root 0 May 27 14:44 adec1569.jpg
請編寫一個 shell 或者 python 腳本將文件前四個小寫字符相同的文件移動到以這四個字母爲名字的文件夾中, 如圖
[root@localhost data]# pwd/data [root@localhost data]# [root@localhost data]# tree. ├── abcd │ ├── abcd1234.jpg │ ├── abcd1569.jpg │ └── abcd4567.jpg ├── acft │ ├── acft1322.jpg │ ├── acft9322.jpg │ └── acft9342.jpg └── adec ├── adec1269.jpg ├── adec1277.jpg └── adec1569.jpg 3 directories, 9 files
#創建文件file=' abcd1234.jpg abcd1569.jpg abcd4567.jpg acft1322.jpg acft9322.jpg acft9342.jpg adec1269.jpg adec1277.jpg adec1569.jpg'DIR=/opt/for i in $file;do touch ${DIR}${i}done[root@nfs-backup ~]# bash test.txt#編寫腳本:[root@nfs-backup ~]# cat mv.sh #!/bin/bashDIR=/opt/for i in `ls ${DIR}`;do direname=`echo $i | head -c4` mkdir -p ${DIR}${direname} mv ${DIR}${i} ${DIR}${direname}done[root@nfs-backup ~]# bash mv.sh
十八、使用 shell 腳本完成在一臺 CentOS7 中編譯安裝 httpd2.4.39 和 php7.3.5 的 fpm 模式,實現 httpd 通過 socket 與 fpm 通信, 響應 phpinfo 信息頁面請求
參考:https://blog.51cto.com/14012942/2444580