1. 程式人生 > >在 Linux 上給使用者賦予指定目錄的讀寫許可權

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

轉自

https://linux.cn/article-8487-1.html

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

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

  • 作業系統:CentOS 7
  • 測試目錄:/shares/project1/reports
  • 測試使用者:tecmint
  • 檔案系統型別:ext4

請確認所有的命令都是使用 root 使用者執行的,或者使用 sudo 命令 來享受與之同樣的許可權。

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

  1. #mkdir
    -p /shares/project1/reports

使用 ACL 來為使用者賦予目錄的讀寫許可權

重要提示:打算使用此方法的話,您需要確認您的 Linux 檔案系統型別(如 ext3 和 ext4, NTFS, BTRFS)支援 ACL。

1、 首先, 依照以下命令在您的系統中檢查當前檔案系統型別,並且檢視核心是否支援 ACL:

  1. #df-T | awk '{print $1,$2,$NF}'|grep"^/dev"
  2. #grep-i acl /boot/config*

從下方的截圖可以看到,檔案系統型別是 ext4,並且從 CONFIG_EXT4_FS_POSIX_ACL=y

 選項可以發現核心是支援 POSIX ACL 的。

Check Filesystem Type and Kernel ACL Support

檢視檔案系統型別和核心的 ACL 支援。

2、 接下來,檢視檔案系統(分割槽)掛載時是否使用了 ACL 選項。

  1. #tune2fs-l /dev/sda1 |grep acl

Check Partition ACL Support

檢視分割槽是否支援 ACL

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

  1. #mount-o remount,acl /
  2. #tune2fs-o acl /dev/sda3

3、 現在是時候指定目錄 reports 的讀寫許可權分配給名為 tecmint

 的使用者了,依照以下命令執行即可。

  1. # getfacl /shares/project1/reports #Check the default ACL settings for the directory
  2. #setfacl-m user:tecmint:rw /shares/project1/reports #Give rw access to user tecmint
  3. # getfacl /shares/project1/reports #Checknew ACL settings for the directory

Give Read/Write Access to Directory Using ACL

通過 ACL 對指定目錄賦予讀寫許可權

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

如果想要獲取 ACL 列表的更多資訊。可以在下方檢視我們的其他指南。

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

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

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

  1. #chgrp tecmint /shares/project1/reports

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

  1. #groupadd projects

2、 接下來將使用者 tecmint 新增到 projects 組中:

  1. #usermod-aG projects tecmint # add user to projects
  2. #groups tecmint # check usersgroups

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

  1. #chgrp projects /shares/project1/reports

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

  1. #chmod-R 0760/shares/projects/reports
  2. #ls-l /shares/projects/#check new permissions

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

(題圖:Pixabay,CC0)