配置權限,LDAP


配置文檔的訪問權限

1.1 問題

本例要求將文件 /etc/fstab 拷貝為 /var/tmp/fstab,並調整文件 /var/tmp/fstab的權限,滿足以下要求:

  1. 此文件的擁有者是 root
  2. 此文件屬於 root 組
  3. 此文件對任何人都不可執行
  4. 用戶 natasha 能夠對此文件執行讀和寫操作
  5. 用戶 harry 對此文件既不能讀,也不能寫
  6. 所有其他用戶(當前的和將來的)能夠對此文件進行讀操作

1.2 方案

針對個別用戶的權限策略,使用setfacl命令進行設置。

1.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:復制文件

1)使用cp命令進行復制

  1. [root@server0 ~]# cp /etc/fstab /var/tmp/fstab

2)確認復制后的權限

  1. [root@server0 ~]# ls -l /var/tmp/fstab
  2. -rw-r--r--. 1 root root 313 12月 23 23:01 /var/tmp/fstab

說明已經滿足案例要求的前三條和最后一條。

步驟二:調整權限

1)增加額外的訪問控制策略

  1. [root@server0 ~]# setfacl -m u:natasha:rw /var/tmp/fstab
  2. [root@server0 ~]# setfacl -m u:sarah:- /var/tmp/fstab

2)確認結果

  1. [root@server0 ~]# getfacl /var/tmp/fstab
  2. getfacl: Removing leading '/' from absolute path names
  3. # file: var/tmp/fstab
  4. # owner: root
  5. # group: root
  6. user::rw-
  7. user:natasha:rw-
  8. user:sarah:---
  9. group::r--
  10. mask::rw-
  11. other::r--
  12. [root@server0 ~]#

2 案例2:配置附加權限

2.1 問題

本例要求創建一個某個組的用戶共享使用的目錄 /home/admins,滿足以下要求:

  1. 此目錄的組所有權是 adminuser
  2. adminuser 組的成員對此目錄有讀寫和執行的權限,除此以外的其他所有用戶沒有任何權限(root用戶能夠訪問系統中的所有文件和目錄)
  3. 在此目錄中創建的文件,其組的所有權會自動設置為屬於 adminuser 組

2.2 方案

使目錄的屬組能夠向下自動繼承,只要對這個目錄設置Set GID附件權限即可。

2.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:創建目錄並調整權限

1)新建文件夾

  1. [root@server0 ~]# mkdir /home/admins

2)調整並確認權限

  1. [root@server0 ~]# chown :adminuser /home/admins
  2. [root@server0 ~]# chmod ug=rwx,o-rwx /home/admins
  3. [root@server0 ~]# chmod g+s /home/admins
  4. [root@server0 ~]# ls -ld /home/admins/
  5. drwxrws---. 2 root adminuser 6 12月 23 23:13 /home/admins/

步驟二:驗證目錄的特性

1)在此目錄下新建一個文件

  1. [root@server0 ~]# touch /home/admins/a.txt

2)查看新建文件的歸屬,其屬組應該與父目錄相同

  1. [root@server0 ~]# ls -lh /home/admins/a.txt
  2. -rw-r--r--. 1 root adminuser 0 12月 23 23:17 /home/admins/a.txt
  3. -4

3 案例3:綁定到LDAP驗證服務

3.1 問題

本例要求配置虛擬機server0使用系統classroom.example.com提供的LDAP服務,相關信息及要求如下:

  1. 驗證服務的基本DN是:dc=example,dc=com
  2. 賬戶信息和驗證信息都是由 LDAP 提供的
  3. 連接要使用證書加密,證書可以在下面的鏈接下載:http://classroom.example.com/pub/example-ca.crt
  4. 當正確完成配置后,用戶 ldapuser0 應該能登錄到你的系統,不過暫時沒有主目錄(需完成 autofs 題目)
  5. 用戶 ldapuser0 的密碼是 password

3.2 方案

需要安裝軟件包sssd已提供支持。

配置工具可選擇默認安裝的authconfig-tui,或者使用圖形程序authconfig-gtk。

3.3 步驟

實現此案例需要按照如下步驟進行。

步驟一:安裝支持軟件sssd、圖形配置authconfig-gtk

  1. [root@server0 ~]# yum -y install sssd authconfig-gtk
  2. .. ..

步驟二:配置LDAP客戶端參數

1)使用authconfig-gtk認證配置工具

打開配置程序(如圖-1所示)后,可以看到“Identity & Authentication”窗口。

圖1

單擊“User Account Database”右側的下拉框選中“LDAP”,單擊“Authentication Method”右側的下拉框選中“LDAP Password”。然后在“LDAP Search DN”后的文本框內填入指定的基本DN字串“dc=example,dc=com”,在“LDAP Server”后的文本框內填入指定的LDAP服務器地址“classroom.example.com”(如圖-2所示)。

圖-2

勾選“Use TLS to encrypt connections”前的選框,然后下方的“Download CA Certificate”按鈕會變成可用狀態,上方的警告消息也會自動消失(如圖-3所示)。

圖-3

