Linux搭建ftp服務器

FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用于Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)?;诓煌牟僮飨到y(tǒng)有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。

一般在各種linux的發(fā)行版中,默認帶有的ftp軟件是vsftp,從各個linux發(fā)行版對vsftp的認可可以看出,vsftp應該是一款不錯的ftp軟件。

1、檢查安裝vsftpd軟件 使用如下命令#rpm -qa |grep vsftpd可以檢測出是否安裝了vsftpd軟件, 如果沒有安裝,使用yum命令進行安裝。

# sudo yum install vsftpd -y安裝vsftp

2、啟動服務 使用vsftpd軟件,主要包括如下幾個命令:

啟動ftp命令#sudo service vsftpd start

停止ftp命令#sudo service vsftpd stop

這里如果遇到報錯,估計是使用的是Centos7或者 Fedora高版本。啟用服務變化了:

Redirecting to /bin/systemctl start vsftpd.service

執(zhí)行命令使用:

/bin/systemctl start vsftpd.service

重啟ftp命令#sudo service vsftpd restart

查看是否啟動成功命令:? sudo netstat -tunlp

現在就是改配置文件,首先你要關閉ftp,去禁用匿名登錄

使用?vim /etc/vsftpd/vsftpd.conf?打開配置文件

anonymous_enable=NO #禁止匿名

local_enable=YES? ? ? ? ? ? ? ? ? ? ? #允許本地登錄

write_enable=YES? ? ? ? ? ? ? ? ? ? ? #允許寫,如需上傳,則必須

llocal_umask=027#將上傳文件的權限設置為:777-local_umask

anon_upload_enable=YES? ? ? ? ? #允許虛擬用戶和匿名用戶上傳

anon_other_write_enable=YES #允許虛擬用戶和匿名用戶修改文件名和刪除文件

dirmessage_enable=YES? ? ? ? ?

xferlog_enable=YES? ? ? ? ? ? ? ? ? ? ? #打開日志記錄

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log? ? #日志存放位置

xferlog_std_format=YES? ? ? ? ? ? ? #標準日志格式

idle_session_timeout=600? ? ? ? #空閑連接超時

data_connection_timeout=120ftpd_banner=Welcome to ChinaRise FTP service? ? ? #歡迎信息

chroot_local_user=NO? ? ? ? ? ? ?

chroot_list_enable=YES

#以上兩行將虛擬用戶限制在其目錄下,不能訪問其他目錄,或者直接用? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

listen=yes? ? ? ? ? ? ? #監(jiān)聽/被動模式

listen_port=21#監(jiān)聽端口

chroot_list_file=/etc/vsftpd/vsftpd.chroot_list? ? ? #虛擬用戶名單保存在文件/etc/vsftpd/vsftpd.chroot_list 中

user_config_dir=/etc/vsftpd/vsftpd_user_conf? #每個虛擬用戶名的更加詳細的培植保存在/etc/vsftpd/vsftpd_user_conf 中

使用命令查看更改生效的配置為文件:?cat /etc/vsftpd/vsftpd.conf |grep ^[^#]

這里要注意不能有多余空格否則啟動不了

改完配置文件,不要忘記重啟vsFTPd服務器。

#?/etc/init.d/vsftpd?restart

創(chuàng)建帳號:

# useradd -d /home/test test? ? ? ? ? ? ? ?//增加用戶test,并制定test用戶的主目錄為/home/test

修改密碼:

# passwd test? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//為test設置密碼


FileZilla下載連接ftp進行連接

安裝ftp:?sudo yum install ftp

進入ftp:? ?ftp

重要之處記得改文件:

chmod 777 home/

chmod 777 home/ec2-user/

上面這兩個命令慎用,因為改了文件夾權限,所以你要想明白,你的密鑰就有可能不能用了(如下鏈接):

http://blog.51cto.com/h2appy/1112797

就特別指出你的密鑰生效不能用:

所以用密鑰登錄每條指令都慎用,一條你不知道的指令有可能給你服務器照成無法彌補的錯誤。


1. 500 OOPS: could not read chroot() list file:/etc/vsftpd/vsftpd.chroot_list:

解決方法::是因為沒有這個文件。在/etc/下面新建一個vsftpd.chroot_list

當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list文件中列出的用戶,可以切換到其他目錄;未在文件中列出的用戶,不能切換到其他目錄。___已實驗證明。


2. 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

解決方法:

#vi /etc/vsftpd.conf (或者是在/etc/vsftpd/vsftpd.conf,總之知道自己服務器的配置文件)

添加 allow_writeable_chroot=YES


還少一個重要的配置:

1,指定登錄到的根目錄

local_root=/home/ftp (那他就登錄到這個目錄,權限就跟就是這個目錄的權限)


2.如果要刪除用戶,用下面代碼:

#在root用戶下:??

userdel?-r?newuser??

#在普通用戶下:??

sudo?userdel?-r?newuse

####指導qq:179061434

####求求你盡情蹂躪我吧:

![image.png](https://upload-images.jianshu.io/upload_images/5949949-604671c69b8a85e6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容