Centos 6.2 安裝 proftpd , 一般內建在centos的ftp套件為vsftp.但proftpd對於檔案下載的安全性與權限較為細膩.
包含某個資料夾某個權限可下載不可上傳或某個可上傳不可下載.
現在開始安裝proftpd
我們在安裝一些工具或套件時,在CentOS yum 的官方資料庫中可能沒有。所以我們需要另外定義非官方資料庫文件,讓某些工具也能透過 yum 來安裝。
------------------------------------------------------------------------------------------------------------------------------------------------------------
vi /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for Red Hat Enterprise Linux
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
gpgcheck=1
enabled=1
http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
匯入非官方資料庫的GPG
rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
------------------------------------------------------------------------------------------------------------------------------------------------------
開始安裝 yum -y install proftpd
而 /etc/pam.d/proftpd 的內容
#%PAM-1.0
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required pam_stack.so service=system-auth
auth required pam_shells.so
account required pam_stack.so service=system-auth
session required pam_stack.so service=system-auth
需改為
#%PAM-1.0
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth required pam_shells.so
account include password-auth
session required pam_loginuid.so
----------------------------------------------------------------------------------------------------------------------------------------------------------
重啟proftpd即可
PS:子目錄權限設定範例
A.alienstaff 對於 /home/ftp/upload與download皆有讀寫上傳權限
B.alienftp對於/home/ftp/upload只能上傳不能下載
對於/home/ftp/download不能上傳只能下載
我們在proftpd.conf底下可加上下列語法
<Directory /home/ftp/upload>
<Limit WRITE>
AllowAll
</Limit>
<Limit DELE RMD RNFR RETR >
DenyAll
AllowUser alienstaff
</Limit>
</Directory><Directory /home/ftp/download>
<Limit RETR>
AllowAll
</Limit>
<Limit WRITE DELE RMD >
DenyAll
AllowUser alienstaff
</Limit>
</Directory>重啟即可
proftpd相關參數
ProFTPd 参数(
最重要的就是limit之中的部分,具體權限設定如下
CMD:Change Working Directory 改变目录
MKD:MaKe Directory 建立目录的权限
RNFR: ReName FRom 更改目录名的权限
DELE:DELEte 删除文件的权限
RMD:ReMove Directory 删除目录的权限
RETR:RETRieve 从服务端下载到客户端的权限
STOR:STORe 从客户端上传到服务端的权限
READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
WRITE:写文件或者目录的权限,包括MKD和RMD
DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
ALL:所有权限
LOGIN:是否允许登陆的权限
针对这些设置,又有如下具体的配置:
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit
AllowGroup 针对某个用户组允许的Limit
DenyGroup 针对某个用户组禁止的Limit
AllowAll 针对所有用户组允许的Limit
DenyAll 针对所有用户禁止的Limit
參考資料網站:
http://www.vixual.net/blog/archives/775
http://os.51cto.com/art/201102/245832.htm
http://bojack.pixnet.net/blog/post/4012099