如何在vmware虚拟机rhel 6.4下配置ftp服务器并且允许匿名用户下载?

如何在vmware虚拟机rhel 6.4下配置ftp服务器并且允许匿名用户下载?,第1张

安装vsftpd-205
#mkdir -pv /usr/share/empty /var/ftp
#useradd -s /bin/false -d /var/ftp ftp
#tar xzvf vsftpd-205targz
#cd vsftpd-205
#make
#make install
安装配置文件
#cp vsftpdconf /etc
编辑配置文件 /etc/vsftpdconf
添加 listen=YES
启动服务器
#/usr/local/sbin/vsftpd &
#chmod og-w /var/ftp
请确保/etc/vsftpdconf中已经启用了以下选项
anonymous_enable=YES

下面是在虚拟机中的linux的ftp的基本配置(redhat AS 40为例):首先要安装linux下的vsftp软件包。rpm -qagerp vsftpd //查找vsftpd有没有安装如果没有安装就 vsftpd-201-5i386rpm (在第一张光盘)在linux中有一个非常重要的一点就是要挂载光驱 mount /media/cdrom 在这里我们就不用源代码安装了。用的是rpm安装#rpm -ivh vsftpd-201-5i386rpm这里就安装好了。service vsftpd start 启动vsftpd服务如果在不设置任何的情况下,可以以匿名的方式访问该ftp。注如果访问不了的时候请大家要把linux的防火墙也要关闭:iptables -F 清除防火墙在安装好ftp会产生几个文件:/etc/vsftpd/vsftpdconf 主配置文件/etc/vsftpdftpusers 指定哪些用户不能访问FTP服务器/etc/vsftpduser_list 文件中指定的用户是否可以访问ftp服务器由vsftpdconf文件中的userlist_deny的取值来决定。这几个文件就是整个ftp控制和禁止用户的权限配置。。。下面我们就来设置一个vsftpd的核心文件 # cd /etc/vsftpd/vsftpdconf 这就是vsftpd的核心配置文件anonymous_enable=YES/no 是否允许匿名用户登录anonymous_enable=yes/no 是否允许匿名上传文件local_enable= YES/no 是否允许本地用户登录write_enable= YES/no 是否允许本地用户上传guest_enable=yes/no 是否允许虚拟用户登录;local_mask=022 设置本地用户的文件生成掩码为022,默认值为077dirmessage_enable= YES 设置切换到目录时显示message隐含文件的内容xferlog_enable= YES 激活上传和下载日志connect_from_port_20=YES 启用FTP数据端口连接pam_service_name=vsftpd 设置PAM认证服务的配置文件名称, 该文件存放在/etc/pamd目录下userlist_enable= YES 允许vsftpduser_list文件中的用户访问服务器userlist_deny= YES 拒绝vsftpduser_list文件中的用户访问服务器listen= YES/no 是否使用独占启动方式(这一项比较重要)tcp_wrappers= YES/no 是否使用tcp_wrappers作为主机访问控制方式最主要的就是这些设置了。(这是一般都是默认的不是太懂的不要动)大家可以设置下面的设置:ftpd_banner=welcome to ftp service 设置连接服务器后的欢迎信息idle_session_timeout=60 限制远程的客户机连接后,所建立的控制连接,在多长时间没有做任何的 *** 作就会中断(秒)data_connection_timeout=120 设置客户机在进行数据传输时,设置空闲的数据中断时间accept_timeout=60 设置在多长时间后自动建立连接connect_timeout=60 设置数据连接的最大激活时间,多长时间断开,为别人所使用;max_clients=200 指明服务器总的客户并发连接数为200max_per_ip=3 指明每个客户机的最大连接数为3local_max_rate=50000(50kbytes/sec)anon_max_rate=30000 设置本地用户和匿名用户的最大传输速率限制pasv_min_port=端口pasv-max-prot=端口号 定义最大与最小端口,为0表示任意端口;为客户端连接指明端口;listen_address=IP地址 设置ftp服务来监听的地址,客户端可以用哪个地址来连接;listen_port=端口号 设置FTP工作的端口号,默认的为21chroot_local_user=YES 设置所有的本地用户可以chrootchroot_local_user=NO 设置指定用户能够chrootchroot_list_enable=YESchroot_list_file=/etc/vsftpdchroot_list(只有/etc/vsftpdchroot_list中的指定的用户才能执行)local_root=path 无论哪个用户都能登录的用户,定义登录帐号的主目录, 若没有指定,则每一个用户则进入到个人用户主目录;chroot_local_user=yes/no 是否锁定本地系统帐号用户主目录(所有);锁定后,用户只能访问用户的主目录/home/user,不能利用cd命令向上转;只能向下;chroot_list_enable=yes/no 锁定指定文件中用户的主目录(部分),文件:/chroot_list_file=path 中指定; userlist_enable=YES/NO 是否加载用户列表文件;userlist_deny=YES 表示上面所加载的用户是否允许拒绝登录;userlist_file=/etc/vsftpduser_list 列表文件这些就是高级设置了。大家可以适当的更改。#vi /etc/hostsallowvsftpd:1921685128:DENY 设置该IP地址不可以访问ftp服务(vsftpd在独占启动方式下支持tcp_wrappers主机访问控制方式)时间限制:#cp /usr/share/doc/vsftpd-113/vsftpdxinetd /etc/xinetdd/vsftpd#vi /etc/xinetdd/vsftpd/修改 disable = noaccess_time = hour:min-hour:min (添加配置访问的时间限制(注:与vsftpdconf中listen=NO相对应)例: access_time = 8:30-11:30 17:30-21:30 表示只有这两个时间段可以访问ftp配置文件是 /etc/vsftpd/vsftpdconf 按如下编辑此文件,编辑文件当然用vi了1)实现匿名用户的上传下载文件程序代码: Anonymous_enable=yes 匿名登陆Connect_form_port_20=yes 启用FTP数据端口的数据连接Pam_service_name=vsftpd 验证方式Listen=yes 独立的VSFTPD服务器这样你就可以实现匿名登陆ftp了,但还不能上传文件程序代码: Anon_upload_enable=yes 开放上传权限Anon_mkdir_write_enable=yes 可创建目录的同时可以在此目录中上传文件Write_enable=yes 开放本地用户写的权限Anon_other_write_enable=yes 匿名帐号可以有删除的权限加上上面的这段,你就可以实现匿名ftp的上传下载文件了然后你保存文件,用service vsftpd start来启动vsftp的服务,然后就可以用ftp了注意:确定你的防火墙 iptables上打开21端口,不然在登陆ftp的时候会提示socket错误,拒绝连接。还有就是当你再次编辑vsftpconf后用 service vsftpd restart重起的时候总是提示你不能关闭vsftp服务,这时候你用service vsftpd status察看一下他的状态,如果提示你vsftpd被locked 那可能是因为你的vsftpdconf中配置的有错误,你要重新编辑他,直到能正常重起他为止,一次配置不对,多配置几次就好了2)实现本地用户上传下载程序代码: 新建一个用户adduser 用户名 增加一个用户passwd 用户名 增加用户的密码然后看/etc/passwd中最后一行就是你刚才添加的用户信息然后编辑/etc/vsftpd/vsftpdconf文件,Local_enable=yes 允许使用本地用户来登陆ftp在/etc/vsftpdftpuser中可以增加想要阻止登陆ftp的用户限制用户只能在自己的目录中Chroot_list_enable=yes 文件中的名单可以调用 Chroot_list_file=/etc/vsftpdchroot_list 前提是chroot_local_user=no,在文件中加入用户名vsftpdconf的参数程序代码:Anonymous_enable=yes 允许匿名登陆 Dirmessage_enable=yes 切换目录时,显示目录下message的内容 Local_umask=022 FTP上本地的文件权限,默认是077 Connect_form_port_20=yes 启用FTP数据端口的数据连接 Xferlog_enable=yes 激活上传和下传的日志 Xferlog_std_format=yes 使用标准的日志格式 Ftpd_banner=XXXXX 显示欢迎信息 Pam_service_name=vsftpd 验证方式 Listen=yes 独立的VSFTPD服务器 Anon_upload_enable=yes 匿名用户上传权限 Anon_mkdir_write_enable=yes 创建目录的同时可以在此目录中上传文件 Write_enable=yes 本地用户写的权限 Anon_other_write_enable=yes 匿名帐号可以有删除的权限 Anon_world_readable_only=no 匿名用户浏览权限 Ascii_upload_enable=yes 启用上传的ASCII传输方式 Ascii_download_enable=yes 启用下载的ASCII传输方式 Banner_file=/var/vsftpd_banner_file 用户连接后欢迎信息使用的是此文件中的相关信息 Idle_session_timeout=600(秒) 用户会话空闲后10分钟 Data_connection_timeout=120(秒) 将数据连接空闲2分钟断 Accept_timeout=60(秒) 将客户端空闲1分钟后断 Connect_timeout=60(秒) 中断1分钟后又重新连接 Local_max_rate=50000(bite) 本地用户传输率50K Anon_max_rate=30000(bite) 匿名用户传输率30K Pasv_min_port=5000 将客户端的数据连接端口改在 Pasv_max_port=6000 5000—6000之间 Max_clients=200 FTP的最大连接数 Max_per_ip=4 每IP的最大连接数 Listen_port=5555 从5555端口进行数据连接 Local_enble=yes 本地帐户能够登陆 Write_enable=no 本地帐户登陆后无权删除和修改文件 Chroot_local_user=yes 本地所有帐户都只能在自家目录 Chroot_list_enable=yes 文件中的名单可以调用 Chroot_list_file=/etc/vsftpdchroot_list 前提是chroot_local_user=no Userlist_enable=yes 在指定的文件中的用户不可以访问 Userlist_deny=yes Userlist_file=/etc/vsftpduser_list Banner_fail=/路径/文件名 连接失败时显示文件中的内容 Ls_recurse_enable=no Async_abor_enable=yes one_process_model=yes Listen_address=10222 将虚拟服务绑定到某端口 Guest_enable=yes 虚拟用户可以登陆 Guest_username=所设的用户名 将虚拟用户映射为本地用户 Chown_uploads=yes 改变上传文件的所有者为root Chown_username=root Deny_email_enable=yes 是否允许禁止匿名用户使用某些邮件地址 Banned_email_file=//任意指定的路径/xx/ Pasv_enable=yes 服务器端用被动模式 User_config_dir=/任意指定的路径//任意文件目录指定虚拟用户存放配置文件的路径

不需要这样,虚拟机自带一个插件 叫 vmware tools 点开 虚拟机 这个菜单,下面有个 安装vmware tools 选项 安装完毕就OK了,可以实现虚拟机和主机之间互传文件,直接拖拽就OK了!至于楼上说的“vmware tools这个是虚拟机自己提供的,但是只能从系统到虚拟机复制文件,返回来则不行”是因为你的 vmware tools 没装好!

先在局域网任一台windows电脑上,在hosts文件里添加上那个ftp服务器的dns映射,然后通过域名访问一下ftp,这一步是要确认vmware和server-u的架设都正常。
如果正常,看看是不是在网关、路由器上还有硬件防火墙,把进来的访问请求屏蔽掉了。
如果还不是,建议仔细检查一下你的端口映射是不是配置有误。
都搞掂后别忘了把那台windows电脑的hosts文件改回去。

看你的截图,我怎么感觉有点像是网站的列出目录的形式?
你确认你的conf配置正确了吗?

vsftpdconf配置参数详细整理
#接受匿名用户
anonymous_enable=YES
#匿名用户login时不询问口令
no_anon_password=YES
#匿名用户主目录
anon_root=(none)
#接受本地用户
local_enable=YES
#本地用户主目录
local_root=(none)
#如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录
deny_email_enable=YES
#仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录
check_shell=YES
#若启用此选项,userlist_deny选项才被启动
userlist_enable=YES
#若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录
userlist_deny=NO
#当此选项激活时,与chroot_local_user选项配合,chroot()容器的位置可以在每个用户的基础上指定。每个用户的容器来源于/etc/passwd中每个用户的自家目录字段。默认值为NO。
passwd_chroot_enable=NO
#定义匿名登入的使用者名称。默认值为ftp
ftp_username=FTP
#################用户权限控制###############
#可以上传(全局控制)
write_enable=YES
#本地用户上传文件的umask
local_umask=022
#上传文件的权限配合umask使用
#file_open_mode=0666
#匿名用户可以上传
anon_upload_enable=NO
#匿名用户可以建目录
anon_mkdir_write_enable=NO
匿名用户其它的写权利(更改权限)
anon_other_write_enable=NO
如果设为YES,匿名登入者会被允许下载可阅读的档案。默认值为YES。
anon_world_readable_only=YES
#如果开启,那么所有非匿名登陆的用户名都会被切换成guest_username指定的用户名
#guest_enable=NO
所有匿名上传的文件的所属用户将会被更改成chown_username
chown_uploads=YES
匿名上传文件所属用户名
chown_username=lightwiter
#将本地用户锁定在自家目录中。当此项被激活时,chroot_list_enable和chroot_local_users参数的作用将发生变化,chroot_list_file所指定文件中的用户将不被锁定在自家目录。本参数被激活后,可能带来安全上的冲突,特别是当用户拥有上传、 shell访问等权限时。因此,只有在确实了解的情况下,才可以打开此参数。默认值为NO。
chroot_local_users=YES
#锁定某些用户在自家目录中。即当这些用户登录后,不可以转到系统的其他目录,只能在自家目录(及其子目录)下。具体的用户在chroot_list_file参数所指定的文件中列出。默认值为NO。
chroot_list_enable=YES
#允许使用"async ABOR"命令,一般不用,容易出问题
async_abor_enable=YES
管控是否可用ASCII 模式上传。默认值为NO。
ascii_upload_enable=YES
#管控是否可用ASCII 模式下载。默认值为NO。
ascii_download_enable=YES
#这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中。默认值为/usr/share/empty
secure_chroot_dir=/usr/share/empty
###################超时设置##################
#空闲连接超时
idle_session_timeout=600
#数据传输超时
data_connection_timeout=120
#PAVS请求超时
ACCEPT_TIMEOUT=60
#PROT模式连接超时
connect_timeout=60
################服务器功能选项###############
#开启日记功能
xferlog_enable=YES
#使用标准格式
xferlog_std_format=YES
#当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用
#log_ftp_protocol=NO
#允许使用pasv模式
pasv_enable=YES
#关闭安全检查,小心呀
#pasv_promiscuous=NO
#允许使用port模式
#port_enable=YES
#关闭安全检查
#prot_promiscuous
#开启tcp_wrappers支持
tcp_wrappers=YES
#定义PAM 所使用的名称,预设为vsftpd。
pam_service_name=vsftpd
#当服务器运行于最底层时使用的用户名
nopriv_user=nobody
#使vsftpd在pasv命令回复时跳转到指定的IP地址(服务器联接跳转)
pasv_address=(none)
#################服务器性能选项##############
#是否能使用ls -R命令以防止浪费大量的服务器资源
#ls_recurse_enable=YES
#是否使用单进程模式
#one_process_model
#绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式
listen=YES
#当使用者登入后使用ls -al 之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。
text_userdb_names=NO
#显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果
use_localtime=NO
#测试平台优化
#use_sendfile=YES
################信息类设置################
#login时显示欢迎信息如果设置了banner_file则此设置无效
ftpd_banner=欢迎来到百度
#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
dirmessage_enable=YES
#显示会话状态信息,关!
#setproctitle_enable=YES
############## 文件定义 ##################
#定义不能更改用户主目录的文件
chroot_list_file=/etc/vsftpd/vsftpdchroot_list
#定义限制/允许用户登录的文件
userlist_file=/etc/vsftpd/vsftpduser_list
#定义登录信息文件的位置
banner_file=/etc/vsftpd/banner
#禁止使用的匿名用户登陆时作为密码的电子邮件地址
banned_email_file=/etc/vsftpdbanned_emails
#日志文件位置
xferlog_file=/var/log/vsftpdlog
#目录信息文件
message_file=message
############## 目录定义 #################
#定义用户配置文件的目录
user_config_dir=/etc/vsftpd/userconf
#定义本地用户登陆的根目录,注意定义根目录可以是相对路径也可以是绝对路径相对路径是针对用户家目录来说的(#此项设置每个用户登陆后其根目录为/home/username/webdisk)
local_root=webdisk
#匿名用户登陆后的根目录,默认不设置
anon_root=/home/ftp
#############用户连接选项#################
#可接受的最大client数目
max_clients=100
#每个ip的最大client数目
max_per_ip=5
#使用标准的20端口来连接ftp
connect_from_port_20=YES
#绑定到某个IP,其它IP不能访问
listen_address=19216802
#绑定到某个端口
#listen_port=2121
#数据传输端口
#ftp_data_port=2020
#pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。
pasv_max_port=0
#pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0。
pasv_min_port=0
##############数据传输选项#################
#匿名用户的传输比率(b/s)
anon_max_rate=51200
#本地用户的传输比率(b/s)
local_max_rate=5120000


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/12705150.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-27
下一篇2025-08-27

发表评论

登录后才能评论

评论列表(0条)

    保存