單擊“Download CA Certificate”按鈕,根據提示填入TLS加密用CA證書的下載地址(http://classroom.example.com/pub /example-ca.crt),然后單擊OK回到配置界面,單擊右下方的“Apply”按鈕(如圖-4所示),耐心等待片刻即完成設置,配置程序自動 關閉。

圖-4

2)確保sssd服務已經運行

只要前一步配置正確,檢查sssd服務會發現已經自動運行。

  1. [root@server0 ~]# systemctl status sssd
  2. sssd.service - System Security Services Daemon
  3. Loaded: loaded (/usr/lib/systemd/system/sssd.service; enabled)
  4. Active: active (running) since Sat 2016-11-26 05:39:21 CST; 2min 58s ago
  5. Process: 2030 ExecStart=/usr/sbin/sssd -D -f (code=exited, status=0/SUCCESS)
  6. Main PID: 2031 (sssd)
  7. .. ..

確保sssd服務開機自啟。

  1. [root@server0 ~]# systemctl enable sssd

步驟三:LDAP客戶端驗證

1)在客戶機上能檢測到LDAP網絡用戶

檢查ldapuser0的ID值:

  1. [root@server0 ~]# id ldapuser0
  2. uid=1700(ldapuser0) gid=1700(ldapuser0) groups=1700(ldapuser0)

2)可以su切換到LDAP網絡用戶

切換到用戶ldapuser0並返回:

  1. [root@server0 ~]# su - ldapuser0
  2. su: warning: cannot change directory to /home/guests/ldapuser0: No such file or directory
  3. mkdir: cannot create directory '/home/guests': Permission denied
  4. -bash-4.2$                                         //成功登入,但沒有家目錄
  5. -bash-4.2$ exit                                     //返回原用戶環境
  6. Logout
  7. [root@server0 ~]#

3)可以使用LDAP網絡用戶在客戶機上登錄

以用戶ldapuser0,密碼password嘗試ssh登錄到server0:

  1. [root@server0 ~]# ssh ldapuser0@server0.example.com
  2. The authenticity of host 'server0.example.com (172.25.0.11)' can't be established.
  3. ECDSA key fingerprint is eb:24:0e:07:96:26:b1:04:c2:37:0c:78:2d:bc:b0:08.
  4. Are you sure you want to continue connecting (yes/no)? yes         //首次接受密鑰
  5. Warning: Permanently added 'server0.example.com,172.25.0.11' (ECDSA) to the list of known hosts.
  6. ldapuser0@server0.example.com's password:             //輸入密碼password
  7. Last login: Sat Nov 26 05:45:51 2016
  8. Could not chdir to home directory /home/guests/ldapuser0: No such file or directory
  9. mkdir: cannot create directory ‘/home/guests’: Permission denied
  10. -bash-4.2$                                         //成功登入,但沒有家目錄
  11. -bash-4.2$ exit                                     //返回原用戶環境
  12. logout
  13. Connection to server0.example.com closed.
  14. [root@server0 ~]#

4 案例4:配置LDAP家目錄漫游

4.1 問題

沿用練習3,本例要求手動掛載 LDAP 用戶的家目錄,實現漫游的效果。相關信息及要求如下:

  1. 主機 classroom.example.com 已經預先配置好通過NFS輸出了/home/guests 目錄到你的系統,這個文件系統下包含了用戶 ldapuser0 的主目錄
  2. ldapuser0 的主目錄是:classroom.example.com:/home/guests/ldapuser0
  3. ldapuser0 的主目錄應該掛載到本地的 /home/guests/ldapuser0 目錄下
  4. 用戶對其主目錄必須是可寫的
  5. ldapuser0 用戶的密碼是 password

4.2 步驟

實現此案例需要按照如下步驟進行。

步驟一:掛載LDAP用戶的家目錄

1)創建掛載點目錄

  1. [root@server0 ~]# mkdir /home/guest/ldapuser0
  2. [root@server0 ~]# ls /home/guest/ldapuser0
  3. [root@server0 ~]#                             //未掛載資源前內容為空

2)掛載NFS資源

  1. [root@server0 ~]# mount classroom.example.com:/home/guests/ldapuser0 /home/guests/ldapuser0/

3)確認掛載結果

  1. [root@server0 ~]# ls -ld /home/guests/ldapuser0/     //確認資源歸屬及權限
  2. drwx------. 4 1700 1700 88 7月 11 2014 /home/guests/ldapuser0/
  3. [root@server0 ~]# ls -A /home/guests/ldapuser0/         //root無法查看
  4. ls: 無法打開目錄/home/guests/ldapuser0/: 權限不夠

步驟二:驗證LDAP用戶的家目錄漫游

通過su或ssh方式切換到ldapuser0登錄,可以發現家目錄已經可用了。

  1. [root@server0 ~]# su - ldapuser0
  2. Last login: Sat Nov 26 06:34:02 CST 2016 from server0.example.com on pts/2
  3. [ldapuser0@server0 ~]$ pwd                     //成功登入,且位於家目錄下
  4. /home/guests/ldapuser0
  5. [ldapuser0@server0 ~]$ exit                     //返回原用戶環境
  6. logout
  7. [root@server0 ~]#


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM