無論是運維仍是開發系統的瞭解下Linux或者系統的溫習整理一下Linux知識點無疑是較好的,這篇文章是對RHCSA&RHCE實驗進行一個彙總,是我爲了作實驗方便(並分享給朋友)的一篇文章。html
系統版本:Centos7python
虛擬環境:文章下方linux
一、看下第一個實驗的例子,其實要是重置密碼步驟:第一步幹了什麼、第二步幹了什麼也是能夠重置密碼的(僅僅是作好這個實驗而已)web
二、拿第一個實驗例子舉例,作完實驗看下總結shell
實驗成果說明:vim
一、在忘記root密碼的狀況下如何恢復root密碼centos
二、恢復root密碼爲redhat瀏覽器
實驗前環境初始化:緩存
一、重置server系統:rht-vmctl reset server安全
二、打開GUI(圖形頁面):rht-vmctl view server
三、在servser上執行命令初始化環境:lab rootpw setup
具體實驗步驟:
1、重啓操做系統,而後在啓動加載器菜單中終端倒計時 1.1. 使用相關按鈕或菜單項向系統發送Ctrl+Alt+Del 1.2. 在顯示啓動加載器菜單後,按任意鍵中斷倒計時 2、編輯默認的啓動加載器條目,使其在剛剛掛載全部文件系統後、但在控制權移交給systemd前終止啓動過程,而後在進行啓動 2.1. 使用光標鍵突出顯示默認的啓動加載條目 2.2. 按e編輯當前條目 2.3. 使用光標鍵導航到以linux16開頭的哪一行 2.4. 按End將光標移至行尾 2.5. 將rd.break附加到行未 2.6. 按Ctrl+x 使用修改後的配置進行啓動 # 這裏能夠理解爲自己linux有個微系統,尚未加載咱們正式系統 # 以讀寫的形式從新掛載咱們的正式系統所在的分區 # 在執行命令chroot從微系統切換至正式系統 3、在swich_root提示中,以只讀的形式從新掛載/sysroot文件systemd,而後使用chroot進入/sysroot中的chroot存放文職 swich_root:/# mount -o remount,rw /sysroot swich_root:/# chroot /sysroot 4、修改密碼 sh-4.2# passwd root 或者 sh-4.2# echo redhat |passwd --stdin root 5、將系統配置爲在啓動後自動執行完整的SElinux從新標記,因爲passwd工具從新建立了不帶SElinux上下文的/etc/shadow文件(當前SElinux並無加載)因此這頗有必要 sh-4.2# touch /.autorelabel 6、執行兩次exit退出 6.1. 提示重啓的時候SElinux從新標記須要花點時間稍等一下就好下次就沒問題了 7、執行命令驗證 [root@server0 ~]# lab rootpw grade
實驗總結:
一、首先要明白整個啓動過程
二、瞭解了啓動過程再看下上圖備註
2.一、備註1
咱們在進入到grub2加載器菜單按:"e" 進入加載項編譯模式
按:「e」進入後找到內核加載項以:linux16 /boot/vmlinuz 開頭在行尾加上:rd.break 告訴gurb2在這裏停下
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 root=UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 ro vconsole.keymap=us console=tty0 console=ttyS0,115200n8 crashkernel=auto vconsole.font=latarcyrheb-sun16 LANG=en_US.UTF-8 console=tty1
修改後
linux16 /boot/vmlinuz-3.10.0-123.el7.x86_64 root=UUID=9bf6b9f7-92ad-441b-848e-0257cbb883d1 ro vconsole.keymap=us console=tty0 console=ttyS0,115200n8 crashkernel=auto vconsole.font=latarcyrheb-sun16 LANG=en_US.UTF-8 console=tty1 rd.break
2.二、備註2
根據咱們修改後grub2 會還未向實際的系統移交控制權限前停下
咱們實際恢復root密碼的操做是在這裏操做的
實驗成果說明
在本實驗中,您將定義默認的密碼策略,建立包含三個新用戶的補充組,以及修改一個用戶的密碼策略
一、在 server 上有一個名爲 consultants 的新組,三個新用戶: sspade bboop dtracy
二、 全部新莊戶都應該要求在首次登陸時更改密碼,而且以後每 30 天進行更改
三、新的顧問帳戶應當在 90 天合同到期,bboop 帳戶必須每 15 天更改一次密碼
實驗詳細需求
開始重置您的 server 系統 : rht-vmctl reset server
一、確保新建立的用戶具備必須每 30 天修改一次密碼
二、新建一個名爲: consultants 、GID 爲 40000 的組
三、建立三個用戶: sspade bboop dtracy 密碼爲: default ,而且將他們添加到補充組 consultants 中,主組應當保留爲用戶的專用組
四、肯定將來 90 天后的日誌,並將新用戶均設置爲在該日期到期
五、更改 bboop 帳戶的密碼策略,使其 15 天要求建立新密碼
六、此外強制全部用戶在首次登陸時更改密碼
七、完成後運行: lab localusers grade 評估這次實驗結果
具體實驗步驟
1. 確保新建立的用戶具備必須每 30 天修改一次密碼 1.1 這個需求是對登陸用戶,針對的是全部用戶考慮下login配置文件:/etc/login.defs # PASS_MAX_DAYS Maximum number of days a password may be used. PASS_MAX_DAYS 99999 修改成:PASS_MAX_DAYS 99999 2. 新建一個名爲: consultants 、GID 爲 40000 的組 2.1. groupadd consultants -g 40000 2.2. 驗證 cat /etc/group 3. 建立三個用戶: sspade bboop dtracy 密碼爲: default ,而且將他們添加到補充組 consultants 中,主組應當保留爲用戶的專用組 這個需求咱們能夠useradd name 而後在passwd修改密碼咱們取巧用for循環搞下 3.1. 執行命令 # stdin 能夠從標準輸入獲取密碼就不須要以交互的形式去修改密碼了 for i in sspade bboop dtracy; do useradd $i -G consultants; echo default |passwd $i --stdin ; done 3.2. 驗證 新用戶已添加: cat /etc/passwd 附加組已生效: cat /etc/group # 效果相似:consultants:x:40000:sspade,bboop,dtracy 用戶默認30天修改一次密碼: chage -l xxxx 4. 肯定將來 90 天后的日誌,並將新用戶均設置爲在該日期到期 這個地方注意的是如何獲取90天后的日誌,並確認90天后的日誌而後修改用戶 4.1. 先經過: date -d "+90day" 獲取90天后的日期 4.2. 在確認: cal -y 獲取日曆年份表根據這個對照 4.3. 在修改: for i in sspade bboop dtracy; do chage -E "2019-09-30" $i ; done 4.4. 驗證: chage -l sspade 看:Account expires 帳號到期時間 5. 更改 bboop 帳戶的密碼策略,使其 15 天要求建立新密碼 這需求就是設定用戶多久修改一次密碼,單獨說一個用戶的話 5.1. chage bboop -M 15 5.2. 驗證 [root@server0 ~]# chage -l bboop Last password change : Jul 01, 2019 Password expires : Jul 31, 2019 Password inactive : never Account expires : Sep 30, 2019 Minimum number of days between password change : 0 Maximum number of days between password change : 30 Number of days of warning before password expires : 7 [root@server0 ~]# chage bboop -M 15 [root@server0 ~]# chage -l bboop Last password change : Jul 01, 2019 Password expires : Jul 16, 2019 Password inactive : never Account expires : Sep 30, 2019 Minimum number of days between password change : 0 Maximum number of days between password change : 15 # 這裏從配置文件新用戶建立30天修改一次密碼改爲了15天修改一次 Number of days of warning before password expires : 7 6. 此外強制全部用戶在首次登陸時更改密碼 6.1 執行命令+驗證 # 以前 [root@server0 ~]# chage -l bboop Last password change : Jul 01, 2019 Password expires : Jul 16, 2019 Password inactive : never Account expires : Sep 30, 2019 Minimum number of days between password change : 0 Maximum number of days between password change : 15 Number of days of warning before password expires : 7 # 執行命令: for i in sspade bboop dtracy; do chage $i -d 0 ; done # 以後 [root@server0 ~]# chage -l bboop Last password change : password must be changed # 這裏都改爲必須修改密碼了 Password expires : password must be changed # 這裏都改爲必須修改密碼了 Password inactive : password must be changed # 這裏都改爲必須修改密碼了 Account expires : Sep 30, 2019 Minimum number of days between password change : 0 Maximum number of days between password change : 15 Number of days of warning before password expires : 7 7. 完成後運行: lab localusers grade 評估這次實驗結果 整體驗證: lab localusers grade
實驗總結:
一、密碼過時概念
二、每一個概念對應的參數
實驗成果說明
在本實驗中您將配置包含供用戶協做使用的目錄的系統
- server 擁有一個名爲 /home/stooges 的目錄,如下三個用戶能夠在該目錄中協做處理文件
- 只有用戶和組能夠在 /home/stooges 中訪問、建立和刪除文件。在此目錄中建立的文件自動被分配到 stooges 的組全部權
- 用戶建立新文件不能夠由族外的人員訪問
實驗詳細需求
開始前重置您的 server 系統,並執行: lab permissions setup
您的 server 計算機有三個帳戶: curly larry moe 這些帳戶是名爲 stooges 的組的成員
一、打開終端窗口在 server 上成爲 root 用戶
二、建立 /home/stooges 目錄
三、在 /home/stooges 目錄中更改組權限,使其屬於 stooges 組
四、對 /home/stoogs 目錄設置權限,以是 GID 位置目錄(2)、全部者(7)、和組(7)具備徹底讀取,其餘用戶沒有權限(0)
五、檢查是否正確設置權限
六、修改全局登陸腳本,使普通用戶擁有一個 umask 設置,該設置將阻止其餘人查看或者修改新的文件和目錄
七、完成時 ----打開一個新的終端---- 運行: lab permissions grade 來驗證明驗結果
實驗詳細步驟
1. 打開終端窗口在 server 上成爲 root 用戶 2. 建立 /home/stooges 目錄 2.1. mkdir /home/stooges 2.2. 驗證 ls /home 3. 在 /home/stooges 目錄中更改組權限,使其屬於 stooges 組 3.1. chown :stooges /home/stooges 3.2. 驗證 ll -d /home/stooges 4. 對 /home/stoogs 目錄設置權限,以是 GID 位置目錄(2)、全部者(7)、和組(7)具備徹底讀取,其餘用戶沒有權限(0) 4.1. chmod 2770 /home/stoogs 4.2. 驗證 ls -d /home/stooges drwxrws---. 2 root stooges 6 Jul 2 11:17 /home/stooges 5. 檢查是否正確設置權限 5.1. 驗證 ls -d /home/stooges drwxrws---. 2 root stooges 6 Jul 2 11:17 /home/stooges 6. 修改全局登陸腳本,使普通用戶擁有一個 umask 設置,該設置將阻止其餘人查看或者修改新的文件和目錄 6.1 兩個文件 /etc/profile /etc/bashrc 找到umask項目而後修改成 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 007 else umask 027 fi 7. 完成時 ----打開一個新的終端---- 運行: lab permissions grade 來驗證明驗結果 驗證: lab permissions grade
實驗總結:
一、正常的權限不須要特別的記: r:w:x 對應數字:4:2:x
二、默認的權限:file 644 dir 755
三、特殊權限須要理解下:
特殊權限 | 對文件的影響 | 對目錄的影響 |
u+s(suid) | 以擁有文件的用戶身份,而不是運行文件的用戶身份執行:例子(ls -l //bin/passwd) | 無~ |
g+s(sgid) | 以擁有文件組的身份執行文件 | 在目錄中最新建立的文件將其組全部者設置爲惡目錄的組全部者相匹配 |
o+t(sticky) | 無~ | 對目錄具備寫write權限的用戶能夠刪除其全部用的文件,而沒法刪除或強制保存到其餘用戶所擁有的文件 例子:ls -ld /tmp |
特殊權限也能夠用數值表示(從右往左數第4位):
setuid=4 setgid=2 sticky=1
給文件增長特殊的S權限:
[root@server0 ~]# chmod 4666 file [root@server0 ~]# ls -l file -rwSrw-rw-. 1 root root 0 Jul 3 16:36 file [root@server0 ~]#
給目錄增長特殊權限s
[root@server0 ~]# ls -ld dir drwxr-xr-x. 2 root root 6 Jul 3 16:57 dir [root@server0 ~]# chmod 2755 dir [root@server0 ~]# ls -ld dir drwxr-sr-x. 2 root root 6 Jul 3 16:57 dir [root@server0 ~]#
給目錄增長t權限t
[root@server0 ~]# ls -ld dir2 drwxr-xr-x. 2 root root 6 Jul 3 16:59 dir2 [root@server0 ~]# chmod 1755 dir2 [root@server0 ~]# ls -ld dir2/ drwxr-xr-t. 2 root root 6 Jul 3 16:59 dir2/ [root@server0 ~]#
四、umask 修改默認文件和目錄的權限
咱們touch 一個文件會發現它的權限是:644 -rw-r--r--
咱們mkdir 一個目錄會發現他的全顯示:755 drwxr-xr-x
你所看的文件和目錄的默認權限實際上不是它最大的默認權限
文件的最大默認權限是: 666 -rw-rw-rw-
目錄的最大默認權限是: 777 drwxrwxrwx
由於在系統中每個進程都具備umask,它的做用就是清除該進程建立的新文件和目錄的指定權限
執行命令:umask 會看到當前的權限
[root@server0 ~]# umask 0022 [root@server0 ~]#
上面那一串的意思:在最大默認權限上作減法
# umask計算後的文件的默認權限(減去2=減去寫權限) 0666 0022 - ------ 0644 # umask計算後的目錄的默認權限(減去2=減去寫權限) 0777 0022 - ------ 0755
舉個例子:我想建立的目錄和文件other用戶什麼權限也沒有怎麼辦?實際上就是減去other權限位的:讀、寫、執行權限
[root@server0 ~]# umask 027 # 若是寫三位默認特殊權限位爲0 [root@server0 ~]# umask 0027 [root@server0 ~]# touch 1 [root@server0 ~]# mkdir dir [root@server0 ~]# ll total 0 -rw-r-----. 1 root root 0 Jul 3 17:15 1 drwxr-x---. 2 root root 6 Jul 3 17:15 dir [root@server0 ~]#
實際使用的永久修改的話:echo "umask 0027" > /etc/profile.d/default_umask.sh 就行每次登錄就會加載default_umask.sh
可是這個實驗想pass須要修改:/etc/bashrc /etc/profile 的umask配置
# By default, we want umask to get set. This sets it for login shell # Current threshold for system reserved uid/gids is 200 # You could check uidgid reservation validity in # /usr/share/doc/setup-*/uidgid file if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002 else umask 022 fi
寫在開頭吧:就是對基本的文件權限體系的一個加強,基本文件體系天單一了:只有文件所屬人、文件所屬組、其餘權限 在外加3個特殊權限
實驗成果說明:
在本實驗中您將更新協做目錄,將添加ac使其具備適當的權限,同時限定特定的用戶和組
實驗詳細需求:
開始重置您的 server 系統 : rht-vmctl reset server 並在server系統上執行: lab acl setup
執行lab acl setup 會在/shares/ 目錄下初始化目錄,並初始化linux用戶信息
需求:
1 case目錄及其內容應該屬於組 bakerstreet 。新增至 cases 目錄中的文件應自動屬於組 bakerstreet 。現有文件應針對用戶和組設置爲rw(提示:切勿使用setfacl)
2 將 ACL添加至 cases 目錄 (及其內容),以容許 scotlandyard 組成員具備文件的 讀取/寫入權限 以及目錄的執行權限。限制用戶 jones 使其只具備文件的讀取權限和目錄的執行權限
3 添加ACL以確保 cases 目錄中的任何新文件或者目錄均針對全部受權用戶和組應用了正確權限
4 驗證您已經正確更改了ACL和文件系統(驗證步驟,若是對本身操做有信心能夠直接指定第5步驗證)
4.1 使用 ls 和 getfacl 檢查 /shares/cases 上的設置
4.2 切換用戶爲:holmes 和 lestrade 驗證可以寫入文件、讀取文件、建立目錄以及對新目錄的文件執行寫操做
4.3 切換用戶爲 jones 嘗試寫一個文件(應該會失敗)而且嘗試建立新目錄(應該會失敗)。使用 jones 用戶應該能夠讀取cases目錄中的 adventures.txt 以及讀取在 holmes 或 lestrade 新建目錄中所編寫的「測試」 文件
5 在server上執行命令: lab acl grade 進行驗證
實驗詳細步驟:
# 1 # case目錄及其內容應該屬於組 bakerstreet chown -R :bakerstreet cases # 新增至 cases 目錄中的文件應自動屬於組 bakerstreet chmod g+s cases # 現有文件應針對用戶和組設置爲rw(提示:切勿使用setfacl) chmod 660 cases/* # 2 # 將 ACL添加至 cases 目錄 (及其內容),以容許 scotlandyard 組成員具備文件的 讀取/寫入權限 以及目錄的執行權限 setfacl -Rm g:scotlandyard:rwX cases # 限制用戶 jones 使其只具備文件的讀取權限和目錄的執行權限 setfacl -Rm u:jones:rX cases # 3 # 添加ACL以確保 cases 目錄中的任何新文件或者目錄均針對全部受權用戶和組應用了正確權限 # 這句話可能有點繞,確保cases目錄中的任何「」新文件「」 也就是默認權限須要注意下 setfacl -d -Rm g:scotlandyard:rwX cases setfacl -d -Rm u:jones:rX cases # 4 # 查看結果對比 [root@server0 shares]# ll -d cases drwxrws---+ 4 root bakerstreet 113 7月 12 06:29 cases [root@server0 shares]# ll cases/ 總用量 32 -rw-rw----+ 1 root bakerstreet 22 7月 12 06:29 adventures.txt -rw-rw----+ 1 root bakerstreet 8 7月 12 06:29 do_NOT_delete.grading.txt drwxrws---+ 2 gregson bakerstreet 21 7月 12 06:29 gregson.dir -rw-rw----+ 1 root bakerstreet 38 7月 12 06:29 moriarty.txt drwxrws---+ 2 watson bakerstreet 21 7月 12 06:29 watson.dir [root@server0 shares]# [root@server0 shares]# [root@server0 shares]# getfacl cases # file: cases # owner: root # group: bakerstreet # flags: -s- user::rwx user:jones:r-x group::rwx group:scotlandyard:rwx mask::rwx other::--- default:user::rwx default:user:jones:r-x default:group::rwx default:group:scotlandyard:rwx default:mask::rwx default:other::--- 使用文件ACL控制對文件的訪問權限 詳細步驟
實驗總結:
1 默認也有acl屬性
文件或目錄acl權限,其實就是對現有權限不足的一個擴展 默認他也是有acl屬性的 [root@server0 shares]# ll 總用量 4 drwxrwx---. 2 root root 78 7月 12 05:48 cases drwxrws---+ 3 root controller 92 7月 12 05:48 steamies [root@server0 shares]# getfacl cases # file: cases # owner: root # group: root user::rwx group::rwx other::--- [root@server0 shares]# pwd /shares [root@server0 shares]#
二、應用acl後文件權限項後面有個加號,標識啓用了acl
# 當咱們給他們添加了acl屬性後看下 # drwsrws---+ 在權限這裏有個:"+" 對比以前是 drwxrwx---. 當有個加號的時候標記這個文件或目錄已經應用了acl [root@server0 shares]# ll drwsrws---+ 3 shuai controller 100 Jul 10 16:42 steamies
三、acl優先級
3.1 首先注意一點acl包含了現有權限,它能夠理解爲現有權限的擴展,當咱們啓用了acl以後看acl的權限便可 3.2 acl掩碼概念 ..... mask::rwx # 這一行就是掩碼掩碼規定了:指定用戶、指定用戶組、組 的最大權限 ..... 3.2.1 能夠理解爲什麼umask差很少的概念它:定義了程序運行的最大權限 3.2.2 文件屬主(文件的用戶)、other 不受掩碼限制 3.2.3 acl指定的用戶、acl指定用戶組、用戶組、受掩碼限制 ,不過還蠻友善的給出你通過mask降級後的實際權限(#effective:xxx) 例子: [root@server0 shares]# getfacl test # file: test # owner: watson # group: bakerstreet user::rwx user:james:rwx #effective:rw- group::rwx #effective:rw- group:scotlandyard:rwx #effective:rw- mask::rw- other::r-x 3.3 例子運行匹配 若是以文件全部者watson身份執行則調用:(文件用戶ACL權限) 且不受掩碼限制 user::rwx 若是以指定用戶ACL條目中列出的用戶身份運行,則應用指定用戶權限 例如:用james 執行文件就應用:user:james:rwx 權限 前提掩碼也的有權限: mask::rwx 容許 若是掩碼是沒有權限: mask::rw- 那麼user:james:rwx 的最大權限就自動降爲rw- 若是以文件組全部者相匹配的組身份運行或者以ACL條目中列出的指定用戶組運行,則應用相應匹配的ACL 例如用: 文件所屬組 bakerstreet 這個組運行 那麼就應用:group::rwx 權限 前提掩碼也的有可執行權限:mask::rwx 容許 若是掩碼是沒有可執行權限:mask::rw- 那麼 bakerstreet 這個組不容許執行 或用ACL列表中指定的組: group:scotlandyard:rwx 運行就應用: group:scotlandyard:rwx 權限 前提掩碼也的有可執行權限:mask::rwx 容許 若是掩碼是沒有可執行權限:mask::rw- 那麼 scotlandyard 這個組不容許執行 # 不然應用文件的other權限,且不受掩碼限制
實驗成果說明:
說明:在本實驗中您將使用yum安裝和更新選定的軟件包
成功:系統上安裝新的和更新軟件包
實驗詳細需求:
開始重置您的 server 系統 : rht-vmctl reset server
需求:
1 建立文件:/etc/yum.repos.d/errata.repo,以啓用在 content 計算機上找到的"更新"存儲庫。它應該訪問在一下的 URL 中找到:http://content.example.com/rhel7.0/x86_64/errata ,且不要檢查 GPG 簽名
2 將 server 配置爲遵循很是具體的軟件要求,它必須安裝有一下軟件包的最新版本。請勿安裝全部更新。僅安裝列出的軟件包更新(若是這些更新可用)
3 當您準備好檢查您的工做時,請在 server 上運行 lab software grade
實驗詳細步驟
1 添加配置 vim /etc/yum.repos.d/errata.repo [errata] name=errata baseurl=http://content.example.com/rhel7.0/x86_64/errata gpgcheck=0 2 安裝要求的包 yum -y install xsane-gimp rht-system 3 卸載需求須要卸載的包 yum remove -y wvdial 4 驗證 lab software grade
實驗總結:
一、yum源baseurl指定的目標是什麼
無論是Centos仍是RedHat咱們要找一個目錄,這個目錄包含兩個文件目錄: - Packages (這個是實際倉庫存的東西) - repodata (這個目錄是這個yum倉庫的清單信息它裏面包含了這個庫裏都有啥) # 通常Centos的(Packages和repodata)在這個路徑下,那麼baseurl=http://mirrors.aliyun.com/centos/7/os/x86_64/ # redhat同理 http://mirrors.aliyun.com/centos/7/os/x86_64/ # baseurl能夠寫成變量 http://mirrors.163.com/centos/$releasever/os/$arch/ $releasever 這個變量是來自於centos-release包的Version字段 大系統版本 $arch 這個變量是來自於centos-release包的Architecture字段 CPU架構 [xxxxxxx ~]# rpm -qi centos-release Name : centos-release Version : 7 Release : 4.1708.el7.centos Architecture: x86_64 Install Date: Fri 03 Nov 2017 07:06:08 PM CST Group : System Environment/Base Size : 37949 License : GPLv2 Signature : RSA/SHA256, Thu 31 Aug 2017 12:04:53 AM CST, Key ID 24c6a8a7f4a80eb5 Source RPM : centos-release-7-4.1708.el7.centos.src.rpm Build Date : Wed 30 Aug 2017 11:53:09 PM CST Build Host : c1bm.rdu2.centos.org Relocations : (not relocatable) Packager : CentOS BuildSystem <http://bugs.centos.org> Vendor : CentOS Summary : CentOS Linux release file Description : CentOS Linux release files
二、gpgcheck=0 或者1
先了解什麼是gpgcheck它是一種數字簽名檢查,若是啓用gpg驗證,yum install的時候就會拿着這個這個簽名驗證你是否安裝的是正確的包而不是第三方修改過或者和黑客修改後的包
通常在Packages、repodata目錄所在的同級別目錄中有一個:RPM-GPG-KEY-CentOS-7 下載並在配置文件制定下載後的文件路徑:gpgkey=file:///etc/pki/rpm-gpg/xxxxxx,而後就能夠啓用驗證了gpgcheck=1
實驗成果說明:
在此實驗中,您將根據現有邏輯卷大小,同時根據須要添加LVM資源,而後添加一個新的邏輯卷,該邏輯卷帶有永久掛載的XFS文件系統
實驗詳細需求:
開始重置您的 server 系統 : rht-vmctl reset server 並在server系統上執行: lab lvm setup
一、在/dev/vdb上建立 512 Mib分區,將其初始化爲物理卷,而後使用他來擴展finance卷組
二、將loans邏輯卷擴展到 768 Mib,包括文件系統
三、在現有卷組中,建立名爲 risk 且大小爲 128 MiB的一個新邏輯卷,添加XFS文件系統,並將其掛於 /finance/risk
四、完成工做後從新啓動 server計算機,而後從server計算機運行命令: lab lvm grade 驗證
實驗詳細步驟:
1、在/dev/vdb上建立 512 Mib分區,將其初始化爲物理卷,而後使用他來擴展finance卷組 # 先建立一個LVM的分區,類型選擇:8e fdisk /dev/vdb /dev/vdb1 2048 1050623 524288 8e Linux LVM /dev/vdb2 1050624 2074623 512000 8e Linux LVM # new # 執行命令 partprobe 分區檢索,不然檢索不到新分區 partprobe # 轉換爲pv物理卷 [root@server0 ~]# pvcreate /dev/vdb2 Physical volume "/dev/vdb2" successfully created # 擴展卷組 [root@server0 ~]# vgextend finance /dev/vdb2 Volume group "finance" successfully extended # 邏輯卷是在卷組基礎上建立的,擴展邏輯卷 [root@server0 ~]# lvextend -L 786M /dev/finance/loans Rounding size to boundary between physical extents: 788.00 MiB Extending logical volume loans to 788.00 MiB Logical volume loans successfully resized [root@server0 ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert loans finance -wi-ao---- 788.00m [root@server0 ~]# 2、將loans邏輯卷擴展到 768 Mib,包括文件系統 # 擴容文件系統 [root@server0 ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/vda1 10G 3.0G 7.1G 30% / devtmpfs 906M 0 906M 0% /dev tmpfs 921M 80K 921M 1% /dev/shm tmpfs 921M 17M 904M 2% /run tmpfs 921M 0 921M 0% /sys/fs/cgroup /dev/mapper/finance-loans 253M 13M 240M 6% /finance/loans [root@server0 ~]# xfs_growfs /finance/loans meta-data=/dev/mapper/finance-loans isize=256 agcount=4, agsize=16384 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 data = bsize=4096 blocks=65536, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal bsize=4096 blocks=853, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 65536 to 201728 [root@server0 ~]# df -h 文件系統 容量 已用 可用 已用% 掛載點 /dev/vda1 10G 3.0G 7.1G 30% / devtmpfs 906M 0 906M 0% /dev tmpfs 921M 80K 921M 1% /dev/shm tmpfs 921M 17M 904M 2% /run tmpfs 921M 0 921M 0% /sys/fs/cgroup /dev/mapper/finance-loans 785M 14M 772M 2% /finance/loans 3、在現有卷組中,建立名爲 risk 且大小爲 128 MiB的一個新邏輯卷,添加XFS文件系統,並將其掛於 /finance/risk # 建立新邏輯卷 [root@server0 ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert loans finance -wi-ao---- 788.00m [root@server0 ~]# lvcreate finance -L 128M --name risk Logical volume "risk" created [root@server0 ~]# lvs LV VG Attr LSize Pool Origin Data% Move Log Cpy%Sync Convert loans finance -wi-ao---- 788.00m risk finance -wi-a----- 128.00m # 格式化爲xfs文件系統 [root@server0 ~]# mkfs.xfs /dev/finance/risk meta-data=/dev/finance/risk isize=256 agcount=4, agsize=8192 blks = sectsz=512 attr=2, projid32bit=1 = crc=0 data = bsize=4096 blocks=32768, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=0 log =internal log bsize=4096 blocks=853, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 # 建立掛載點並修改fstab [root@server0 ~]# mkdir -p /finance/risk [root@server0 ~]# vim /etc/fstab # 新增 /dev/finance/risk /finance/risk xfs defaults 0 0 4、完成工做後從新啓動 server計算機,而後從server計算機運行命令: lab lvm grade 驗證 lab lvm grade
實驗總結:
一、LVM邏輯圖
二、比較不錯的實踐
系統盤:RAID 1 /dev/sda
數據盤:RAID5 /dev/sdb 用sdb建立LVM分區-->建立物理卷-->把物理卷加入到卷組-->建立N個邏輯卷
實驗成果說明:
建立並啓用swap分區
實驗詳細需求:
一、建立1個500M的swap交換分區
實驗詳細步驟:
1、建立SWAP類型的分區 # 建立分區並設置分區類型爲swap [root@server0 ~]# fdisk /dev/vdb 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標識符 0x78cd0f7c 建立新的 DOS 磁盤標籤。 命令(輸入 m 獲取幫助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分區號 (1-4,默認 1): 起始 扇區 (2048-20971519,默認爲 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-20971519,默認爲 20971519):+500M 分區 1 已設置爲 Linux 類型,大小設爲 500 MiB 命令(輸入 m 獲取幫助):t 已選擇分區 1 Hex 代碼(輸入 L 列出全部代碼):82 已將分區「Linux」的類型更改成「Linux swap / Solaris」 命令(輸入 m 獲取幫助):p 磁盤 /dev/vdb:10.7 GB, 10737418240 字節,20971520 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標籤類型:dos 磁盤標識符:0x78cd0f7c 設備 Boot Start End Blocks Id System /dev/vdb1 2048 1026047 512000 82 Linux swap / Solaris 命令(輸入 m 獲取幫助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。 # 分區檢索 [root@server0 ~]# partprobe # 初始化爲swap分區 [root@server0 ~]# mkswap /dev/vdb1 正在設置交換空間版本 1,大小 = 511996 KiB 無標籤,UUID=b5751a60-e080-4cbd-9fda-14cba16041d7 2、新增fstab掛載 # 獲取分區UUID [root@server0 ~]# blkid /dev/vda1: UUID="9bf6b9f7-92ad-441b-848e-0257cbb883d1" TYPE="xfs" /dev/vdb1: UUID="b5751a60-e080-4cbd-9fda-14cba16041d7" TYPE="swap" # 新增掛載配置 [root@server0 ~]# vim /etc/fstab UUID=b5751a60-e080-4cbd-9fda-14cba16041d7 swap swap defaults 0 0 # 測試激活交換分區 [root@server0 ~]# free -m total used free shared buffers cached Mem: 1841 550 1290 16 0 246 -/+ buffers/cache: 302 1538 Swap: 499 0 499 # 重啓測試交換分區還存在
實驗總結:
一、什麼是SWAP分區
一個進程啓動須要相應的物理內存空間,當物理內存不夠用的時候,會把空閒的進程使用的內存寫入到SWAP分區(硬盤上)把騰出來的額內存給其餘進程使用,若是進程須要訪問寫入到SWAP分區的內容同理把其餘進程空閒的內存騰出來寫入到SWAP在把SWAP數據讀出來寫到物理內存
二、SWAP分區的優缺點
優勢:SWAP至關於一個緩衝區,不至於當內存用完新程序或須要使用內存的程序沒法正常運行
缺點:SWAP分區畢竟是硬盤和物理內存比起來很是慢
實驗成果說明:
在此實驗中,您將安裝一個軟件包以支持自動掛載文件系統,本實驗是基於ldap & krb5驗證 + nfs (lab nfs setup)這些都已經初始化完了,咱們只須要配置autofs便可
實驗詳細需求:
開始重置您的 desktop 系統 : rht-vmctl reset desktop 並在 desktop 系統上執行:lab nfs setup
classroom.example.com 正在共享/home/guests
desktop0 掛載點/home/guests/ldapuser0
用戶名:ldapuser0 密碼:kerberos
一、安裝自動掛載home目錄所需的任何包
二、添加配置文件(必須以.autofs結尾)和映射文件(必須以auto.開頭)
三、啓用並啓動自動掛載服務
四、使用ssh切換到localhost上的ldapuser0,而後確認:掛載是否OK、讀取/寫入權限是否OK
五、從新啓動desktop0計算,而後從desktop0計算執行命令:lab nfs grade 驗證
實驗詳細步驟:
1、安裝自動掛載home目錄所需的任何包 # 安裝autofs [root@desktop0 ~]# yum -y install autofs 2、添加配置文件(必須以.autofs結尾)和映射文件(必須以auto.開頭) # 添加配置文件 [root@desktop0 ~]# vim /etc/auto.master.d/nfs.autofs #掛載的目錄 映射配置文件 /- /etc/auto.home # 添加映射文件 [root@desktop0 ~]# vim /etc/auto.home #掛載點 掛載選項 要掛載的文件系統 /home/guests -typefs=rw classroom.example.com:/home/guests 3、啓用並啓動自動掛載服務 # 啓動服務、檢查狀態、並設置開機啓動 [root@desktop0 ~]# systemctl start autofs.service [root@desktop0 ~]# systemctl status autofs.service [root@desktop0 ~]# systemctl enable autofs.service 4、使用ssh切換到localhost上的ldapuser0,而後確認:掛載是否OK、讀取/寫入權限是否OK ssh ldapuser0@localhost # 沒有報錯建立文件正常、掛載正常便可 5、從新啓動desktop0計算,而後從desktop0計算執行命令:lab nfs grade 驗證 lab nfs grade
實驗總結:
一、autofs是什麼以及應用場景
掛載共享資源存在兩個問題
autofs就是爲了解決上面兩個問題而存在的:autofs自動掛載服務是一種Linux系統守護進程,當檢測到用戶視圖訪問一個還沒有掛載的文件系統時,會自動掛載該文件系統。簡單來講,將掛載信息寫入/etc/fstab文件中,系統在每次開機時都會自動掛載,而autofs服務則是在用戶須要使用該文件系統時纔去動態掛載,從而節約了網絡資源和服務器硬件資源的開銷。
二、兩種配置文件,我感受實際上是能夠放在一塊兒可是爲啥要拆兩個(最終把classroom.example.com:/home/guests共享掛載到:/目錄的,/home/guests這個點上)
########### 自動掛載配置文件 [root@desktop0 ~]# cat /etc/auto.master.d/nfs.autofs #掛載的目錄 映射配置文件 /- /etc/auto.home ########### 自動掛載配置文件的映射文件 [root@desktop0 ~]# cat /etc/auto.home #掛載點 掛載選項 要掛載的文件系統 /home/guests -typefs=rw classroom.example.com:/home/guests
實驗成果說明:
在本實驗中,您將解決SElinux訪問被拒絕的問題,在SElinux處於強制模式時,系統管理員使用新web服務器向客戶端交付內容時遇到的問題解決它
實驗詳細需求:
開始重置您的 server 系統 : rht-vmctl reset server 並初始化:lab selinux setup
一、在server上啓動web瀏覽器並瀏覽至:http://localhost/lab-content 將會看到一個錯誤
二、研究並切丁正在阻止Apache提供Web內容服務的SElinux問題
三、解決正在阻止Apache提供Web內容服務的SElinux問題
四、驗證SElinux問題已經解決,斌企鵝Apache可以提供Web內容服務
五、運行lab selinux grade命令確認您的結論
具體實驗步驟:
1 看日誌 /var/log/message ``` Jul 12 17:05:07 localhost setroubleshoot: SELinux is preventing /usr/sbin/httpd from open access on the file . For complete SELinux messages. run sealert -l a4e40289-984d-4a57-b791-e0520a066046 Jul 12 17:05:07 localhost python: SELinux is preventing /usr/sbin/httpd from open access on the file . ***** Plugin catchall_boolean (89.3 confidence) suggests ****************** If you want to allow httpd to read user content Then you must tell SELinux about this by enabling the 'httpd_read_user_content' boolean. Do setsebool -P httpd_read_user_content 1 ``` 報錯都提醒你如何處理selinux了,執行命令:setsebool -P httpd_read_user_content 1 /var/log/httpd/error_log ``` [Fri Jul 12 17:05:06.582895 2019] [core:error] [pid 2293] (13)Permission denied: [client ::1:42650] AH00132: file permissions deny server access: /var/web-content/lab-content/index.html ``` httpd 也會有提示關注下 2 查看目錄和文件的上下文 ``` ls -dZ /var/web-content /var/www drwxr-xr-x. root root unconfined_u:object_r:var_t:s0 /var/web-content drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www ``` 3 修改目錄和文件的默認上下文 ``` semanage fcontext -a -t httpd_sys_content_t '/var/web-content(/.*)' ``` 4 還原目錄和文件的默認上下文 ``` restorecon -R web-content/ ```
實驗總結:
一、文件權限後面有個「.」 說明該文件打上了selinux標籤
系統在啓動的時候回自動打標籤:
-rw-r--r--. 1 root root 0 7月 12 13:10 no_label
禁用selinux後,新建立的文件就不會有selinux標籤了
-rw-r--r--. 1 root root 0 7月 12 13:10 label
-rw-r--r-- 1 root root 0 7月 12 13:26 no_label
二、新建立的文件會繼承目錄的「上下文標籤」
適用於:vim、cp、touch
若是在其餘位置建立的而且權限得以保留好比:mv、cp -a 那麼還會保留以前的「上下文標籤」
三、selinux 有兩個模式:
[root@server0 shares]# setenforce usage: setenforce [ Enforcing | Permissive | 1 | 0 ] # 強制模式 Enforcing 遵照策略規則並記錄衝突(異常) # 啓用強制模式 setenforce Enforcing 或者 setenforce 1 # 許可模式 策略規則衝突僅記錄日誌消息 # 啓用策略模式 setenforce Permissive 或者 setenforce 0
四、小總結
selinux 「上下文標籤」 由4個部分組成由 ":" 分隔 user:role:type:level user: 用戶 - system_u: 系統用戶大部分就是系統本身產生的文件 - unconfined_u:不受限的用戶,也就是說該文件來自於不受限的進程所產生的 基本上,若是是系統或軟件自己所提供的文件,大多數就是system_u這個身份名稱,而若是是咱們用戶透過bash本身創建的文件,則大多數是不受限制的,若是是網絡服務所產生的的文件,或者系統服務運行過程當中的文件,則大部分的識別就會是system_u 查看登陸用戶和selinux用戶映射關係 [root@server0 shares]# semanage login -l 登陸名 SELinux 用戶 MLS/MCS 範圍 服務 __default__ unconfined_u s0-s0:c0.c1023 * root unconfined_u s0-s0:c0.c1023 * system_u system_u s0-s0:c0.c1023 * role:角色 透過角色字段,咱們能夠知道這個資料是屬於進程,文件資源仍是使用者。 object_r:表明的是文件或目錄等文件資源 system_r:表明的就是進程 type:類型 [root@server0 shares]# ll /var/www -Z drwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bin drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 html 由於selinux是類型強制因此通常咱們只須要關注類型就能夠 context查詢工具seinfo、sesearch yum install setools-console # 工具 ``` seinfo -u # 查詢全部的user字段的種類 seinfo -r # 查詢全部的role字段的種類 seinfo -t # 查詢全部的type字段的種類 sesearch -A 能夠查詢什麼類型進程能夠讀取什麼type類型的文件 sesearch -A -s 進程type # 查詢type類型的進程可以讀取的文件type ``` 總結: 1 進程也有一個標籤 2 標籤對應: 標籤能夠訪問那些 標籤 標籤對資源的權限屬性
實驗成果說明:
在此實驗中,您將在server0服務器上配置防火牆,以阻止對ssh和端口8080/TCP上運行Web之外服務的訪問
實驗詳細需求:
開始重置您的 server 系統 : rht-vmctl reset server 並在server系統上執行: lab firewall setup
一、配置系統,使iptables和ip6iptables服務不會被管理員之外啓動
二、檢查firewalld服務是否正在運行。若是未運行其啓動該服務
三、驗證默認防火牆區域是不是public
四、確保public區域的永久配置中沒有打開不須要的端口
五、向public區域的永久配置添加端口8080/TCP驗證配置
六、從新啓動server0計算機(爲進行快速測試,也可使用sudo firewall-cmd --reload)
七、從desktop計算機運行:lab firewall grade 進行驗證
實驗詳細步驟:
1、配置系統,使iptables和 ip6iptables 服務不會被管理員之外啓動 [root@server0 ~]# systemctl status iptables iptables.service - IPv4 firewall with iptables Loaded: loaded (/usr/lib/systemd/system/iptables.service; disabled) Active: inactive (dead) [root@server0 ~]# systemctl mask iptables.service ln -s '/dev/null' '/etc/systemd/system/iptables.service' [root@server0 ~]# systemctl status iptables iptables.service Loaded: masked (/dev/null) Active: inactive (dead) [root@server0 ~]# systemctl status ip6tables ip6tables.service - IPv6 firewall with ip6tables Loaded: loaded (/usr/lib/systemd/system/ip6tables.service; disabled) Active: inactive (dead) [root@server0 ~]# systemctl mask ip6tables.service ln -s '/dev/null' '/etc/systemd/system/ip6tables.service' [root@server0 ~]# systemctl status ip6tables ip6tables.service Loaded: masked (/dev/null) Active: inactive (dead) 2、檢查firewalld服務是否正在運行。若是未運行其啓動該服務 [root@server0 ~]# systemctl status firewalld.service firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) Active: inactive (dead) since 六 2019-07-13 07:15:59 CST; 4min 22s ago Main PID: 471 (code=exited, status=0/SUCCESS) 7月 13 07:07:26 localhost systemd[1]: Started firewalld - dynamic firewall daemon. 7月 13 07:15:59 server0.example.com systemd[1]: Stopping firewalld - dynamic firewall daemon... 7月 13 07:15:59 server0.example.com systemd[1]: Stopped firewalld - dynamic firewall daemon. [root@server0 ~]# systemctl start firewalld.service [root@server0 ~]# systemctl status firewalld.service firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled) Active: active (running) since 六 2019-07-13 07:21:45 CST; 2s ago Main PID: 2559 (firewalld) CGroup: /system.slice/firewalld.service └─2559 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid 7月 13 07:21:44 server0.example.com systemd[1]: Starting firewalld - dynamic firewall daemon... 7月 13 07:21:45 server0.example.com systemd[1]: Started firewalld - dynamic firewall daemon. 3、驗證默認防火牆區域是不是public [root@server0 ~]# firewall-cmd --get-default-zone public # 若是不是 [root@server0 ~]# firewall-cmd --set-default-zone=public 4、確保public區域的永久配置中沒有打開不須要的端口(永久配置重啓還會生效,當前配置僅當前用用重啓恢復爲永久配置) [root@server0 ~]# firewall-cmd --list-ports --permanent # 永久配置 [root@server0 ~]# firewall-cmd --list-ports # 當前加載 [root@server0 ~]# firewall-cmd --list-services # 當前加載配置 dhcpv6-client ssh [root@server0 ~]# firewall-cmd --list-services --permanent # 永久配置 dhcpv6-client ssh [root@server0 ~]# # 有多餘的服務,幹掉dhcpv6-client [root@server0 ~]# firewall-cmd --remove-service=dhcpv6-client --permanent # 永久配置 success [root@server0 ~]# firewall-cmd --remove-service=dhcpv6-client # 當前加載 success [root@server0 ~]# 5、向public區域的永久配置添加端口8080/TCP驗證配置 [root@server0 ~]# firewall-cmd --add-port=8080/tcp --permanent success [root@server0 ~]# firewall-cmd --add-port=8080/tcp success 6、從新啓動server0計算機(爲進行快速測試,也可使用sudo firewall-cmd --reload) # reload驗證 [root@server0 ~]# firewall-cmd --reload success [root@server0 ~]# firewall-cmd --list-ports --permanent 8080/tcp [root@server0 ~]# firewall-cmd --list-ports 8080/tcp [root@server0 ~]# firewall-cmd --list-services --permanent ssh [root@server0 ~]# firewall-cmd --list-services ssh [root@server0 ~]# 7、從desktop計算機運行:lab firewall grade 進行驗證 # 登陸desktop lab firewall grade
實驗總結:
一、多個區域的概念
二、正常區域只是個邏輯上的概念(區域裏有一些默認的配置),來看它的匹配方式
* * * * * = 分 時 日 月 周 先定義5個時間位置 先拆開理解 ----------------------分 時 日 月------------------------- * * * * 前4個時間位置: 分 時 日 月 分鐘明確的時候: 10 * * * * xxx 分 # 1個小時有60分鐘,第10分鐘只會在每一個小時出現一次(明確) 時 # 天天有24個小時,小時不明確因此24個小時都執行 (不明確) 日 # 沒月有31天,天不明確因此天天都執行 (不明確) 月 # 每一年有12個月,月不明確而因此每個月都執行 (不明確) # 每月的、天天的、每小時的第10分鐘執行一次 簡化下:每小時第10分鐘執行 小時也明確的時候-例子1: * 10 * * * xxx 分 # 分鐘不明確因此:每分鐘要執行 (不明確) 時 # 小時明確10點,1天有24個小時,天天10點只會在天天出現一次 (明確) 日 # 沒月有31天,天不明確因此天天都執行 (不明確) 月 # 每一年有12個月,月不明確而因此每個月都執行 (不明確) # 每月的、天天的第10小時的、每分鐘都執行 簡化下:天天10點,每分鐘都執行 小時也明確的時候-例子2: 10 10 * * * xxx 分 # 1個小時有60分鐘,第10分鐘只會在每一個小時出現一次(明確) 時 # 小時明確10點,1天有24個小時,天天10點只會在天天出現一次 (明確) 日 # 沒月有31天,天不明確因此天天都執行 (不明確) 月 # 每一年有12個月,月不明確而因此每個月都執行 (不明確) # 每月的、天天的第10小時的、第10小時的、第10分鐘 簡化下:天天10點10分執行一次 ----------------------周------------------------- # 周這個時間位置能夠理解爲:且關係判斷 1 1 * * * 這個是天天1點1分執行1次 1 1 * * 1 當咱們定義周1了以後,就會進行判斷: 天天1點1分,而且今天是周1才執行
關注3個命令就好:
命令格式: # 打壓縮包 tar -cf[-j,-J,-z] build.[bzip2,xz,gizp] source # 解壓縮包 tar -xf[-j,-J,-z] build.[bzip2,xz,gizp] source # 參數 -j, --bzip2 -J, --xz -z, --gzip
重要記住安裝那個包:sssd authconfig-gtk brb5-workstation
# sssd是什麼 一個守護進程,該進程能夠用來訪問多種驗證服務器,如LDAP,Kerberos等,並提供受權。 SSSD是 介於本地用戶和數據存儲之間的進程,本地客戶端首先鏈接SSSD,再由SSSD聯繫外部資源提供者(一臺遠程服務器) # sssd優點 (1)避免了本地每一個客戶端程序對認證服務器大量鏈接,全部本地程序僅聯繫SSSD,由SSSD鏈接認證服務器或SSSD緩存,有效的下降了負載。 (2)容許離線受權,SSSD能夠緩存遠程服務器的用戶認證身份,這容許在遠程認證服務器宕機是,繼續成功受權用戶訪問必要的資源。 SSSD默認配置文件位於/etc/sssd/sssd.conf,你能夠經過命令使得SSSD以指定的配置文件運行: #sssd –c /etc/sssd/customfile.conf ------------------------------------------------------------------------------------------------- # authconfig-gtk 是什麼 authconfig-gtk 圖形化工具提供了配置下面4個服務的圖形終端: - NIS - LDAP - Kerbero5 - Winbind ------------------------------------------------------------------------------------------------- # krb5-workstation Kerberos工具包,Kerberos:Kerberos是一種計算機網絡認證協議,它容許某實體在非安全網絡環境下通訊,向另外一個實體以一種安全的方式證實本身的身份
Kerberos工做原理圖
實驗所需信息
名稱 | 值 |
LDAP服務器 | ldap://classroom.example.com |
LDAP基礎DN | dc=example,dc=com |
使用TLS | 是 |
根CA | http://classroom.example.com/pub/example-ca.crt |
Kerberos域 | EXAMPLE.COM |
Kerberos KDC | classroom.example.com |
Kerberos 管理服務器 | classroom.example.com |
驗證
[root@desktop0 ~]# getent passwd ldapuser0 ldapuser0:*:1700:1700:LDAP Test User 0:/home/guests/ldapuser0:/bin/bash [root@desktop0 ~]# [root@desktop0 ~]# [root@desktop0 ~]# ssh ldapuser0@localhost The authenticity of host 'localhost (::1)' can't be established. ECDSA key fingerprint is 65:4d:ac:8a:c9:58:82:b5:0c:91:c4:ef:a5:e6:f6:65. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts. ldapuser0@localhost's password: Creating home directory for ldapuser0. [ldapuser0@desktop0 ~]$
NTP調整系統時區和時間
記住一個命令就好:tzselect
一、關注公衆號
二、輸入:rhce
--end--