首頁 運維 linux運維 CentOS 下搭建FTP伺服器

CentOS 下搭建FTP伺服器

Sep 04, 2017 pm 02:26 PM
centos 搭建 伺服器

vsftpd是Linux下方比較有名的FTP伺服器,搭建FTP伺服器當然首選這個。

本文介紹了在CentOS 6.4下安裝vsftpd、設定虛擬使用者登入FTP的過程。

正文:

一:安裝vsftpd

查看是否已經安裝vsftpd

rpm -qa | grep vsftpd
#如果没有,就安装,并设置开机启动
yum -y install vsftpd
chkconfig vsftpd on
登入後複製

二:基於虛擬使用者的設定

所謂虛擬使用者就是沒有使用真實的帳戶,只是透過映射到真實帳戶和設定權限的目的。虛擬用戶不能登入CentOS系統。

修改設定檔

開啟/etc/vsftpd/vsftpd.conf,做以下設定

anonymous_enable=NO #设定不允许匿名访问
local_enable=YES #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问
chroot_list_enable=YES #使用户不能离开主目录
ascii_upload_enable=YES
ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能
pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证
以下这些是关于vsftpd虚拟用户支持的重要配置项,默认vsftpd.conf中不包含这些设定项目,需要自己手动添加
guest_enable=YES #设定启用虚拟用户功能
guest_username=ftp #指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了
user_config_dir=/etc/vsftpd/vuser_conf #设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名
进行认证
chroot_list_file=/etc/vsftpd/vuser_passwd.txt
登入後複製

首先,安裝Berkeley DB工具,很多人找不到db_load的問題就是沒有安裝這個套件。

yum install db4 db4-utils
登入後複製

然後,建立使用者密碼文字/etc/vsftpd/vuser_passwd.txt ,注意奇行是使用者名,偶行是密碼

test
123456
登入後複製

接著,產生虛擬使用者認證的db檔案

db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db
登入後複製

隨後,編輯認證檔案/etc/pam.d/vsftpd,全部註解掉原來語句,再增加以下兩句:

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required pam_userdb.so db=/etc/vsftpd/vuser_passwd
登入後複製

最後,建立虛擬使用者設定檔

mkdir /etc/vsftpd/vuser_conf/
vi /etc/vsftpd/vuser_conf/test  #文件名等于vuser_passwd.txt里面的账户名,否则下面设置无效
内容如下
local_root=/ftp/www  #虚拟用户根目录,根据实际情况修改
write_enable=YES
anon_umask=022 #掩码
anon_world_readable_only=NO 
anon_upload_enable=YES 
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
登入後複製

設定Selinux(如果你的selinux是開啟的話)

setsebool -P ftp_home_dir=1   #设置ftp可以使用home目录
sersebool -P allow_ftpd_full_access=1   #设置ftp用户可以有所有权限
登入後複製

設定FTP根目錄權限

mkdir /ftp/www   #创建目录
chmod R 755 /ftp
chmod R 777 /ftp/www
登入後複製

最新的vsftpd要求對主目錄不能有寫的權限所以ftp為755,主目錄下面的子目錄再設定777權限

設定防火牆

開啟/etc/sysconfig/iptables

在「-A INPUT –m state --state NEW –m tcp –p –dport 22 –j ACCEPT”,下方新增:

-A INPUT m state --state NEW m tcp p dport 21 j ACCEPT
登入後複製

然後儲存,並關閉該文件,在終端機內執行下面的命令,刷新防火牆配置:

service iptables restart
登入後複製

OK,執行“service vsftpd start”,你就可以存取你的FTP伺服器了。

配置PASV模式

vsftpd預設沒有開啟PASV模式,現在FTP只能透過PORT模式連接,要開啟PASV預設需要透過下面的配置

開啟/etc/ vsftpd/vsftpd.conf,在末端新增

pasv_enable=YES   #开启PASV模式
pasv_min_port=40000   #最小端口号
pasv_max_port=40080   #最大端口号
pasv_promiscuous=YES
登入後複製

在防火牆設定內開啟40000到40080埠

-A INPUT m state --state NEW m tcp p dport 40000:40080 j ACCEPT
登入後複製

重啟iptabls和vsftpd

service iptables restart
service vsftpd restart
登入後複製

現在可以使用PASV模式連接你重新啟動iptabls和vsftpd

rrreee

現在可以使用PASV模式連接你重新啟動iptabls和vsftpd

rrreee

現在可以使用PASV模式連接你重新啟動iptabls和vsftpd

rrreee

現在可以使用PASV模式連接你重新啟動iptabls和vsftpd

rrreee

現在可以使用PASV模式連接你的FTP伺服器了~

常見錯誤:

問題一:

可我按照設定步驟走完一遍後發現每次都是

530 Login incorrect

找來找去才發現我把驗證用的vsftpd.vu創建在了etc的根目錄,而不是/etc/pam.d/vsftpd.vu

