為了完成這個教程,我們将使用以下設定。
作業系統:centos 7
測試目錄:<code>/shares/project1/reports</code>
測試使用者:tecmint
檔案系統類型:ext4
讓我們開始吧!下面,先使用 <code>mkdir</code> 指令來建立一個名為 <code>reports</code> 的目錄。
<code># mkdir -p /shares/project1/reports</code>
<a target="_blank"></a>
重要提示:打算使用此方法的話,您需要确認您的 linux 檔案系統類型(如 ext3 和 ext4, ntfs, btrfs)支援 acl。
<code># df -t | awk '{print $1,$2,$nf}' | grep "^/dev"</code>
<code># grep -i acl /boot/config*</code>
從下方的截屏可以看到,檔案系統類型是 <code>ext4</code>,并且從 <code>config_ext4_fs_posix_acl=y</code> 選項可以發現核心是支援 posix acl 的。
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQXeqtGe0Rnc5UTdzY2b5tGOwQDMxIzLcdDMvwVNwcTMwIzLc1WdixWYvwFduVWboNWY0RXYvwVY0FGZvwVZt5CevJWcu42Y4VnbpxWLuR2Lc9CX6MHc0RHaiojIsJye.png)
檢視檔案系統類型和核心的 acl 支援。
2、 接下來,檢視檔案系統(分區)挂載時是否使用了 acl 選項。
<code># tune2fs -l /dev/sda1 | grep acl</code>
檢視分區是否支援 acl
通過上邊的輸出可以發現,預設的挂載項目中已經對 acl 進行了支援。如果發現結果不如所願,你可以通過以下指令對指定分區(此例中使用 <code>/dev/sda3</code>)開啟 acl 的支援。
<code># mount -o remount,acl /</code>
<code># tune2fs -o acl /dev/sda3</code>
3、 現在是時候指定目錄 <code>reports</code> 的讀寫權限配置設定給名為 <code>tecmint</code> 的使用者了,依照以下指令執行即可。
<code># getfacl /shares/project1/reports # check the default acl settings for the directory</code>
<code># setfacl -m user:tecmint:rw /shares/project1/reports # give rw access to user tecmint</code>
<code># getfacl /shares/project1/reports # check new acl settings for the directory</code>
通過 acl 對指定目錄賦予讀寫權限
在上方的截屏中,通過輸出結果的第二行 <code>getfacl</code> 指令可以發現,使用者 <code>tecmint</code> 已經成功的被賦予了<code>/shares/project1/reports</code> 目錄的讀寫權限。
如果想要擷取 acl 清單的更多資訊。可以在下方檢視我們的其他指南。
現在我們來看看如何使用第二種方法來為目錄賦予讀寫權限。
1、 如果使用者已經擁有了預設的使用者組(通常組名與使用者名相同),就可以簡單的通過變更檔案夾的所屬使用者組來完成。
<code># chgrp tecmint /shares/project1/reports</code>
<code># groupadd projects</code>
2、 接下來将使用者 <code>tecmint</code> 添加到 <code>projects</code> 組中:
<code># usermod -ag projects tecmint # add user to projects</code>
<code># groups tecmint # check users groups</code>
3、 将目錄的所屬使用者組變更為 projects:
<code># chgrp projects /shares/project1/reports</code>
4、 現在,給組成員設定讀寫權限。
<code># chmod -r 0760 /shares/projects/reports</code>
<code># ls -l /shares/projects/ #check new permissions</code>
好了!這篇教程中,我們向您展示了如何在 linux 中将指定目錄的讀寫權限賦予使用者。若有疑問,請在留言區中提問。
原文釋出時間為:2017-05-07
本文來自雲栖社群合作夥伴“linux中國”