天天看點

在Linux上給使用者賦予指定目錄的讀寫權限

在Linux上給使用者賦予指定目錄的讀寫權限

在上篇文章中我們向您展示了如何在 linux 上建立一個共享目錄。這次,我們會為您介紹如何将 linux 上指定目錄的讀寫權限賦予使用者。

有兩種方法可以實作這個目标:第一種是 使用 acl (通路控制清單) ,第二種是建立使用者組來管理檔案權限,下面會一一介紹。

為了完成這個教程,我們将使用以下設定。

作業系統:centos 7

測試目錄:/shares/project1/reports

測試使用者:tecmint

檔案系統類型:ext4

請确認所有的指令都是使用 root 使用者執行的,或者使用 sudo 指令 來享受與之同樣的權限。

讓我們開始吧!下面,先使用 mkdir 指令來建立一個名為 reports 的目錄。

# mkdir -p /shares/project1/reports 

使用 acl 來為使用者賦予目錄的讀寫權限

重要提示:打算使用此方法的話,您需要确認您的 linux 檔案系統類型(如 ext3 和 ext4, ntfs, btrfs)支援 acl。

1、 首先, 依照以下指令在您的系統中檢查目前檔案系統類型,并且檢視核心是否支援 acl:

# df -t | awk '{print $1,$2,$nf}' | grep "^/dev" 

# grep -i acl /boot/config* 

從下方的截屏可以看到,檔案系統類型是 ext4,并且從 config_ext4_fs_posix_acl=y 選項可以發現核心是支援 posix acl 的。

在Linux上給使用者賦予指定目錄的讀寫權限

檢視檔案系統類型和核心的 acl 支援。

2、 接下來,檢視檔案系統(分區)挂載時是否使用了 acl 選項。

# tune2fs -l /dev/sda1 | grep acl 

在Linux上給使用者賦予指定目錄的讀寫權限

檢視分區是否支援 acl

通過上邊的輸出可以發現,預設的挂載項目中已經對 acl 進行了支援。如果發現結果不如所願,你可以通過以下指令對指定分區(此例中使用 /dev/sda3)開啟 acl 的支援。

# mount -o remount,acl / 

# tune2fs -o acl /dev/sda3 

3、 現在是時候指定目錄 reports 的讀寫權限配置設定給名為 tecmint 的使用者了,依照以下指令執行即可。

# getfacl /shares/project1/reports                # check the default acl settings for the directory  

# setfacl -m user:tecmint:rw /shares/project1/reports     # give rw access to user tecmint  

# getfacl /shares/project1/reports                # check new acl settings for the directory 

在Linux上給使用者賦予指定目錄的讀寫權限

通過 acl 對指定目錄賦予讀寫權限

在上方的截屏中,通過輸出結果的第二行 getfacl 指令可以發現,使用者 tecmint 已經成功的被賦予了 /shares/project1/reports 目錄的讀寫權限。

如果想要擷取 acl 清單的更多資訊。可以在下方檢視我們的其他指南。

如何使用通路控制清單(acl)為使用者/組設定磁盤配額

如何使用通路控制清單(acl)挂載網絡共享

現在我們來看看如何使用第二種方法來為目錄賦予讀寫權限。

使用使用者組來為使用者賦予指定目錄的讀寫權限

1、 如果使用者已經擁有了預設的使用者組(通常組名與使用者名相同),就可以簡單的通過變更檔案夾的所屬使用者組來完成。

# chgrp tecmint /shares/project1/reports 

另外,我們也可以通過以下方法為多個使用者(需要賦予指定目錄讀寫權限的)建立一個使用者組。如此一來,也就建立了一個共享目錄。

# groupadd projects 

2、 接下來将使用者 tecmint 添加到 projects 組中:

# usermod -ag projects tecmint  

# add user to projects# groups tecmint # check users groups 

3、 将目錄的所屬使用者組變更為 projects:

# chgrp projects /shares/project1/reports 

4、 現在,給組成員設定讀寫權限。

# chmod -r 0760 /shares/projects/reports 

# ls  -l /shares/projects/      #check new permissions 

好了!這篇教程中,我們向您展示了如何在 linux 中将指定目錄的讀寫權限賦予使用者。若有疑問,請在留言區中提問。

作者:aaron kili

來源:51cto

繼續閱讀