linux下ftp服务器的上传下载的过程
4个回答
展开全部
在我用的所有ftp服务器中来说,首推iis7服务器管理工具,而且一直在用,感觉非常好。它可以作为FTP的客户端,想要进行FTP的上传下载操作,只需要下载安装iis7服务器管理工具就可以了,操作不复杂!
简单的介绍一下iis7服务器管理工具:可以批量管理WIN系列服务器、VPS、批量导入服务器VPS的IP,端口,账号和密码 、批量打开N个服务器VPS的远程桌面、远程桌面后,远程窗口右上角会出现 服务器备注的信息,如郑州xxx号服务器 5、远程桌面后,不影响任务栏显示。可以及时看其他窗口。支持多种方式连接,操作简洁,自身附带教程。
第一步:点击主程序图中“上传下载”键;
第二步:点击“ Ftp”;
第三步:点击“添加”;
第四步:在弹出服务器信息框中填写Ftp信息,注意:FIP ip端口、账号、密码为必填项;
第五步:选择需要打开的FTP服务器;
第六步:点击打开,即刻见FTP效果图。
展开全部
安装vsftpd这个程序.然后文本编辑器打开/etc/vsftpd.conf这个配置文件.
修改以下几行
#local_enble=yes
#write_enable=no
为
local_enble=yes
write_enable=yes
重启vsftpd服务就可以用本地用户上传了
修改以下几行
#local_enble=yes
#write_enable=no
为
local_enble=yes
write_enable=yes
重启vsftpd服务就可以用本地用户上传了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐于2017-12-16 · 知道合伙人数码行家
关注
展开全部
LinuxftpFTP是ARPANet的标准文件传输协议,该网络就是现今Internet的前身。通常我们使用ftp命令,主要是上传和下载文件,ftp登陆的用户一般都是一些虚拟用户,因为这是出于安全考虑。
语法:ftp[-dignv][主机名称或IP地址]
参数:
-v显示指令执行过程。
-n不使用自动登陆。
-g关闭本地主机文件名称支持特殊字符的扩充特性。
-i关闭互动模式,不询问任何问题。
-d详细显示指令执行过程,便于排错或分析程序执行的情形。
例子:登录124.16.144.120,命令
[root@localhostlane6]$ftp124.16.144.120
Connectedto124.16.144.120.
220(vsFTPd2.0.5)
530PleaseloginwithUSERandPASS.
530PleaseloginwithUSERandPASS.
KERBEROS_V4rejectedasanauthenticationtype
Name(124.16.144.120:root):anonymous#用户名
331Pleasespecifythepassword.#用户密码
Password:
230Loginsuccessful.
RemotesystemtypeisUNIX.
Usingbinarymodetotransferfiles.
下载文件通常用get和mget这两条命令
a)get
格式:get[remote-file][local-file]
将文件从远端主机中传送至本地主机中.
如要获取服务器上c:\a\1.jpg,则
ftp>get/a/1.jpg1.jpg(回车)
b)mget
格式:mget[remote-files]
从远端主机接收一批文件至本地主机.
如要获取服务器上E:\a\下的所有文件,则
ftp>cd/a
ftp>mget*.*(回车)
ftp下输入prompt命令,批量获取则不在一一提示。
注意:文件都下载到了linux主机的当前目录下。比如,在 /root/web下运行的ftp命令,则文件都下载到了/root/web下。
3.上传文件
a)put
格式:putlocal-file[remote-file]
将本地一个文件传送至远端主机中.
如要把本地的1.jpg传送到远端主机c:\a,并改名为2.gif
ftp>put1.jpg/a/2.gif(回车)
b)mput
格式:mputlocal-files
将本地主机中一批文件传送至远端主机.
如要把本地当前目录下所有bmp文件上传到服务器c:\a下
ftp>cd/a(回车)
ftp>mput*.jpg (回车)
注意:上传文件都来自于主机的当前目录下。比如,在 /root/web下运行的ftp命令,则只有在/root/web下的文件linux才会上传到服务器c:\a下。
linux教程:Linuxshell中使用ftp自动下载上传文件
FTP自动登录批量下载文件
从ftp服务器192.168.1.171上的/home/data到本地的/home/databackup
!/bin/bash
ftp-v-n192.168.1.171
userguest123456
binary
cd/home/data
lcd/home/databackup
prompt
mget*
close
bye
FTP自动登录批量上传文件
从ftp服务器192.168.1.171上的/home/data到本地的/home/databackup
#!/bin/bash
ftp-v-n192.168.1.171<<END
userguest123456
binary
hash
cd/home/data
lcd/home/databackup
prompt
mput*
bye
END
语法:ftp[-dignv][主机名称或IP地址]
参数:
-v显示指令执行过程。
-n不使用自动登陆。
-g关闭本地主机文件名称支持特殊字符的扩充特性。
-i关闭互动模式,不询问任何问题。
-d详细显示指令执行过程,便于排错或分析程序执行的情形。
例子:登录124.16.144.120,命令
[root@localhostlane6]$ftp124.16.144.120
Connectedto124.16.144.120.
220(vsFTPd2.0.5)
530PleaseloginwithUSERandPASS.
530PleaseloginwithUSERandPASS.
KERBEROS_V4rejectedasanauthenticationtype
Name(124.16.144.120:root):anonymous#用户名
331Pleasespecifythepassword.#用户密码
Password:
230Loginsuccessful.
RemotesystemtypeisUNIX.
Usingbinarymodetotransferfiles.
下载文件通常用get和mget这两条命令
a)get
格式:get[remote-file][local-file]
将文件从远端主机中传送至本地主机中.
如要获取服务器上c:\a\1.jpg,则
ftp>get/a/1.jpg1.jpg(回车)
b)mget
格式:mget[remote-files]
从远端主机接收一批文件至本地主机.
如要获取服务器上E:\a\下的所有文件,则
ftp>cd/a
ftp>mget*.*(回车)
ftp下输入prompt命令,批量获取则不在一一提示。
注意:文件都下载到了linux主机的当前目录下。比如,在 /root/web下运行的ftp命令,则文件都下载到了/root/web下。
3.上传文件
a)put
格式:putlocal-file[remote-file]
将本地一个文件传送至远端主机中.
如要把本地的1.jpg传送到远端主机c:\a,并改名为2.gif
ftp>put1.jpg/a/2.gif(回车)
b)mput
格式:mputlocal-files
将本地主机中一批文件传送至远端主机.
如要把本地当前目录下所有bmp文件上传到服务器c:\a下
ftp>cd/a(回车)
ftp>mput*.jpg (回车)
注意:上传文件都来自于主机的当前目录下。比如,在 /root/web下运行的ftp命令,则只有在/root/web下的文件linux才会上传到服务器c:\a下。
linux教程:Linuxshell中使用ftp自动下载上传文件
FTP自动登录批量下载文件
从ftp服务器192.168.1.171上的/home/data到本地的/home/databackup
!/bin/bash
ftp-v-n192.168.1.171
userguest123456
binary
cd/home/data
lcd/home/databackup
prompt
mget*
close
bye
FTP自动登录批量上传文件
从ftp服务器192.168.1.171上的/home/data到本地的/home/databackup
#!/bin/bash
ftp-v-n192.168.1.171<<END
userguest123456
binary
hash
cd/home/data
lcd/home/databackup
prompt
mput*
bye
END
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
文件传输协议(File Transfer Protocol, FTP)是一个用于在两台装有不同操作系统的机器中传输计算机文件的软件标准。它属于网络协议组的应用层。
FTP有两种工作模式,被动模式和主动模式。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。
FTP服务器的作用:
1.促进文件的共享(计算机程序或数据)。
2.鼓励间接或者隐式的使用远程计算机 。
3.向用户屏蔽不同主机中各种文件存储系统的细节 。
4.可靠和高效的传输数据 。
实验环境:
宿主机win7 32位旗舰版 ,虚拟机 centos 6.0.
实验步骤:
1. 安装vsftpd软件包。
2. 修改vsftpd的配置文件实现所需的服务。
3. 开启 vsftpd服务。
4. 添加用户。
5. 登陆FTP服务器实现上传和下载。
实验内容:
1. 安装vsftpd软件包。
查看系统是否安装了vsftpd软件包。
[badboy@wangkeyuan ~]$ rpm -q vsftpd
package vsftpd is not installed
从上面可以看出系统并没有安装此软件包,挂载光盘安装软件包。
[badboy@wangkeyuan ~]$ mount /dev/cdrom /mnt/cdrom
mount: only root can do that
只用root用户可以执行mount 命令。切换用户。
[badboy@wangkeyuan ~]$ su - root
[root@wangkeyuan ~]# mount /dev/cdrom /mnt/cdrom
[root@wangkeyuan ~]# rpm -ivh /mnt/cdrom/Packages/vsftpd-2.2.2-6.el6.i686.rpm
Vsftpd软件包安装成功。
查看vsftpd软件包的所有文件。
[root@wangkeyuan ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/rc.d/init.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/sbin/vsftpd
/usr/share/doc/vsftpd-2.2.2
/usr/share/doc/vsftpd-2.2.2/AUDIT
/usr/share/doc/vsftpd-2.2.2/BENCHMARKS
/usr/share/doc/vsftpd-2.2.2/BUGS
/usr/share/doc/vsftpd-2.2.2/COPYING
/usr/share/doc/vsftpd-2.2.2/Changelog
/usr/share/doc/vsftpd-2.2.2/EXAMPLE
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd-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
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/hosts.allow
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/logins.txt
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam
/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/doc/vsftpd-2.2.2/INSTALL
/usr/share/doc/vsftpd-2.2.2/LICENSE
/usr/share/doc/vsftpd-2.2.2/README
/usr/share/doc/vsftpd-2.2.2/README.security
/usr/share/doc/vsftpd-2.2.2/REWARD
/usr/share/doc/vsftpd-2.2.2/SECURITY
/usr/share/doc/vsftpd-2.2.2/SECURITY/DESIGN
/usr/share/doc/vsftpd-2.2.2/SECURITY/IMPLEMENTATION
/usr/share/doc/vsftpd-2.2.2/SECURITY/OVERVIEW
/usr/share/doc/vsftpd-2.2.2/SECURITY/TRUST
/usr/share/doc/vsftpd-2.2.2/SIZE
/usr/share/doc/vsftpd-2.2.2/SPEED
/usr/share/doc/vsftpd-2.2.2/TODO
/usr/share/doc/vsftpd-2.2.2/TUNING
/usr/share/doc/vsftpd-2.2.2/vsftpd.xinetd
/usr/share/man/man5/vsftpd.conf.5.gz
/usr/share/man/man8/vsftpd.8.gz
/var/ftp
/var/ftp/pub
其中有三个重要的文件或文件夹,/etc/rc.d/init.d/vsftpd(ftp服务启动脚本),/etc/vsftpd/vsftpd.conf(ftp主配置文件),/var/ftp(存放共享文件的目录)。
如果查看vsftpd的配置文件,使用rpm –qc vsftpd 命令。
[root@wangkeyuan ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
接下来测试vsftpd服务。
[root@wangkeyuan ~]# /etc/init.d/vsftpd start
可以看出在win7下已经可以访问ftp服务器了。如果不能访问请确定宿主机和虚拟机是否可以ping通,如果可以ping通还不能访问,暂时关闭linux的防火墙服务。使用/etc/init.d/iptables stop命令。
配置vsftpd服务器。
[root@wangkeyuan ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
#用于设置是否允许匿名用户登录。
local_enable=YES
#是否允许本地用户登录ftp服务器。
write_enable=YES
#是否允许用户向服务器执行写入操作。
local_umask=022
#设置服务器上本地用户创建文件的权限掩码。
#anon_upload_enable=YES
#是否允许匿名用户上传文件。
#anon_mkdir_write_enable=YES
#是否允许匿名用户创建目录。
dirmessage_enable=YES
#设置启用目录提示消息。
xferlog_enable=YES
#设置上传和下载的日志记录。
connect_from_port_20=YES
#ftp服务的端口。
#chown_uploads=YES
#是够将匿名用户上传的文件的所有者改为其他用户(chown_username参数指定的用户)
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#日志目录,默认是/var/log/vsftpd.log,取消注释后你可以另行指定。
xferlog_std_format=YES
#启用标准的日志格式。
#idle_session_timeout=600
#设置用户连接服务器后,空闲多长时间自动断开。单位秒。
#data_connection_timeout=120
#设置用户数据连接的最大空闲时间,超过则自动断开。
……..参数很多不一一列出。
看一下我的配置文件。
[root@wangkeyuan ~]# cat /etc/vsftpd/vsftpd.conf | sed -n '/^[[:alpha:]]/p'
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=NO
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
下面创建一个用户测试ftp服务的上传和下载。
[root@wangkeyuan ~]# useradd test
[root@wangkeyuan ~]# passwd test
因为在配置文件中userlist_enable=YES ,所以呢要实现本地用户的登录必须将test加入
/etc/vsftpd/user_list 中,并且保证配置文件中有userlist_deny=NO和
userlist_file=/etc/vsftpd/user_list
[root@wangkeyuan ~]# echo test >> /etc/vsftpd/user_list
重启服务让配置文件生效。
[root@wangkeyuan ftp]# /etc/init.d/vsftpd restart
测试ftp服务器。
在浏览器中输入地址ftp://192.168.107.9/,输入用户名和密码
点确定后,出现如下错误。
解决方法:
[root@wangkeyuan ~]# setsebool -P ftp_home_dir on
[root@wangkeyuan ~]# /etc/init.d/vsftpd restart
再来测试:
在浏览器中输入ftp服务器地址,然后输入用户名和密码:
可以看出通过ftp已经进入了test的家目录,并且可以切换到其他目录,如果要限制test在自己的家目录中,将chroot_local_user=YES加入到配置文件中。
下面我们使用ftp客户端来测试上传和下载:
测试前,我们在test家目录创建一个test.txt文件。
[badboy@wangkeyuan ~]$ echo "this is a test txt" > /home/test/test.txt
把桌面的一份文件上传到test的家目录。
下载test.txt到桌面:
[test@wangkeyuan ~]$ ls
?ĸ?????.txt test.txt
可以看出test家目录已经有两个文件了。(?是由于编码的原因)。
实验总结:
FTP是网络上最常用的网络服务之一。这次实验主要介绍了vsftpd的一些简单的配置。还有一些更复杂的配置本次实验就没有进行了。例如通过PAM实现vsftpd虚拟用户等等。要搭建好ftp服务器,最主要的工作是配置/etc/vsftpdvsftpd.conf。
FTP有两种工作模式,被动模式和主动模式。主动模式要求客户端和服务器端同时打开并且监听一个端口以建立连接。在这种情况下,客户端由于安装了防火墙会产生一些问题。所以,创立了被动模式。被动模式只要求服务器端产生一个监听相应端口的进程,这样就可以绕过客户端安装了防火墙的问题。
FTP服务器的作用:
1.促进文件的共享(计算机程序或数据)。
2.鼓励间接或者隐式的使用远程计算机 。
3.向用户屏蔽不同主机中各种文件存储系统的细节 。
4.可靠和高效的传输数据 。
实验环境:
宿主机win7 32位旗舰版 ,虚拟机 centos 6.0.
实验步骤:
1. 安装vsftpd软件包。
2. 修改vsftpd的配置文件实现所需的服务。
3. 开启 vsftpd服务。
4. 添加用户。
5. 登陆FTP服务器实现上传和下载。
实验内容:
1. 安装vsftpd软件包。
查看系统是否安装了vsftpd软件包。
[badboy@wangkeyuan ~]$ rpm -q vsftpd
package vsftpd is not installed
从上面可以看出系统并没有安装此软件包,挂载光盘安装软件包。
[badboy@wangkeyuan ~]$ mount /dev/cdrom /mnt/cdrom
mount: only root can do that
只用root用户可以执行mount 命令。切换用户。
[badboy@wangkeyuan ~]$ su - root
[root@wangkeyuan ~]# mount /dev/cdrom /mnt/cdrom
[root@wangkeyuan ~]# rpm -ivh /mnt/cdrom/Packages/vsftpd-2.2.2-6.el6.i686.rpm
Vsftpd软件包安装成功。
查看vsftpd软件包的所有文件。
[root@wangkeyuan ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/rc.d/init.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/sbin/vsftpd
/usr/share/doc/vsftpd-2.2.2
/usr/share/doc/vsftpd-2.2.2/AUDIT
/usr/share/doc/vsftpd-2.2.2/BENCHMARKS
/usr/share/doc/vsftpd-2.2.2/BUGS
/usr/share/doc/vsftpd-2.2.2/COPYING
/usr/share/doc/vsftpd-2.2.2/Changelog
/usr/share/doc/vsftpd-2.2.2/EXAMPLE
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/INTERNET_SITE/vsftpd.conf
/usr/share/doc/vsftpd-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
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/PER_IP_CONFIG/hosts.allow
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_HOSTS/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/README.configuration
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/logins.txt
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.conf
/usr/share/doc/vsftpd-2.2.2/EXAMPLE/VIRTUAL_USERS/vsftpd.pam
/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/doc/vsftpd-2.2.2/INSTALL
/usr/share/doc/vsftpd-2.2.2/LICENSE
/usr/share/doc/vsftpd-2.2.2/README
/usr/share/doc/vsftpd-2.2.2/README.security
/usr/share/doc/vsftpd-2.2.2/REWARD
/usr/share/doc/vsftpd-2.2.2/SECURITY
/usr/share/doc/vsftpd-2.2.2/SECURITY/DESIGN
/usr/share/doc/vsftpd-2.2.2/SECURITY/IMPLEMENTATION
/usr/share/doc/vsftpd-2.2.2/SECURITY/OVERVIEW
/usr/share/doc/vsftpd-2.2.2/SECURITY/TRUST
/usr/share/doc/vsftpd-2.2.2/SIZE
/usr/share/doc/vsftpd-2.2.2/SPEED
/usr/share/doc/vsftpd-2.2.2/TODO
/usr/share/doc/vsftpd-2.2.2/TUNING
/usr/share/doc/vsftpd-2.2.2/vsftpd.xinetd
/usr/share/man/man5/vsftpd.conf.5.gz
/usr/share/man/man8/vsftpd.8.gz
/var/ftp
/var/ftp/pub
其中有三个重要的文件或文件夹,/etc/rc.d/init.d/vsftpd(ftp服务启动脚本),/etc/vsftpd/vsftpd.conf(ftp主配置文件),/var/ftp(存放共享文件的目录)。
如果查看vsftpd的配置文件,使用rpm –qc vsftpd 命令。
[root@wangkeyuan ~]# rpm -qc vsftpd
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
接下来测试vsftpd服务。
[root@wangkeyuan ~]# /etc/init.d/vsftpd start
可以看出在win7下已经可以访问ftp服务器了。如果不能访问请确定宿主机和虚拟机是否可以ping通,如果可以ping通还不能访问,暂时关闭linux的防火墙服务。使用/etc/init.d/iptables stop命令。
配置vsftpd服务器。
[root@wangkeyuan ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
#用于设置是否允许匿名用户登录。
local_enable=YES
#是否允许本地用户登录ftp服务器。
write_enable=YES
#是否允许用户向服务器执行写入操作。
local_umask=022
#设置服务器上本地用户创建文件的权限掩码。
#anon_upload_enable=YES
#是否允许匿名用户上传文件。
#anon_mkdir_write_enable=YES
#是否允许匿名用户创建目录。
dirmessage_enable=YES
#设置启用目录提示消息。
xferlog_enable=YES
#设置上传和下载的日志记录。
connect_from_port_20=YES
#ftp服务的端口。
#chown_uploads=YES
#是够将匿名用户上传的文件的所有者改为其他用户(chown_username参数指定的用户)
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#日志目录,默认是/var/log/vsftpd.log,取消注释后你可以另行指定。
xferlog_std_format=YES
#启用标准的日志格式。
#idle_session_timeout=600
#设置用户连接服务器后,空闲多长时间自动断开。单位秒。
#data_connection_timeout=120
#设置用户数据连接的最大空闲时间,超过则自动断开。
……..参数很多不一一列出。
看一下我的配置文件。
[root@wangkeyuan ~]# cat /etc/vsftpd/vsftpd.conf | sed -n '/^[[:alpha:]]/p'
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=NO
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
下面创建一个用户测试ftp服务的上传和下载。
[root@wangkeyuan ~]# useradd test
[root@wangkeyuan ~]# passwd test
因为在配置文件中userlist_enable=YES ,所以呢要实现本地用户的登录必须将test加入
/etc/vsftpd/user_list 中,并且保证配置文件中有userlist_deny=NO和
userlist_file=/etc/vsftpd/user_list
[root@wangkeyuan ~]# echo test >> /etc/vsftpd/user_list
重启服务让配置文件生效。
[root@wangkeyuan ftp]# /etc/init.d/vsftpd restart
测试ftp服务器。
在浏览器中输入地址ftp://192.168.107.9/,输入用户名和密码
点确定后,出现如下错误。
解决方法:
[root@wangkeyuan ~]# setsebool -P ftp_home_dir on
[root@wangkeyuan ~]# /etc/init.d/vsftpd restart
再来测试:
在浏览器中输入ftp服务器地址,然后输入用户名和密码:
可以看出通过ftp已经进入了test的家目录,并且可以切换到其他目录,如果要限制test在自己的家目录中,将chroot_local_user=YES加入到配置文件中。
下面我们使用ftp客户端来测试上传和下载:
测试前,我们在test家目录创建一个test.txt文件。
[badboy@wangkeyuan ~]$ echo "this is a test txt" > /home/test/test.txt
把桌面的一份文件上传到test的家目录。
下载test.txt到桌面:
[test@wangkeyuan ~]$ ls
?ĸ?????.txt test.txt
可以看出test家目录已经有两个文件了。(?是由于编码的原因)。
实验总结:
FTP是网络上最常用的网络服务之一。这次实验主要介绍了vsftpd的一些简单的配置。还有一些更复杂的配置本次实验就没有进行了。例如通过PAM实现vsftpd虚拟用户等等。要搭建好ftp服务器,最主要的工作是配置/etc/vsftpdvsftpd.conf。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询