Linux上配置ftp服务器

Linux上配置ftp服务器

因为要往linux上传东西,所以弄了一下vsftp,上网找了很多的教程,但感觉好多地方没有写到。根据我自己的配置经验来写一下。高级的应用因为我不太会用到,暂时我就不写了,等有时间有需要的时候我再补充。

环境是vm5下的redhat linux as 3 安装的时候我就把vsftp安装好了。

配置文件是 /etc/vsftpd/vsftpd.conf 按如下编辑此文件,编辑文件当然用vi了

注意以下配置中的Anonymous_enable=yes  的第一个字母有的版本里面是小写, 就要改正过来
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错误,拒绝连接。还有就是当你再次编辑vsftp.conf后用 service vsftpd restart重起的时候总是提示你不能关闭vsftp服务,这时候你用service vsftpd status察看一下他的状态,如果提示你vsftpd被locked 那可能是因为你的vsftpd.conf中配置的有错误,你要重新编辑他,直到能正常重起他为止,一次配置不对,多配置几次就好了

2)实现本地用户上传下载
程序代码:
新建一个用户
adduser 用户名    增加一个用户
passwd 用户名     增加用户的密码
然后看/etc/passwd中最后一行就是你刚才添加的用户信息
然后编辑/etc/vsftpd/vsftpd.conf文件,
Local_enable=yes               允许使用本地用户来登陆ftp
在/etc/vsftpd.ftpuser中可以增加想要阻止登陆ftp的用户
限制用户只能在自己的目录中
Chroot_list_enable=yes                           文件中的名单可以调用
Chroot_list_file=/etc/vsftpd.chroot_list      前提是chroot_local_user=no,在文件中加入用户名



vsftpd.conf的参数
程序代码:

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/vsftpd.chroot_list      前提是chroot_local_user=no
Userlist_enable=yes                                在指定的文件中的用户不可以访问
Userlist_deny=yes
Userlist_file=/etc/vsftpd.user_list
Banner_fail=/路径/文件名                         连接失败时显示文件中的内容
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2                          将虚拟服务绑定到某端口
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=/任意指定的路径//任意文件目录 指定虚拟用户存放配置文件的路径
谢谢了!!!
see
Very suit for me!