Linux下Proftpd和Mysql的管理方法
Linux下Proftpd和Mysql的簡單管理方法:proftpd和mysql組合可以完成比較龐大而且完備的權限控制,但是也同樣增加了管理和維護的復雜性,在這里我介紹一種簡單易行的配置方法,適用于100個用戶以下的應用。這種方法的核心在于巧妙的運用了設置gid位,讀者最好找資料了解一下相關的知識。這種方法的配置管理工作相當少,也相當的簡單,同時還可以保持一個清晰的權限系統結構。
一、思路
首先需要明確的概念是proftpd的用戶與linux系統的用戶的關系:linux系統的用戶即為proftpd的用戶。proftpd的權限控制是基于Linux系統得權限控制之上的,即用戶對于某個文件或目錄,必須先有Linux系統的權限,在此基礎上proftpd才能設置其特有的一些權限。其實一般來說Linux自有的權限系統就是一個比較完善的權限系統了,我們完全可以只利用這個權限系統,就足可以滿足我們的要求了。
我們設置一個ftp管理員ftpadmin屬于ftpadmin組,ftp的根目錄/ftp是ftpadmin的個人根目錄,這樣ftpadmin可以完成日常的管理。通過設置/ftp的gid可以保證新上傳的文件是屬于ftpadmin用戶,加上再設置umask值002保證上傳文件的組讀寫權限,這樣管理員就可以對其管理下的文件進行管理,而同時保證了不改變該文件的屬主。
ftp的用戶,我們只需新建一個Linux用戶,而把他的用戶目錄制定在/ftp之下就可以。操作起來很簡單。
二、建立ftp管理員:ftpadmin
- [root@localhost root]groupadd ftpadmin #ftpadmin為新添加的組的名字
- [root@localhost root]useradd -d
- /ftp -g ftpadmin -s /sbin/nologin admin
- [root@localhost root]chmod 2775 /ftp
同時保證ftpadmin 是 /ftp的屬主,ftpadmin 是/ftp的組屬主。這樣就保證了ftpadmin對要管理的/ftp目錄有全部的權限。
-s /sbin/nologin 指定用戶不能從shell登錄,就是說只能從ftp方式登錄,這樣是出于安全的考慮。
修改/usr/local/etc/proftpd.conf
- nobody ftpadmin
- nogroup ftpadmin
- Umask 002
#允許所有者,組用戶對ftp進行管理。
掩碼Umask改為 002 。即組成員和所有者都可對文件夾進行增刪,改等操作。其他用戶可讀可執行,但不可寫。這樣,ftpadmin用戶可以通過同組的身份對所有的文件進行讀寫,同時也不改變其內容的原有權限。也就說,不改變這個文件夾下的文件的所有者身份,但同時又可以管理這些文件。
chmod 2775 /ftp,通過設置了文件夾的gid,以后在這個文件夾下寫的所有文件,不管其所有者是誰,文件的組必定是ftpadmin(因為/ftp的組屬于ftpadmin),都合理的被納于ftpadmin的管理之下。
三、添加用戶:user1
useradd -d /ftp/user1 -g ftpadmin -s
/sbin/nologin user1
這樣user1就對/ftp/user1的目錄有完整的權限,而作為管理員也可以通過組權限對目錄進行管理。
每當需要添加用戶的時候,只需方便的簡單的添加一個Linux的用戶就可以了。
四、對應的配置文件
這是proftpd.conf中的重要條目
Umask 002
DefaultRoot
Umask 002 保證了新建的文件有組讀寫權限。
DefaultRoot ~ 保證 每個用戶登錄后被鎖定在自己的目錄里,看不到其他用戶的目錄。
讀者最好找資料了解一下相關的知識。這種方法的配置管理工作相當少,也相當的簡單,同時還可以保持一個清晰的權限系統結構。讀完本文以后,讀者對Linux下Proftpd和Mysql的管理方法了解多多少了呢?還不趕快實踐實踐?
【編輯推薦】