文章主要講了CentOS8如何利用vsftpd搭建一個FTP服務器,而後進行簡單的匿名上傳/下載與用戶上傳/下載測試,還有使用了wget測試.linux
yum install -y vsftpd
service httpd start
能夠用vim
systemctl list-unit-files | grep vsftpd
查看是否開機啓動.顯示disabled.瀏覽器
經過bash
chkconfig vsftpd on
開啓自啓,再次執行systemctl,能夠看到變成了enabled.服務器
sudo vim /etc/vsftpd/vsftpd.conf
首先修改測試
爲YES.spa
再添加一行anon_upload_enable=YES3d
第一行的意思是容許匿名登陸,第二行的意思是容許匿名上傳.
重啓服務.rest
service vsftpd restart
cd /var/ftp/pub sudo vim test
ifconfig獲取內網ip,在瀏覽器中輸入ftp://ip.code
能夠看到有一個pub文件夾,裏面有剛纔新建的test文件.
右鍵保存便可下載文件.
下載完成.
去終端看看.
輸入
ftp://username@ip
再輸入用戶密碼.
默認訪問的是用戶根目錄下的文件,這裏顯示出來了.
下載的話同上,右鍵選擇便可.
首先安裝ftp:
sudo yum install ftp
ftp ip
這裏用戶名選擇ftp,密碼爲空,表示匿名登陸.ftp爲默認的匿名登陸用戶名,至於密碼,能夠在/etc/vsftpd/vsftpd.conf中設置一個
no_anon_password=YES
這樣匿名用戶能夠不用密碼登陸.
直接使用put命令,後面接上文件,這裏的upload.txt是執行ftp以前的所在文件夾下的upload.txt
這裏提示不能建立文件,是權限的緣由,要確保/var/ftp/pub對"other"用戶有寫權限.
默認的/var/ftp/pub的權限是644,修改爲647.
sudo chmod 647 /var/ftp/pub
同時修改上傳文件的權限,容許other用戶可讀.
sudo chmod 644 /root/upload.txt
若是不行,使用selinux設置.
getsebool -a | grep ftp
把ftpd_full_access開啓:
setsebool ftpd_full_access on
再進入upload.txt所在的文件夾,執行ftp,再次put.
成功!
直接get文件便可,因爲上面已經設置好了權限,因此不會出現問題.
若出現權限問題可從三方面入手:
執行ftp時用對應用戶名與密碼登陸.
默認進入了用戶根目錄.
直接put便可.
若出現權限問題參照上面7.2.1.2的那三條方法.
隨便在用戶根目錄新建一個文件,這裏是kr.
直接get便可.
wget用來下載文件,初始下載的目錄與ftp登陸時的目錄一致,好比匿名登陸ftp,登陸的是/var/ftp目錄,則wget會從這個/var/ftp目錄下載文件,下載到執行wget命令所在的目錄.使用用戶"kr"登陸ftp,則登陸的是/home/kr目錄,wget會從/home/kr下載文件.
注意,請確保被下載文件對other用戶有可讀權限.
sudo chmod o+w xxxxxx
而後使用wget
wget ftp://ip/pub/xxxx
使用--ftp-user,--ftp-password指定用戶名與密碼,其他同上.
wget ftp://ip/xxx --ftp-user=xxxx --ftp-password=xxxx
成功.
呃....簡單來講,就是先安裝好ftp與vsftpd,而後修改/etc/vsftpd/vsftpd.conf添加相應權限,對於不能上傳與下載的緣由,基本上都是權限的問題,主要就是三方面:
解決權限問題後,基本就能夠經過ftp或wget順利地使用這個ftp服務器上傳/下載文件了.