ssh服務已經開啓,關閉防火牆,主機和虛擬機能ping通linux
查看ssh和防火牆的狀態windows
service sshd status服務器
service iptables statusssh
開啓ssh服務tcp
service sshd startide
關閉防火牆性能
chkconfig iptables off測試
測試主機和虛擬機的連通性spa
ping 192.168.2.129rest
[root@localhost ~]# yum install tftp
[root@localhost ~]# yum install vsftpd
[root@localhost ~]# chkconfig vsftpd on
[root@localhost ~]# chkconfig tftp on
啓動vsftpd 服務
service vsftpd start
查看vsftpd 的啓動狀態
service vsftpd status
[root@localhost ~]# /sbin/iptables -I INPUT -p tcp --dport 21 -j ACCEPT
[root@localhost ~]# /sbin/iptables -I INPUT -p tcp --dport 20 -j ACCEPT
[root@localhost ~]# /etc/rc.d/init.d/iptables save
[root@localhost vsftpd]# useradd ftpuser
[root@localhost vsftpd]# passwd ftpuser
[root@localhost vsftpd]#vi /etc/vsftpd/vsftpd.conf
把第一行的 anonymous_enable=YES ,改成NO
注:
vsftpd的配置,配置文件中限定了vsftpd用戶鏈接控制配置。
vsftpd.ftpusers:位於/etc目錄下。它指定了哪些用戶帳戶不能訪問FTP服務器,例如root等。
vsftpd.user_list:位於/etc目錄下。該文件裏的用戶帳戶在默認狀況下也不能訪問FTP服務器,僅當vsftpd .conf配置文件裏啓用userlist_enable=NO選項時才容許訪問。
vsftpd.conf:位於/etc/vsftpd目錄下。來自定義用戶登陸控制、用戶權限控制、超時設置、服務器功能選項、服務器性能選項、服務器響應消息等FTP服務器的配置。以下
[root@Mclass vsftpd]# cat ftpusers
# Users that are not allowed to login via ftp
root
…
[root@Mclass vsftpd]#
[root@localhost upload]# service vsftpd restart
C:\Users\Administrator>ftp 192.168.1.112
鏈接到 192.168.1.112。
220 (vsFTPd 2.2.2)
用戶(192.168.1.112:(none)): ftpuser
331 Please specify the password.
密碼:
500 OOPS: cannot change directory:/home/ftpuser
登陸失敗。
ftp> bye
能夠看到報了個錯誤:500 OOPS: cannot change directory:/home/ftpuser。緣由是CentOS系統安裝了SELinux,由於默認下是沒有開啓FTP的支持,因此訪問時都被阻止了。查看以下:
[root@localhost vsftpd]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
[root@localhost vsftpd]#
只要把allow_ftpd_full_access --> off,ftp_home_dir --> off改成on就能夠了。
[root@localhost vsftpd]# setsebool ftp_home_dir 1
[root@localhost vsftpd]# setsebool allow_ftpd_full_access 1
如執行getsebool -a | grep ftp出現getsebool: SELinux is disabled的錯誤,需從新開啓selinux
vi /etc/selinux/config
更改成:SELINUX=enabled
必須重啓linux,不重啓是沒辦法馬上開啓selinux的
重啓完之後,就可使用getsebool -a | grep ftp命令了
再次查看
[root@localhost vsftpd]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> on
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> on
ftpd_connect_db --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
再次測試鏈接
C:\Users\Administrator>ftp 192.168.1.112
鏈接到 192.168.1.112。
220 (vsFTPd 2.2.2)
用戶(192.168.1.112:(none)): ftpuser
331 Please specify the password.
密碼:
230 Login successful.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> bye
221 Goodbye.
Ok,配置成功,能夠用flashxftp來進行上傳文件了。
首先在/home的目錄中建立一個目錄,而後設置權限爲777
[root@localhost home]# mkdir upload
[root@localhost upload]# chmod -R 777 /home/upload
而後修改vsftp的配置文件vsftpd.conf文件
[root@localhost upload]# vi /etc/vsftpd/vsftpd.conf
在最後添加上
local_root=/home/upload
保存,而後重啓vsftpd服務器程序。
配置完成,就能夠經過ftp上傳文件到/home/upload目錄下了。