方法1.用戶組控制方法
?
?
先給所有的虛擬主機主機中的虛擬用戶(ftp用戶)加入到apache這個組.然后設置umask為002.這樣用戶和組都有讀寫執行權限。這個是比較容易的方法.但不安全。不同的用戶可以刪除對方的文件,因為是同一個組,組有讀寫執行的權限.
方法2.使用linux高級的權限管理acl?
對一個目錄設置二重權限,除了用戶本身的用戶組,在加入apache對他要讀寫執行的權限.?
這樣用戶就能刪除apache生成的文件.但為別人的組,別的虛擬用戶他沒法刪除.?
下面我們就來看看第二種的控制方法?
linux系統里面,并不是只能為所有者,同組用戶和其他用戶這三類人分配一個文件(目錄)的權限,你還可以指定其他的用戶或者組,不過有個前提,掛載分區的時候加上acl選項,比如:?
mount /dev/hda1 /home -o acl。?
然后你可以使用?
setfacl -m u:ftp:rwx /home/ftp/www?
命令來給ftp用戶分配/home/ftp/www目錄的所有權限?
如果你要/home/ftp/www/下面新建的目錄和文件也有同樣的權限?
setfacl -d -m u:ftp:rwx /home/ftp/www?
設置默認的權限,這個命令還可以實現多個用戶的不同權限的控制,比如?
setfacl -m u:ftp:rwx /home/www;?
setfacl -m u:tmp:r-x /home/www;?
ftp用戶擁有所有權限,tmp用戶擁有只讀權限。?
你還可以設置mask的值:?
setfacl -m m::rwx /home/www;?
這樣,新建的你就可以讓虛擬主機的用戶和apache用戶都有權限操作文件和目錄了,比如apache用戶的用戶名是apache,虛擬主機的用戶名是vmuser,目錄是/home/vmuser/www,可以使用以下的命令:?
setfacl -m u:vmuser:rwx /home/vmuser/www;?
setfacl -m u:apache:rwx /home/vmuser/www;?
setfacl -d -m u:vmuser:rwx /home/vmuser/www;?
setfacl -d -m u:apache:rwx /home/vmuser/www;?
setfacl -m m::rwx /home/vmuser/www;?
setfacl -d -m m::rwx /home/vmuser/www;
本文轉自 ? ?geekwolf ? 51CTO博客,原文鏈接:http://blog.51cto.com/linuxgeek/997909