Linux下搭建FTP服務器(Ubuntu16.04)


搞了下FTP服務器,基本上能遇到的問題都遇到了-。-!

先說步驟:

1.安裝vsftpd軟件包

sudo apt-get install vsftpd

2.打開配置文件

vim /etc/vsftpd.conf

3.修改參數

一些參數可以去掉注釋激活,為了方便,你也可以注釋全部,然后添加下面的設置

#這些設置系統默認是開啟的,可以不管
listen=NO
listen_ipv6=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

#下面的就要自定義設置了,建議系統默認的不管,然后復制下面的

#是否允許匿名訪問,NO為不允許
anonymous_enable=NO
#是否允許本地用戶訪問,就是linux本機中存在的用戶,YES允許
local_enable=YES
#是否開啟寫模式,YES為開啟
write_enable=YES
#新建文件權限,一般設置為022,那么新建后的文件的權限就是777-022=755
local_umask=022

#是否啟動userlist為通過模式,YES的話只有存在於userlist文件中的用戶才能登錄ftp(可以理解為userlist是一個白名單),NO的話,白名單失效,和下面一個參數配合使用
userlist_enable=YES
#是否啟動userlist為禁止模式,YES表示在userlist中的用戶禁止登錄ftp(黑名單),NO表示黑名單失效,我們已經讓userlist作為一個白名單,所以無需使用黑名單功能
userlist_deny=NO
#指定哪個文件作為userlist文件,我們稍后編輯這個文件
userlist_file=/etc/vsftpd.user_list

#是否限制本地所有用戶切換根目錄的權限,YES為開啟限制,即登錄后的用戶不能訪問ftp根目錄以外的目錄,當然要限制啦
chroot_local_user=YES
#是否啟動限制用戶的名單list為允許模式,上面的YES限制了所有用戶,可以用這個名單作為白名單,作為例外允許訪問ftp根目錄以外
chroot_list_enable=YES
#設置哪個文件是list文件,里面的用戶將不受限制的去訪問ftp根目錄以外的目錄
chroot_list_file=/etc/vsftpd.chroot_list
#是否開啟寫模式,開啟后可以進行創建文件夾等寫入操作
allow_writeable_chroot=YES

#設置ftp根目錄的位置,這個文件我們稍后自己創建
local_root=/var/myftp

重啟vsftpd

 

sudo /etc/init.d/vsftpd restart

 

4.添加ftp用戶

順便將將用戶目錄設置為我們上面的ftp根目錄

sudo useradd -d /var/myftp ftpuser

設置用戶密碼

sudo passwd ftpuser

5.創建需要的文件,設置文件夾權限

上面我們指定了兩個文件,userlist文件和list文件,有時候系統不會自動創建,你要自己創建

vim /etc/vsftpd.user_list

然后添加ftpuser進去作為白名單的一員

vim /etc/vsftpd.chroot_list

設為空即可

創建用戶文件夾,設置權限

mkdir /var/myftp

權限設置可以根據你的使用場景來設置,我這里在根目錄下禁止此用戶寫,然后下面建兩個文件夾,一個download只允許讀取,upload允許寫和讀

 

chmod 555 /var/myftp
cd /var/myftp
mkdir upload
chmod 755 upload
mkdir download
chmod 555 download

 

最后檢查一下文件所有者,都改為ftpuser

6.使用ftp,解決各種問題

linux訪問輸入ftp 加 你的IP

ftp xxx.xxx.xxx.xxx

輸入用戶名ftpuser和密碼

如果登錄出現530錯誤:

vim /etc/pam.d/vsftpd

注釋掉#auth   required    pam_shells.so

然后ls一下,如果失敗了,切換到被動模式即可

passive mode

然后mkdir一下發現無法創建文件夾 550 create directory operation failed

setsebool -P ftpd_disable_trans on
/etc/init.d/vsftpd restart

即可


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM