一.FTP 服务概述
1.FTP连接及连接模式
控制连接:TCP 21,用于发送FTP命令信息
数据连接:TCP 20,用于上传、下载数据
数据连接的建立类型
主动模式:服务端从 20 端口主动向客户端发起连接
被动模式:服务端在指定范围内某个端口被动等待客户端连接
2.FTP传输模式
文本模式:ASCII 模式,以文本序列传输数据
二进制模式:Binary 模式,以二进制序列传输数据
3.Vsftpd 软件包
官方站点:http://vsftpd.beasts.org/
主程序:/usr/sbin/vsftpd
服务名:vsftpd
用户控制列表文件
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主配置文件
/etc/vsftpd/vsftpd.conf
默认共享文件存储位置 /etc/ftp
二.匿名用户与系统用户登录ftp
1、一般操作:
1).对配置文件/etc/vsftpd/vsftpd.conf不做任何修改,可直接共享访问。
一般只用于文件的上传,不用于下载
2).在配置文件/etc/vsftpd/vsftpd.conf件中加入如下命令
其中userlist_deny =yes 时,表示文件/etc/vsftpd/user_list文件中的用户名列表内的用户无权访问ftp,而不在其内的用户可以访问,当userlist_deny =no时,与之相反;
在文件/etc/vsftpd/ftpusers是专门用于无权访问ftp的用户的权限的
Local_root=/var/ftp,是用于指定系统用户访问时的目录路径
2、ftp常用登录命令
1). 登录ftp服务器
方法一:输入ftp ip地址,然后输入用户名和密码,如下图:
方法二:输入ftp,用open连上服务器,再输入用户名和密码,如下图:
方法三:输入ftp -n ip地址,用user命令登录,如下图:
进入ftp服务后输入open加ip地址open 118.89.50.198
当连接成功后会让你进行身份验证,在输入密码时屏幕上没有任何显示,不用管,直接输完密码敲回车键即可。
三.配置文件内可用的相关命令
3.1默认配置:
1).允许匿名用户和本地用户登陆。
anonymous_enable=YES
local_enable=YES
2).匿名用户使用的登陆名为ftp或anonymous,口令为空;匿名用户不能离开匿名 用户家目录/var/ftp,且只能下载不能上传。
3).本地用户的登录名为本地用户名,口令为此本地用户的口令;本地用户可以在自己家目录中进行读写操作;本地用户可以离开自家目录切换至有权限访问的其他目录,并在权限允许的情况下进行上传/下载。
write_enable=YES
4).写在文件/etc/vsftpd.ftpusers中的本地用户禁止登陆。
3.2配置文件格式:
vsftpd.conf 的内容非常单纯,每一行即为一项设定。若是空白行或是开头为#的一行,将会被忽略。内容的格式只有一种,如下所示
option=value
要注意的是:等号两边不能加空白。
3.3匿名用户(anonymous)设置
anonymous_enable=YES/NO(YES)
//控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。
write_enable=YES/NO(YES)
//是否允许登陆用户有写权限。属于全局设置,默认值为YES。
no_anon_password=YES/NO(NO)
//若是启动这项功能,则使用匿名登入时,不会询问密码。默认值为NO。
ftpftp_username=ftp
//定义匿名登入的使用者名称。默认值为ftp。
anon_root=/var/ftp
//使用匿名登入时,所登入的目录。默认值为/var/ftp。注意ftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限。
anon_upload_enable=YES/NO(NO)
//如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
anon_world_readable_only=YES/NO(YES)
//如果设为YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认值为YES。
anon_mkdir_write_enable=YES/NO(NO)
//如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
anon_other_write_enable=YES/NO(NO)
//如果设为YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果anon_upload_enable=NO,则匿名用户 不能上传文件,但可以删除或者重命名已经存在的文件;如果anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但 可以删除或者重命名已经存在的文件夹。)默认值为NO。
chown_uploads=YES/NO(NO)
//设置是否改变匿名用户上传文件(非目录)的属主。默认值为NO。
chown_username=username
//设置匿名用户上传文件(非目录)的属主名。建议不要设置为root。
anon_umask=077
//设置匿名登入者新增或上传档案时的umask 值。默认值为