**************************************
***************selinux的管理************
**************************************
1.基本SELINUX安全性概念
2.顯示及更改SELINUX模式
1.查看)【ps axZ | ps -Zc | ls -Z】
vim /etc/sysconfig/selinux【selinux的配置文件】
(disable:關閉;enforcing:強制;permissive:警告;狀態切換需重啓)
ls -Z XX【查看文件的安全上下文類型】
例如:ps auZ | grep vsftpd
【解釋:如果你開啓起了selinux,並且服務是受到selinux影響的,比如像vsftpd這種服務(基本網絡服務大部分都會受影響),比如你可以查看/var/frp/pub/下的文件,但是 你如果在/mnt下建立文件,並且mv到/var/ftp/pub下,你lftp後,查看/pub/下的文件,是找不到你在/mnt下建立的文件的。這就是因爲目錄和文件‘安全上下文’類型不一樣。】
2.更改)
1)臨時更改(修改selinux配置文件重啓的話,文件類型會自動修改爲目錄默認的‘安全上下文類型’,如果相同就可以訪問,不同就還需要修改爲相應的類型)
chcon -t public_conten_t /vat/ftp/pub -R【將pub下的所有文件安全上下文類型更改爲‘public_content_t’,這樣你就可以查看了】
chcon --reference=/etc/passwd /var/www/html/index.html 【以某個文件作爲模板(/etc/passwd)修改文件(/are/www/html/index.html)的‘安全上下文’】【執行restorecon刷新後還原‘安全上下文’】
2)永久修改(重啓selinux配置文件,會自動讀取你爲修改的目錄所添加的‘安全上下文’類型。)
semanage fcontext -l | grep ftpdir 【例子:查看ftpdir目錄的默認‘安全上下文’類型】
semanage fcontext -a -t public_content_t '/ftpdir(/.*)?' 【-a:所有的;-t:修改的類型;後面是固定常用的擴展正則表達式是'(/.*)?'】
restorencon -RvvF /ftpdir/ 【將下列文件以及目錄修改,並且將顯示到屏幕上】【-R:連同子目錄一起修改;-v顯示到屏幕上;-F將此‘安全上下文類型’載入默認型。
3)修改sebool(selinux的布爾值)【這個改了,想開什麼開什麼,暢通無阻】
getsebool -a | grep ftp【查看ftp服務的sebool信息】
setsebool -P ftpd_anon_write on 【打開ftp服務寫入的功能,這樣以來你手動調整setenforce 1|0 就不會影響你所用的服務的功能了,-P表示:直接將設置寫入配置文件】
3.監控 SElinux 衝突
*必須安裝 setroubleshoot-server 軟件包,才能將SELinux 消息發送至 /var/log/messages
*etroubleshoot-server 偵聽/var/log/audit/audit.log 中的審覈信息並將簡短摘要發送至 /var/log/messages
*摘要包括SElinux 衝突的唯一標識符(UUIDs),可用於收集更多信息。Sealert -l UUID用於生成特定事件的報告。
Sealert -a /var/log/audit/audit.log 用於在該文件中生成所有事件的報告。
***************************************
***************系統恢復*****************
***************************************
1.系統啓動流程
通電
||
bios(主板上的只讀存儲中,basic input op output system)
作用,硬件檢測,激活硬件
||
grup系統引導(grub引導分爲兩個階段)
1)階段1 mbr(主引導記錄)主引導記錄在硬盤上的0磁道,一扇區,446個字節
*)dd if=/dev/zero of=/dev/vda bs=446 count=1 清空mbr
*)進入到挽救模式,執行chroot /mnt/sysp_w_picpath切換到真實/環境,
並執行grub2-install /dev/vda
2)階段2 grub文件引導階段
找到/boot分區
讀取/boot/grub2/grub.cfg
文件丟失,grub2-mkconfig > /boot/grub2/grub.cfg
【測試】在正常進入的時候,選項界面,你按C進入手動引導,輸入如下(不正常的情況就是直接進入C的情況)
set root='hd0,msdos1'【這個地址點,你可以先在文件中grub.cfg中查看】
linux16 /boot/vmliunz-3.10.0-123.e17.x86_64 ro root/dev/vda1
initrd16 /boot/initramfs-3.10.0-123.e17.x16_64.img
boot
||
啓動內核,只讀掛載/設備
檢測設備
對設備驅動進行初始化
進入系統初始化階段
內核丟失,從新安裝內核安裝包可以解決
rpm -ivh kernel-XXXXXX.rpm --force
||
系統初始化階段
系統初始化階段加在initrd鏡像
開始初始化進程systemd
開始selinux
加在內核參數
初始化系統時鐘,鍵盤,主機名稱
重新讀寫掛載/設備
激活raid,lvm
激活配額
啓動multi-user.target.wants中的所有服務
開啓虛擬控制檯
啓動圖形
initramfs-`uname -r`.img丟失用:
mkinitrd initramfs-`uname -r`.img `uname -r`
在緊急救護模式 可以使用 mkinitrd /boot/initramfs-$(uname -r).img $(uname -r),使得丟失的文件(initranfs-3.10-123.e17.x86_64.img)文件生成。
恢復
【開機默認選擇(以0開始爲第一個)】
grub2-set-default <序號>
【手動引導進入字符編輯頁面】
*)進入編輯啓動項(可寫)【在選擇啓動項時,按c(界面有提示)。進入,將fi下的linux16 。。。 找到ro,從這裏起刪除後面的並該爲:rw rd.break;Ctrl+x,重新載入後會得到一個shell,進入你自己的shell(chroot /sysroot),開始修改你所要修改的內容】
1,管理員密碼被篡改)
passwd(更改密碼)
*)/.autorelable【重新載入系統更改配置,例如:實驗是在不知道密碼的情況下,在救護模式手動更改密碼。在更改完密碼後,touch /.autorelable,不然這個更改也許不成功,這和(selinux)防護有關。】
【不要問我這張圖爲什麼這麼清晰。—.—,我第一次發現,截圖工具全屏截下來的圖片很高清啊】
2.bash被刪除【你將進入不了自己的bash,執行不料chroot /sysroot】【首先進入救護模式下】
cp /bin/bash/mnt/sysp_w_picpath/bin/bash【bash丟失,你將救護模式下的bash複製到你的本機下,就可以了】
【*理解並熟悉關於控制系統服務開機啓動的文件multi-user.target.wants*】
當系統設定服務開機啓動時,其實是將你所啓動的服務,用一個軟鏈接,連接到開機自動讀取文件上,
1)例如 開機自啓動vsftpd服務,實則是:ln -s /usr/lib/systemd/system/vsftpd.service /etc/systemd/system/multi-user.target.wants/這個文件中。【如果你刪掉它,服務開機就重起了】
2)當系統開啓時會自動加載/etc/systemd/system/default.target,一般有圖形的機子,這個默認鏈接是連接到圖形界面的文件的(/usr/lib/systemd/system/graphical.target.wants/),如果你把它連到reboot上,你的機子就重啓阿重啓,哈哈,那就完了。 開玩笑的,【解決辦法:就是手動引導進入可編寫模式下,刪掉這個鏈接地址,把它換成圖形開啓界面】