CentOS6上ftp服務器搭建實戰


1.安裝程序包

[root@node1 ~]$ yum install -y vsftpd
[root@node1 ~]$ yum install -y lftp # 安裝測試軟件

 

2.啟動vsftpd服務

[root@node1 ~]$ setenforce 0                       #關閉selinux
setenforce: SELinux is disabled                     
[root@node1 ~]$ service iptables stop                  #關閉防火牆  
[root@node1 ~]$ service vsftpd start                  # 啟動服務
為 vsftpd 啟動 vsftpd:                                    [確定]
[root@node1 ~]$ service vsftpd status
vsftpd (pid 6473) 正在運行...

 [root@node1 ~]$ ss -tnl | grep 21                    #默認監聽21號端口 
  LISTEN 0 32 *:21 *:*

3.訪問vsftpd服務器,在本機或者其他主機,在其他主機上測試,需要先確認兩台主機能進行網絡通信ping

在linux上訪問測試

[root@localhost ~]#lftp 172.16.55.6
lftp 172.16.55.6:~> ls              
drwxr-xr-x    2 0        0            4096 May 11  2016 pub
lftp 172.16.55.6:/> 

windows上訪問測試

C:\Users\Vathe>ftp 172.16.55.6                 #連接
Connected to 172.16.55.6.      
220 (vsFTPd 2.2.2)
200 Always in UTF8 mode.
User (172.16.55.6:(none)): ftp              #輸入用戶名
331 Please specify the password.
Password:                          #密碼為空
230 Login successful.
ftp> ls                           #顯示文件 
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
pub
226 Directory send OK.
ftp: 8 bytes received in 0.00Seconds 8000.00Kbytes/sec.
ftp> pwd                           #顯示當前目錄
257 "/"
ftp> cd pub
250 Directory successfully changed.

4.創建本地用戶admin

[root@node1 vsftpd]$ useradd admin
[root@node1 vsftpd]$ echo "admin" | passwd --stdin admin
更改用戶 admin 的密碼 。
passwd: 所有的身份驗證令牌已經成功更新。

 

5.修改配置文件vsftpf.conf

[root@node1 vsftpd]$ cp vsftp.conf{,.bak}          #備份操作
[root@node1 vsftpd]$ vim vsftpd.conf
    chroot_local_user=YES                                 #禁錮所有本地用戶至家目錄
    chroot_list_enable=YES                                #指定需要禁錮的本地用戶
    chroot_list_file=/etc/vsftpd/chroot_list          #禁錮的用戶文件

[root@node1 vsftpd]$ pwd                       
/etc/vsftpd
[root@node1 vsftpd]$ vim chroot_list               #添加admin用戶
    admin
[root@node1 vsftpd]$ !ser                               #重啟vsftpd服務
service vsftpd reload
關閉 vsftpd:                                              [確定]
為 vsftpd 啟動 vsftpd:                                    [確定]

6.添加白名單

[root@node1 vsftpd]$ cd /etc/pam.d/
[root@node1 pam.d]$ vim vsftpd                             #修改pam的配置文件為白名單
    auth  required pam_listfile.so item=user sense=allow file=/etc/vsftpd/ftpusers onerr=succeed
  4

[root@node1 vsftpd]$ cp ftpusers{,.bak}                    #備份
[root@node1 vsftpd]$ vim ftpusers                          #修改白名單列表
    # Users that are not allowed to login via ftp
    admin
    ftp

注:也可以使用vsftpd自身的配置文件/etc/vsftpd/user_list進行配置

 

測試登錄用戶

[root@localhost ~]#ftp 172.16.55.6                # 連接
Connected to 172.16.55.6 (172.16.55.6).
220 (vsFTPd 2.2.2)
Name (172.16.55.6:root): ftp             # ftp用戶登錄成功
331 Please specify the password.
Password:                                         # 不需要密碼登錄
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> exit
221 Goodbye.
[root@localhost
~]#ftp 172.16.55.6 Connected to 172.16.55.6 (172.16.55.6). 220 (vsFTPd 2.2.2) Name (172.16.55.6:root): vathe # 其他用戶(非白名單用戶)登錄 331 Please specify the password. Password: 530 Login incorrect.                   Login failed. # 登錄失敗 ftp>

 

vstfpd服務常見文件目錄

[root@node1 ~]$ rpm -ql vsftpd                          #查看程序包相關文件
/etc/logrotate.d/vsftpd                   
/etc/pam.d/vsftpd     
/etc/rc.d/init.d/vsftpd                                 #主程序文件
/etc/vsftpd/ftpusers                                    #pam模塊默認的黑名單配置文件
/etc/vsftpd/user_list                                   #黑名單或白名單配置文件
/etc/vsftpd/vsftpd.conf                                 #主配置文件
...
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE       #示例文檔 
2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.xinetd
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE_NOINETD/vsftpd.conf
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/hosts.allow  
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS_2
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS_2/README
/usr/share/doc/vsftpd-2.2.2/FAQ
...
/usr/share/man/man8/vsftpd.8.gz
/var/ftp                                                #匿名用戶共享資源路徑
/var/ftp/pub                       

 


免責聲明!

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



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