操作系统 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这个用户的。可以修改这个文件而 不用担心影响到其他用户的配置。
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进行连接即可。
参考网页: