ADMIN06 - 許可權和歸屬、使用LDAP認證、家目錄漫遊
1.基本許可權的類別
• 訪問方式(許可權)
– 讀取:允許檢視內容-read r
– 寫入:允許修改內容-write w
– 可執行:允許執行和切換-execute x
文字檔案的rwx:
r: cat less head tail grep
w: vim 儲存
x: 可以執行
• 許可權適用物件(歸屬)
– 所有者:擁有此檔案/目錄的使用者-user u
– 所屬組:擁有此檔案/目錄的組-group g
– 其他使用者:除所有者、所屬組以外的使用者-other o
檢視許可權
• 使用 ls -l 命令
– ls -ld 檔案或目錄...
以 - 開頭:文字檔案
以 d 開頭:目錄
以 l 開頭:快捷方式
設定基本許可權• 使用 chmod 命令
– chmod [-R] 歸屬關係+-=許可權類別 文件...
-R : 遞迴修改目錄下所有內容,及子目錄所有內容
[root@server0 ~]# chmod u-w /nsd01
[root@server0 ~]# ls -ld /nsd01
[root@server0 ~]# chmod g+w /nsd01
[root@server0 ~]# ls -ld /nsd01
[root@server0 ~]# chmod u=rwx,g=rwx,o=rwx /nsd01[root@server0 ~]# ls -ld /nsd01
[root@server0 ~]# chmod ugo=r /nsd01[root@server0 ~]# ls -ld /nsd01
[root@server0 ~]# chmod ug=rw /nsd01
[root@server0 ~]# ls -ld /nsd01
[root@server0 ~]# chmod -R ugo=r /opt/tarena/
[root@server0 ~]# ls -ld /opt/tarena/
#########################################################
Linux判斷使用者具備的許可權:
1.判斷使用者所屬的身份(角色) 所有者>所屬組>其他人 匹配及停止 (重要)
2.相應許可權位的許可權
Permission denied : 許可權不足
目錄的rwx許可權:
目錄的 r 許可權:能夠 ls 瀏覽此目錄內容
目錄的 w 許可權:能夠執行 rm/mv/cp/mkdir/touch/... 等更改目錄內容的操作
目錄的 x 許可權:能夠 cd 切換到此目錄
#######################################################
以root使用者新建/nsddir/目錄,在此目錄下新建readme.txt檔案,並進一步完成下列操作
1)使使用者zhangsan能夠在此目錄下建立子目錄 切換使用者 su - zhangsan
chmod o+w /nsddir/
2)使使用者zhangsan不能夠在此目錄下建立子目錄
chmod o-w /nsddir/
3)使使用者zhangsan能夠修改readme.txt檔案
chmod o+w /nsddir/readme.txt
4)調整此目錄的許可權,使所有使用者都不能cd進入此目錄
chmod u-x,g-x,o-x /nsddir/
5)為此目錄及其下所有文件設定許可權 rwxr-x---
chmod -R u=rwx,g=rx,o=--- /nsddir/
#########################################################
設定文件歸屬
• 使用 chown 命令
– chown [-R] 屬主 文件...
– chown [-R] :屬組 文件...
– chown [-R] 屬主:屬組 文件...
[root@server0 /]# mkdir /nsd06
[root@server0 /]# ls -ld /nsd06
[root@server0 /]# useradd tom
[root@server0 /]# groupadd stugrp
[root@server0 /]# chown tom:stugrp /nsd06
[root@server0 /]# ls -ld /nsd06
[root@server0 /]# chown root /nsd06
[root@server0 /]# ls -ld /nsd06
[root@server0 /]# groupadd tedu[root@server0 /]# chown :tedu /nsd06
[root@server0 /]# ls -ld /nsd06
########################################################
2.附加許可權(特殊許可權)
Set GID
• 附加在屬組的 x 位上
– 屬組的許可權標識會變為 s ,如果屬組沒有x許可權,加上附加許可權就會變成S
– 適用於目錄,Set GID可以使目錄下新增的文件自動設定與父目錄相同的屬組
– 繼承所屬組身份
[root@server0 /]# mkdir /nsd09
[root@server0 /]# chown :stugrp /nsd09
[root@server0 /]# ls -ld /nsd09
[root@server0 /]# mkdir /nsd09/test01
[root@server0 /]# ls -ld /nsd09/test01
[root@server0 /]# chmod g+s /nsd09
[root@server0 /]# ls -ld /nsd09
[root@server0 /]# mkdir /nsd09/abc01
[root@server0 /]# ls -ld /nsd09/abc01
#########################################################
3.acl訪問控制列表
• acl訪問策略
– 能夠對個別使用者、個別組設定獨立的許可權
– 大多數掛載的EXT3/4、XFS檔案系統預設已支援
[root@server0 /]# mkdir /nsd11[root@server0 /]# chmod o=--- /nsd11
[root@server0 /]# ls -ld /nsd11
[root@server0 /]# su - zhangsan
[zhangsan@server0 ~]$ cd /nsd11
-bash: cd: /nsd11: Permission denied
[zhangsan@server0 ~]$ exit
logout
[root@server0 /]# setfacl -m u:zhangsan:rx /nsd11[root@server0 /]# su - zhangsan
[zhangsan@server0 ~]$ cd /nsd11[zhangsan@server0 nsd11]$ pwd
[zhangsan@server0 nsd11]$ exit
##########################################################
– getfacl 文件... #檢視ACL訪問控制列表
– setfacl [-R] -m u:使用者名稱:許可權類別 文件... (modify)
– setfacl [-R] -m g:組名:許可權類別 文件...
– setfacl [-R] -x u:使用者名稱 文件... #刪除指定ACL (remove)
– setfacl [-R] -b 文件... #清空ACL (remove all)
[root@server0 /]# mkdir /nsd12
[root@server0 /]# setfacl -m u:zhangsan:rwx /nsd12
[root@server0 /]# useradd lisi
[root@server0 /]# setfacl -m u:lisi:rx /nsd12
[root@server0 /]# setfacl -m u:tom:rx /nsd12
[root@server0 /]# getfacl /nsd12
[root@server0 /]# setfacl -x u:lisi /nsd12 #刪除指定使用者的ACL
[root@server0 /]# getfacl /nsd12
[root@server0 /]# setfacl -b /nsd12 #刪除目錄所有的ACL
[root@server0 /]# getfacl /nsd12
#########################################################
[root@server0 /]# ls -ld /public
[root@server0 /]# setfacl -m u:tom:--- /public
[root@server0 /]# getfacl /public
#########################################################
使用LDAP認證 (瞭解)
LDAP伺服器: 網路使用者 使用者的集中管理 ,使用者資訊由LDAP伺服器提供
LDAP是輕量目錄訪問協議,英文全稱是Lightweight Directory Access Protocol
本地使用者: 使用者資訊由/etc/passwdLDAP伺服器: classroom.example.com
客戶端:虛擬機器Server
1.安裝客戶端軟體sssd,與LDAP網路使用者伺服器溝通
[root@server0 /]# yum -y install sssd
2.安裝圖形工具 authconfig-gtk 配置sssd
[root@server0 /]# yum -y install authconfig-gtk
[root@server0 /]# exit
登出
[root@room9pc01 ~]# ssh -X root@172.25.0.11
[root@server0 ~]# authconfig-gtk
選擇LDAP
dc=example,dc=com #指定服務端域名
classroom.example.com #指定服務端主機名
勾選TLS加密使用證書加密: http://classroom.example.com/pub/example-ca.crt
選擇LDAP密碼3.重起sssd服務,驗證
[root@server0 ~]# systemctl restart sssd
[root@server0 ~]# grep 'ldapuser0' /etc/passwd
[root@server0 ~]# id ldapuser0
[root@server0 ~]# id ldapuser1
#######################################################
家目錄漫遊
• Network File System,網路檔案系統
– 由NFS伺服器將指定的資料夾共享給客戶機
– 客戶機將此共享目錄 mount 到本地目錄,訪問此共享
資源就像訪問本地目錄一樣方便
– 類似於 EXT4、XFS等型別,只不過資源在網上NFS共享伺服器:classroom.example.com
虛擬機器Server:
1.檢視classroom有那些共享
[root@server0 ~]# showmount -e classroom.example.com
Export list for classroom:
/home/guests 172.25.0.0/255.255.0.0
2.掛載訪問
# mkdir /nfs
# ls /nfs
# mount classroom.example.com:/home/guests /nfs
# ls /nfs
# mkdir /home/guests
# umount /nfs
# ls /nfs
# mount classroom.example.com:/home/guests /home/guests
# ls /home/guests
# su - ldapuser0
$ exit
----------------------------------------------------------------------------------------------------------------------------
案例1:指定yum軟體源
為 server0 指定可用的 yum 軟體源
– YUM軟體庫的地址為 http://classroom.example.com/content/rhel7.0/x86_64/dvd
– 將此配置為虛擬機器 server0 的預設軟體倉庫
[root@server0 yum.repos.d]# vim /etc/yum.repos.d/dvd.repo
[rhel]
name=rhel7.2
baseurl=http://classroom.example.com/content/rhel7.0/ x86_64/dvd
enabled=1
gpgcheck=0
– 確認可用的倉庫列表
[root@server0 yum.repos.d]# yum repolist
– 利用yum倉庫安裝xeyes
[root@server0 yum.repos.d]# yum -y install xeyes
– 執行指令xeyes檢視效果
[root@server0 yum.repos.d] xeyes
案例2:chmod許可權設定1)以root使用者新建/nsddir/目錄,在該目錄下新建檔案readme.txt
[root@server0 ~]# mkdir /nsddir
[root@server0 nsddir]# vim readme.txt
2)使使用者zhangsan能夠在/nsddir/目錄下建立/刪除子目錄[root@server0 ~]# chmod o+w /nsddir/
3)使使用者zhangsan能夠修改/nsddir/readme.txt檔案的容
[root@server0 nsddir]# chmod o+w /nsddir/readme.txt
案例3:chown歸屬設定
1)新建/tarena1目錄
[root@server0 nsddir]# mkdir /tarena1
a)將屬主設為gelin01,屬組設為tarena組
[root@server0 nsddir]# chown gelin01:tarena /tarena1/
b)使使用者gelin01對此目錄具有rwx許可權,其他人對此目錄無任何許可權
[root@server0 nsddir]# chmod o=--- /tarena1/
2)使使用者gelin02能進入、檢視/tarena1資料夾(提示:將gelin02加入所屬組)[root@server0 nsddir]# useradd gelin02
[root@server0 nsddir]# gpasswd -a gelin02 tarena
3)新建/tarena2目錄
a)將屬組設為tarena
[root@server0 nsddir]# chown :tarena /tarena2/
b)使tarena組的任何使用者都能在此目錄下建立、刪除檔案
[root@server0 nsddir]# chmod g+w /tarena2/
4)新建/tarena/public目錄
a)使任何使用者對此目錄都有rwx許可權
[root@server0 nsddir]# chmod u=rwx,g=rwx,o=rwx /tarena/public/
b)拒絕zhangsan進入此目錄,對此目錄無任何許可權
[root@server0 nsddir]# setfacl -m u:zhangsan:--- /tarena/public/
案例4:許可權設定
1、建立資料夾/data/test,設定目錄的訪問許可權,使所有者和所屬組具備讀寫執行的許可權;其他人無任何許可權。
[root@server0 nsddir]# chmod g+w,o=--- /data/test/
2、遞迴修改資料夾/data/test的歸屬使所有者為zhangsan,所屬組為tarena。
[root@server0 nsddir]# chown -R zhangsan:tarena /data/test
3、請實現在test目錄下,新建的所有子檔案或目錄的所屬組都會是tarena。
[root@server0 nsddir]# chmod g+s /data/test/
4、為lisi建立ACL訪問許可權,使得lisi可以檢視/etc/shadow檔案
[root@server0 nsddir]# setfacl -m u:lisi:r /etc/shadow
案例5:繫結到LDAP驗證服務
– 使用系統 classroom.example.com 提供的LDAP服務– 驗證服務的基本DN是:dc=example,dc=com
– 賬戶資訊和驗證資訊都是由 LDAP 提供的
– 連線要使用證書加密,證書可以在下面的連結下載:
http://classroom.example.com/pub/example-ca.crt
– 確認本地可以識別ldapuser0使用者
1.[root@server0 nsddir]# yum -y install sssd
2.[root@server0 nsddir]# yum -y install authcofig.gtk
選擇LDAP
dc=example,dc=com #指定服務端域名
classroom.example.com #指定服務端主機名
勾選TLS加密
使用證書加密: http://classroom.example.com/pub/example-ca.crt
選擇LDAP密碼
3.重起sssd服務,驗證
[root@server0 ~]# systemctl restart sssd
[root@server0 ~]# id ldapuser0
案例6:訪問NFS共享
– 檢視classroom.example.com的NFS共享
[root@server0 nsddir]# showmount -e classroom.example.com
– 將classroom.example.com的NFS共享目錄,掛載到本地/home/guests
[root@server0 nsddir]# mount classroom.example.com:home/guests /home/guests
相關文章
- LINUX SSH互信與使用者家目錄許可權Linux
- Hadoop 許可權認證Hadoop
- GoFrame 框架使用 casbin 許可權認證GoFrame框架
- Linux 目錄許可權研究Linux
- spring security許可權認證Spring
- 使用LDAP查詢快速提升域許可權LDA
- Django REST framework中認證和許可權的使用方法DjangoRESTFramework
- 帆軟——目錄及許可權配置
- Vue設定許可權列表目錄Vue
- DRF-認證許可權頻率
- Linux目錄許可權屬性有哪些?linux運維學習技能Linux運維
- umask 和 新建檔案、目錄的預設許可權
- springboot + shiro 實現登入認證和許可權控制Spring Boot
- DRF比Django的認證和許可權高在哪裡Django
- Lnmp 網站根目錄檔案許可權LNMP網站
- linux許可權管理,例項: 建立共享目錄Linux
- 圖文介紹Linux chmod目錄許可權Linux
- ubuntu 安裝onethink沒有目錄許可權Ubuntu
- RAC安裝目錄許可權快速恢復
- Oracle 目錄許可權丟失故障恢復Oracle
- Samba共享目錄的多使用者許可權設定案例Samba
- 深入Django:使用者認證與許可權控制實戰指南Django
- django-rest-framework 基礎三 認證、許可權和頻率DjangoRESTFramework
- Python使用LDAP做使用者認證PythonLDA
- 實時監控目錄及子目錄並修改子目錄及檔案的屬組及許可權
- Linux更改檔案及目錄許可權問題Linux
- Linux目錄與檔案的許可權意義Linux
- Hyperf 完整專案-1-jwt 許可權認證JWT
- linux 檔案許可權 s 許可權和 t 許可權解析Linux
- 小知識:軟體開發的許可權控制和許可權驗證
- 登入失敗,提示“資料庫目錄許可權寫入不足”,可以操作設定資料庫目錄許可權為 777。資料庫
- 網站提示:”會話目錄寫入許可權不足“網站會話
- SpringBoot整合Spring security JWT實現介面許可權認證Spring BootJWT
- .NET 開源許可權認證專案 MiniAuth上線
- linux為檔案/目錄分配使用者組/許可權(chown chgrp chmod)Linux
- Linux讀寫執行許可權對目錄和檔案的影響Linux
- Android property屬性許可權新增Android
- Zookeeper(2)---節點屬性、監聽和許可權