如果你不希望自己的文件被人讀取,又或者只是不想某個特定的用戶讀取修改文件,限制訪問權限是最好的處理方法,下面小編就給大家介紹下Linux下限制用戶訪問權限的方法,一起來學習下吧。
現在需要限定某個用戶對特定目錄/文件的訪問權限,或者把某個用戶的訪問范圍限制在某個目錄/文件中。現實情況下,還是能遇到這樣的需求的,比如說ubuntu下有多個可登錄用戶,默認情況下,用戶A的工作目錄(一般為/home/A)對任何其他用戶來說都是可讀的,但是用戶A可能不希望其他用戶(或者某個特定用戶)讀取A的文件。
這裡提出三個解決方案。
第一種:使用chmod更改特定目錄的權限。這能起到限制特定目錄被某些人訪問的作用,限定某個用戶的目的也能達到,但是會誤傷其他用戶。
第二種:使用linux容器,例如lxc。耗費空間,設置稍顯麻煩。
第三種:使用setfacl命令設定訪問控制。
其中,第三個方案是最符合要求的。本文主要講該方案的具體實現並在我自己的本上測試。我的系統為Linux Mint 15 64位,根目錄/使用的是ext4文件系統,/home使用的btrfs文件系統。
安裝acl
代碼如下:
sudo apt-get install acl
有資料說是要重啟系統,但是測試的時候我發現這個在以前就已經安裝好了(不知道是Mint自帶了還是我胡亂裝的),沒有重啟依舊有效。
使用setfacl
以root的身份執行下面的命令:
代碼如下:
# mkdir /home/test
# touch /home/test/foo.txt
# vim /home/test/foo.txt
# ls -ld /home/test/
drwxr-xr-x 1 root root 14 Jan 16 09:46 /home/test/
# ls -ld /home/test/foo.txt
-rw-r--r-- 1 root root 6 Jan 16 09:46 /home/test/foo.txt
上面的命令在/home目錄下創建目錄test,在test目錄下創建文件foo.txt,並在foo.txt下隨便加了些內容。然後以普通用戶letian的身份訪問foo.txt,可以讀foo.txt。
 12 共2頁