操作系统  redhat9.0

一、主机配置

1、查看主机是否安装了ftp服务器,如果没有,安装它

    在终端上输入setup,在弹出的界面中选择system services。查看弹出的界面中是否有vsftpd。

    如果有,则证明安装了。另外,在这个界面中可以选择自动启动哪些服务。

2、查看虚拟机linux操作系统是否启动了ftp服务器,如果没有启动它。

    查看命令

[root@localhost root]# netstat -na | grep 21
tcp        0      0 0.0.0.0:21              0.0.0.0:*               LISTEN      
tcp        0      0 192.168.80.128:21       192.168.80.1:1612       ESTABLISHED 
tcp        0      0 127.0.0.1:33421         127.0.0.1:631           TIME_WAIT   
unix  3      [ ]         DGRAM                    21684  
unix  3      [ ]         DGRAM                    21683  
unix  2      [ ]         DGRAM                    21682

    如果没有显示提示信息,则说明没有启动,在终端中输入启动命令。

[root@localhost root]# service vsftpd start
为 vsftpd 启动 vsftpd:[  确定  ] //效果

    关闭命令为:

service vsftpd stop

二、安装cuteftp并设置连接

    单击菜单栏的齿轮。

    在弹出的对话框中输入配置信息。

    选择连接,既可以看到成功连接。

 操作系统  Ubuntu12.04

1、安装ftp服务器

#apt-get install vsftpd

测试是否成功安装的命令

#service vsftpd restart

2、配置vsftpd

修改配置文件

#vim /etc/vsftpd.conf

内容如下:

listen=YES
#listen_ipv6=YES
#anonymous_enable=YES
local_enable=YES
write_enable=YES
#local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
#chroot_local_user=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

各参数的具体含义如下:

1、listen=YES 
若设置为YES,开启监听网络。 
2、anonymous_enable 
若设置为YES,则允许匿名用户访问;若设置为NO则拒绝匿名用户访问。 
如果开启的话,则可以通过用户名ftp或者anonymous来访问,密码随便。 
3、local_enable 
若设置为YES,则允许通过本地用户帐号访问;若设置为NO,则拒绝本地用户帐号访问。如果你拒绝了陌生人访问,那么这个必须设置为YES吧,否则谁能访问你的FTP呢? 
4、write_enable 
若设置为YES,则开启FTP全局的写权限;若设置为NO,则不开。 
若为NO则所有FTP用户都无法写入,包括无法新建、修改、删除文件、目录等操作,也就是说用户都没办法上传文件!! 
5、anon_upload_enable 
若设置为YES,开启匿名用户的上传权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。 若设置为NO,则关闭匿名用户的上传权限。 
6、anon_mkdir_write_enable 
若设置为YES,开启匿名用户新建目录的权限。前提是write_enable有开启,并且用户具有对当前目录的可写权限。 若设置为NO,则关闭匿名用户新建目录的权限。 
7、dirmessage_enable 
若设置为YES,则可开启目录信息推送,也就是用户登录FTP后可以列出当前目录底下的文件、目录。 这个应该要开启吧! 
8、xferlog_enable 
若设置为YES,则开启登录、上传、下载等事件的日志功能。应开启! 
9、xferlog_file=/var/log/vsftpd.log 
指定默认的日志文件,可指定为其他文件。 
10、xferlog_std_format 
若设置为YES,则启用标准的ftpd日志格式。可以不启用。 
11、connect_from_port_20 
若设置为YES,则服务器的端口设为20。 
如果不想用端口20,可以另外通过ftp_data_port来指定端口号。 
12、chown_uploads 
若设置为YES,则匿名用户上传文件后系统将自动修改文件的所有者。 
若要开启,则chown_username=whoever也需指定具体的某个用户,用来作为匿名用户上传文件后的所有者。 
13、idle_session_timeout=600 
不活动用户的超时时间,超过这个时间则中断连接。 
14、data_connection_timeout=120 
数据连接超时时间 。 
15、ftpd_banner=Welcome to blah FTP service. 
FTP用户登入时显示的信息 。 
16、local_root=/home/ftp 
指定一个目录,用做在每个本地系统用户登录后的默认目录。 
17、anon_root=/home/ftp 
指定一个目录,用做匿名用户登录后的默认目录。 
18、chroot_local_user、 chroot_list_enable、chroot_list_file 
这个组合用于指示用户可否切换到默认目录以外的目录。 
其中,chroot_list_file默认是/etc/vsftpd.chroot_list,该文件定义一个用户列表。 
若chroot_local_user 设置为NO,chroot_list_enable设置为NO,则所有用户都是可以切换到默认目录以外的。 
若chroot_local_user 设置为YES,chroot_list_enable设置为NO,则锁定FTP登录用户只能在其默认目录活动,不允许切换到默认目录以外。 
若chroot_local_user 设置为YES,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动。 
若chroot_local_user设置为NO,chroot_list_enable设置为YES,则chroot_list_file所指定的文件里面的用户列表都被限定在各自的默认目录活动,而列表以外的用户则可以访问默认目录以外的目录。 
建议设置:chroot_local_user与chroot_list_enable都设置为YES。这样就只有chroot_list_file所指定的文件里面的用户列表可以访问默认目录以外的目录,而列表以外的用户则被限定在各自的默认目录活动! 
好处:所有人都被限制在特定的目录里面。如果某些特定用户需要访问其他目录的权限,只需将其用户名写入chroot_list_file文件就可以赋予其访问其他目录的权限! 
19、userlist_file、userlist_enable、userlist_deny 
这个组合用于指示用户可否访问FTP服务。 
其中,userlist_file默认是/etc/vsftpd.user_list,该文件定义一个用户列表。 
若userlist_enable设置为YES,userlist_deny设置为NO,则只有userlist_file所指定的文件里面的用户列表里面的用户可以访问FTP。 
若userlist_enable设置为YES,userlist_deny设置为YES,则userlist_file所指定的文件里面的用户列表里面的用户都被拒绝访问FTP。 
若userlist_enable设置为NO,userlist_deny设置为YES,则这个列表没有实际用处,起不到限制的作用!因为所有用户都可访问FTP。 
建议设置:userlist_enable与userlist_deny都设置为YES。这样则userlist_file所指定的文件里面的用户列表里面的用户都被拒绝访问FTP。 
好处:只需将某用户帐号加入到userlist_file所指定文件里面的用户列表,就可以起到暂时冻结该用户的功能! 
20、user_config_dir 
指定一个目录用于存放针对每个用户各自的配置文件,比如用户kkk登录后,会以该用户名建立一个对应的配置文件。比如指定user_config_dir=/etc/vsftpd_user_conf, 则kkk登录后会产生一个/etc/vsftpd_user_conf/kkk的文件,这个文件保存的配置都是针对kkk这个用户的。可以修改这个文件而 不用担心影响到其他用户的配置。 

                       摘自:《转]Ubuntu 用VSFTP搭建FTP服务器

 3、重启ftp服务器

#service vsftpd start

4、创建ftp目录

#cd /srv/ftp
#mkdir upload download
#chmod 777 /srv/ftp
#chmod 777 /srv/ftp/upload
#chmod 777 /srv/ftp/download

安装完毕后,/srv下会增加一个ftp目录。

在/srv/ftp目录下,创建两个目录download和upload,分别用于下载和上传。

修改所用文件夹的权限。

5、添加ftp用户

先增加用户组

#groupadd ftpgroup

增加用户ftpuser

sudo useradd -g ftpgroup -d /srv/ftp/upload -M ftpuser

注:

g:用户所在的组

d:表示创建用户的自己目录的位置给予指定

M:不建立默认的自家目录,也就是说在/home下没有自己的目录

设置用户密码

passwd ftpuser

6、编辑ftp用户列表

如果文件/etc/vsftpd.chroot_list不存在,需要创建一个。

#vim /etc/vsftpd.chroot_list

内容为ftp用户名,每个用户占一行

ftpuser
root
daneiqi

修改文件/etc/ftpusers,/etc/ftpusers中记录的是不能访问ftp服务器的用户清单。所以,如果想启用某个用户,就需要将其在列表中对应的内容删除。

7、重启ftp服务器

#service vsftpd start

 8、使用cuteftp进行连接即可。

 

参考网页:

  CuteFTP使用和设置图解

  ubuntu安装ftp服务器

      Ubuntu 用vsftpd 配置FTP服务器

      Ubuntu 14.04 FTP服务器--vsftpd的安装和配置

posted on 2013-12-08 17:18  amanlikethis  阅读(1272)  评论(0编辑  收藏  举报