CentOS 6下的FTP伺服器搭建

2021-08-04 09:42:05 字數 3418 閱讀 1485

一般都使用ftp軟通過sftp登入,上傳檔案。

vsftpd作為ftp伺服器,在linux系統中是非常常用的。下面我們介紹如何在centos系統上安裝vsftp。
什麼是vsftpd

vsftpd是一款在linux發行版中最受推崇的ftp伺服器程式。特點是小巧輕快,安全易用。

vsftpd 的名字代表」very secure ftp daemon」, 安全是它的開發者 chris evans 考慮的首要問題之一。在這個 ftp 伺服器設計開發的最開始的時候,高安全性就是乙個目標。

#1、安裝vsftpd。以管理員(root)身份執行以下命令

yum install vsftpd
#2、設定開機啟動vsftpd ftp服務

chkconfig vsftpd on

#3、啟動vsftpd服務(預設ftp服務是沒有啟動的,用下面命令啟動)

service vsftpd start

管理vsftpd相關命令:

停止vsftpd:  service vsftpd stop

重啟vsftpd: service vsftpd restart

安裝完後,有/etc/vsftpd/vsftpd.conf 檔案,用來配置,還有新建了乙個ftp使用者和ftp的組,指向home目錄為/var/ftp,預設是nologin(不能登入系統)

可以用下面命令檢視使用者

cat /etc/passwd

yum -y install ftp

執行命令嘗試登入

ftp localhost

輸入使用者名稱ftp,密碼隨便(因為預設是允許匿名的)

登入成功,就代表ftp服務可用了。

但是,外網是訪問不了的,所以還要繼續配置。

因為ftp預設的埠為22

,而centos預設是沒有開啟的,所以要修改iptables檔案

vim /etc/sysconfig/iptables

在行上面有22 -j accept

注:自己的伺服器檔案中並無這一行,在同一目錄下發現了iptables.old和iptables.old檔案,拷貝其中任意一檔案內容至iptables中即可

)下面另起一行輸入跟那行差不多的,或者新增這行**:

-a input -m state --state new -m tcp -p tcp --dport 22 -j accept,然後:wq儲存。

儲存和關閉檔案,重啟防火牆:

service iptables restart

外網是可以訪問上去了,如果發現沒法返回目錄,也上傳不了,可能是因為selinux作怪了。

預設的配置檔案是/etc/vsftpd/vsftpd.conf,你可以用文字編輯器開啟。

vim /etc/vsftpd/vsftpd.conf

#1、修改/etc/vsftpd/vsftpd.conf

把第一行的anonymous_enable=yes,改為no,取消匿名登陸

將底下三行

#chroot_list_enable=yes

# (default follows)

#chroot_list_file=/etc/vsftpd.chroot_list

改為

chroot_list_enable=yes

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

重啟

service vsftpd restart

新增ftp使用者

#下面是新增ftpuser使用者,設定根目錄為/home/wwwroot/ftpuser,禁止此使用者登入ssh的許可權,並限制其訪問其它目錄。

useradd -d /home/wwwroot/ftpuser -g ftp -s /sbin/nologin ftpuser

#1、設定使用者口令

passwd ftpuser

#2、編輯檔案chroot_list:

vim /etc/vsftpd/chroot_list

內容為ftp使用者名稱,每個使用者佔一行,如:

peter

john

另外,如果覺得以後管理ftp使用者名稱嫌麻煩,可以使用centos官方發布的指令碼管理。位址如下:

getsebool -a | grep ftp

執行上面命令,再返回的結果看到兩行都是off,代表,沒有開啟外網的訪問。(這是因為伺服器開啟了selinux,這限制了ftp的登入。)

....   

allow_ftpd_full_access off

....

....

ftp_home_dir off

只要把上面都變成on就行

執行

setsebool -p allow_ftpd_full_access 1   

setsebool -p ftp_home_dir off 1

再重啟一下vsftpd

service vsftpd restart

這樣應該沒問題了(如果,還是不行,看看是不是用了ftp客戶端工具用了passive模式訪問了,如提示entering passive mode,就代表是passive模式,預設是不行的,因為ftp passive模式被iptables擋住了,下面會講怎麼開啟,如果懶得開的話,就看看你客戶端ftp是否有port模式的選項,或者把passive模式的選項去掉。如果客戶端還是不行,看看客戶端上的主機的電腦是否開了防火牆,關吧)

預設是開啟的,但是要指定乙個埠範圍,開啟vsftpd.conf檔案,在後面加上

pasv_min_port=30000   

pasv_max_port=30999

表示埠範圍為30000~30999,這個可以隨意改。

改完重啟一下vsftpd

由於指定這段埠範圍,iptables也要相應的開啟這個範圍,所以像上面那樣開啟iptables檔案

也是在22上下面另起一行,更那行差不多,只是把22 改為30000:30999,然後:wq儲存,重啟下iptables。這樣就搞定了。

CentOS 6下快速搭建ftp伺服器

centos 6下快速搭建ftp伺服器 1 用root 進入系統 2 使用命令 rpm qa grep vsftpd 檢視系統是否安裝了ftp,若安裝了vsftp,使用這個命令會在螢幕上顯示vsftpd的版本 3 使用命令rpm e vsftpd 即可解除安裝ftp 4 再使用rpm qa grep...

centos6下搭建Web伺服器

1 安裝apache2 2 啟動 方法一 service httpd start 方法二 瀏覽http ip,應該看到apache2的測試頁 3 設定開機啟動 方法一 chkconfig 方法二 chkconfig httpd on apache的預設文件根目錄是在centos上的 var www ...

CentOS6下搭建DNS伺服器

命令為 cd etc yum.repos.d 命令為 wget 命令為 yum makecache 命令為 yum install bind 命令為 vi etc named.conf。命令為 vi etc named.rfc1912.zones 建立正向查詢檔案命令為 vi var named n...