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 的。

Check Filesystem Type and Kernel ACL Support

查看文件系統類型和內核的 ACL 支持。

2、 接下來,查看文件系統(分區)掛載時是否使用了 ACL 選項。

# tune2fs -l /dev/sda1 | grep acl

Check Partition ACL Support

查看分區是否支持 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

Give Read/Write Access to Directory Using ACL

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

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

如果想要獲取 ACL 列表的更多信息。可以在下方查看我們的其他指南。

  1. 如何使用訪問控制列表(ACL)為用戶/組設置磁碟配額
  2. 如何使用訪問控制列表(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 中將指定目錄的讀寫許可權賦予用戶。若有疑問,請在留言區中提問。

(題圖:Pixabay,CC0)

作者簡介:

Aaron Kili 是 Linux 和 F.O.S.S 愛好者,未來的 Linux 系統管理員和網路開發人員,目前是 TecMint 的內容創作者,他喜歡用電腦工作,並堅信分享知識。

via: http://www.tecmint.com/give-read-write-access-to-directory-in-linux/

作者:Aaron Kili 譯者:Mr-Ping 校對:jasminepeng

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國