by Devin Yang , 3 years ago

我想現在的Linux大多支援Access Control List (ACL)。在檔案系統ACL啟用的情況下,
我們可以設定額外的權限給不同的使用者或群組。
這讓我們更加自由的來設定不同使用者的檔案系統權限。

直接來看命令。
下方的u代表了設定share資料夾,給test的使用者有rwx權限。
setfacl -m u:test:rwx share/
換成g,則代表了,設定test的群組對share/資料夾有rwx權限。
setfacl -m g:test:rwx share/
如果要設定目錄下也含子目錄的所有檔案,參數是-R。(遞迴)
合起來輸入就是-Rm。

問題來了,如果這麼設定,全部的檔案都變成有執行的權限。所以如何設定
檔案是沒有x的權限,只有目錄才有x的執行權限(進入目錄的權限)。
非常簡單,我們可以用大寫的X搞定。
例如:
setfacl -Rm u:git:rwX /var/www
這樣就會有漂漂的顏色,而不是一片慘綠了。

另外提一下,我們用getfacl取得額外的檔案資訊。
例如:我用root設定了git使用者,如下權限。
setfacl -Rm u:git:rwX humanity-1.10.4/
使用git使用者查看

在上圖中,大家是否有注意到了,-rw-rw-r--+。在ls -l時,多了一個+
非常顯而易見,就代表了,這個檔案,有額外的ACL權限設定囉。

現在用getfacl images來看看images目錄的使用者(user)權限,是有執行權限的。

如果您喜歡這篇文章,請給我個Like吧? 

 

Tags: linux

Devin Yang

有什麼建議或想法,歡迎提出來哦

No Comment

Post your comment

Login is required to leave comments

Similar Stories


linux

rsync回傳的錯誤碼

這裡列出所有的rsync錯誤碼,因此在排程中,我們可以了解失敗的原因。

web-hosting,laravel

智邦安裝Laravel 5.4經驗分享

在智邦的Linux 7.0平台安裝Laravel 5.4,成功執行案例分享, 因為原本是舊版的PHP,第一次可以免費轉移至新版本, 所以請他們開了一個測試的php 7.0環境給我們測試,小調整後, Laravel的環境確實可在智邦的代管主機上執行。 本文介紹,我如何在智邦成功的執行Laravel的網站過程。

dlaravel

D-Laravel上的.env.example檔說明

本文說明關於D-Laravel上的.env設定 MYSQL_ROOT_PASSWORD=secret LARAVEL_INSTALLER='container' DOCKER_SERVICES='docker-compose.yml service/redis.yml'