在RedHat 7上安裝配置FTP服務和RedHat6基本一緻,本文是以系統盤自帶的vsftpd配置FTP服務。
首先使用yum安裝vsftpd:yum install vsftpd
建立兩個目錄,/data/ftpshare配置需登入服務且可讀寫,/data/ftppublic配置匿名登入但隻讀
<a href="http://s2.51cto.com/wyfs02/M00/83/09/wKiom1dpCLri0IY-AAAHGQx3AM0820.png" target="_blank"></a>
編輯配置檔案:vi /etc/vsftpd/vsftpd.conf,在末尾添加以下内容,指定預設的根目錄以及匿名登入目錄:
<a href="http://s2.51cto.com/wyfs02/M00/83/08/wKioL1dpCLrRx-iPAAAFxqx4OZI364.png" target="_blank"></a>
編輯配置檔案:vi /etc/vsftpd/user_list和vi /etc/vsftpd/ftpusers,注釋掉root,這樣root使用者才能登入ftp
<a href="http://s4.51cto.com/wyfs02/M02/83/1B/wKioL1drRlqj0WTBAABh4irlJfA999.png" target="_blank"></a>
<a href="http://s3.51cto.com/wyfs02/M02/83/1B/wKioL1drRlrTF201AAAqXb4EmEs041.png" target="_blank"></a>
<a href="http://s1.51cto.com/wyfs02/M01/83/09/wKiom1dpCL7CeX4iAACFrP9hzTE146.png" target="_blank"></a>
root登入FTP并建立檔案夾,測試可讀寫
<a href="http://s1.51cto.com/wyfs02/M02/83/08/wKioL1dpCMGijaqIAABdKAd7U_A431.png" target="_blank"></a>
建立ftp使用者ftpuser01,-s /sbin/nologin參數使該使用者無法登入伺服器,隻能登入FTP
<a href="http://s1.51cto.com/wyfs02/M01/83/08/wKioL1dpCMLCnQ_MAAA0OHvD-_Q304.png" target="_blank"></a>
使用ftpuser01登入
<a href="http://s4.51cto.com/wyfs02/M00/83/1C/wKioL1drTHWgtIukAABwG6CZjMw157.png" target="_blank"></a>
ftpuser01登入後隻能在自己的家目錄中有讀寫權限
<a href="http://s2.51cto.com/wyfs02/M01/83/09/wKiom1dpCMSgicOEAABh67xS3UU049.png" target="_blank"></a>
但無法在其他檔案夾寫入,因為對其他檔案夾沒寫入權限
但是如果用cmd登入,卻可以切換到其他目錄,這是一個安全隐患
<a href="http://s1.51cto.com/wyfs02/M00/83/1C/wKiom1drTOHATJzUAABlNa8iAiQ996.png" target="_blank"></a>
解決辦法:在伺服器中修改vsftpd的配置檔案,将chroot_local_user=YES的注釋符去掉
<a href="http://s1.51cto.com/wyfs02/M00/83/1C/wKiom1drTdORbJyfAAAYNk_xqt4907.png" target="_blank"></a>
然後重新開機一下服務,這樣FTP使用者登入後就無法切換到上級目錄了
<a href="http://s5.51cto.com/wyfs02/M01/83/1C/wKiom1drTf-DA_VBAAAR0PbYgaI393.png" target="_blank"></a>
但這樣會帶來一個新的問題,就是root使用者無法登入了,解決辦法也很簡單,就是在vsftpd配置檔案中增加一行:allow_writeable_chroot=YES
<a href="http://s2.51cto.com/wyfs02/M02/83/1C/wKiom1drTnbTnXNMAAAQ5YYkZ-0107.png" target="_blank"></a>
然後重新開機一下服務,root使用者就可以登入ftp了,而已包括root再内的所有使用者登入到ftp後都無法切換到上級目錄
測試匿名登入,測試可讀可下載下傳
<a href="http://s1.51cto.com/wyfs02/M02/83/09/wKiom1dpCMfyztYDAABbae5Ying255.png" target="_blank"></a>
但不可上傳,因為vsftpd的配置檔案中預設沒有允許匿名上傳
<a href="http://s2.51cto.com/wyfs02/M00/83/1D/wKiom1drUCzQL9PEAABc0wSe0mY264.png" target="_blank"></a>
本文轉自 jianlong1990 部落格,原文連結: http://blog.51cto.com/jiangjianlong/1791464 如需轉載請自行聯系原作者