#問題二:

修改了上面的問題,還是不能登錄,提示我:

500 OOPS:bad bool value in config file for:anon_world_readable_only

google了一把發現有人說是設定檔的末尾不能有空格,開啟自己的設定檔一看,不只anon_world_readable_only這一行末尾,整個檔案的末尾都有幾個空格。唉,複製貼上網頁上的配置要謹慎啊。

###問題三:######500 OOPS: vsftpd: cannot locate user specified in 'guest_username':aaA######這個問題很奇葩,最後發現是最後大小寫的問題,應該是'aaa'######所以注意一下細節,安裝上面的步驟來是很簡單的###

以上是CentOS 下搭建FTP伺服器的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

CentOS上GitLab的備份方法有哪些 CentOS上GitLab的備份方法有哪些 Apr 14, 2025 pm 05:33 PM

CentOS系統下GitLab的備份與恢復策略為了保障數據安全和可恢復性,CentOS上的GitLab提供了多種備份方法。本文將詳細介紹幾種常見的備份方法、配置參數以及恢復流程,幫助您建立完善的GitLab備份與恢復策略。一、手動備份利用gitlab-rakegitlab:backup:create命令即可執行手動備份。此命令會備份GitLab倉庫、數據庫、用戶、用戶組、密鑰和權限等關鍵信息。默認備份文件存儲於/var/opt/gitlab/backups目錄,您可通過修改/etc/gitlab

怎樣優化CentOS HDFS配置 怎樣優化CentOS HDFS配置 Apr 14, 2025 pm 07:15 PM

提升CentOS上HDFS性能:全方位優化指南優化CentOS上的HDFS(Hadoop分佈式文件系統)需要綜合考慮硬件、系統配置和網絡設置等多個方面。本文提供一系列優化策略,助您提升HDFS性能。一、硬件升級與選型資源擴容:盡可能增加服務器的CPU、內存和存儲容量。高性能硬件:採用高性能網卡和交換機,提升網絡吞吐量。二、系統配置精調內核參數調整:修改/etc/sysctl.conf文件,優化TCP連接數、文件句柄數和內存管理等內核參數。例如,調整TCP連接狀態和緩衝區大小

centos關機命令行 centos關機命令行 Apr 14, 2025 pm 09:12 PM

CentOS 關機命令為 shutdown,語法為 shutdown [選項] 時間 [信息]。選項包括:-h 立即停止系統;-P 關機後關電源;-r 重新啟動;-t 等待時間。時間可指定為立即 (now)、分鐘數 ( minutes) 或特定時間 (hh:mm)。可添加信息在系統消息中顯示。

CentOS HDFS配置有哪些常見誤區 CentOS HDFS配置有哪些常見誤區 Apr 14, 2025 pm 07:12 PM

CentOS下Hadoop分佈式文件系統(HDFS)配置常見問題及解決方案在CentOS系統上搭建HadoopHDFS集群時,一些常見的錯誤配置可能導致性能下降、數據丟失甚至集群無法啟動。本文總結了這些常見問題及其解決方法,幫助您避免這些陷阱,確保HDFS集群的穩定性和高效運行。機架感知配置錯誤:問題:未正確配置機架感知信息,導致數據塊副本分佈不均,增加網絡負載。解決方案:仔細檢查hdfs-site.xml文件中的機架感知配置,並使用hdfsdfsadmin-printTopo

centos和ubuntu的區別 centos和ubuntu的區別 Apr 14, 2025 pm 09:09 PM

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

centos7如何安裝mysql centos7如何安裝mysql Apr 14, 2025 pm 08:30 PM

優雅安裝 MySQL 的關鍵在於添加 MySQL 官方倉庫。具體步驟如下:下載 MySQL 官方 GPG 密鑰,防止釣魚攻擊。添加 MySQL 倉庫文件:rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm更新 yum 倉庫緩存:yum update安裝 MySQL:yum install mysql-server啟動 MySQL 服務:systemctl start mysqld設置開機自啟動

centos配置ip地址 centos配置ip地址 Apr 14, 2025 pm 09:06 PM

CentOS 中配置 IP 地址的步驟:查看當前網絡配置:ip addr編輯網絡配置文件:sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0更改 IP 地址:編輯 IPADDR= 行更改子網掩碼和網關(可選):編輯 NETMASK= 和 GATEWAY= 行重啟網絡服務:sudo systemctl restart network驗證 IP 地址:ip addr

Centos停止維護2024 Centos停止維護2024 Apr 14, 2025 pm 08:39 PM

CentOS將於2024年停止維護,原因是其上游發行版RHEL 8已停止維護。該停更將影響CentOS 8系統,使其無法繼續接收更新。用戶應規劃遷移,建議選項包括CentOS Stream、AlmaLinux和Rocky Linux,以保持系統安全和穩定。

See all articles