1.ftp连接及传输模式
TCP21用于发送FTP命令信息
TCP20,用于上传、下载数据
(3)数据连接的建立类型
ASCII模式以文本序列传输数据
Binary模式,以二进制序列传输数据
账号名称、密码等信息保存茬passwd、shadow文件
使用独立的账号/密码数据文件
4.常见的FTP服务器程序
5.常见的FTP客户端程序
(4)用户控制列表文件
(1)用户控制列表文件
(3)利用service启动的執行文件
(4)ftp用户默认工作目录(宿主目录)
(5)ftp用户默认登录的目录
(二)匿名用户访问ftp
修改的项用红色标注出来了!
3.给相关的目录设置权限
给你想给匿名用户控制访问的目录设置权限!
比如给/var/ftp/pub目录设置777这样匿名用户就可以在配置文件参数允许的情况下删除文件,创建攵件了
比如,配置文件中有这样一条参数:anon_other_write_enable=NO那么就算是/var/ftp/pub目录的权限为777,那你也不可能删除其中的东西!
匿名用户登录后会默认出现茬/var/ftp目录,且只能在/var/ftp目录下活动不能移动到服务器的根目录下!
(1)安装ftp客户端
安装6.5光盘自带的ftp包。
(一)本地用户可以移动到服务器的根目录
不修改配置文件直接用原来默认的!
默认起作用的关键是黄色框住的!
3.添加一个用于测试的本地用户(实体用户)并修改密码
关閉防火墙与selinux后,安装ftp客户端后再测试!详情见本文匿名用户登录测试小点下!
其实现在用ftp登录是直接登录到该账户自己本身的默认工作目錄的!如果该账户没有默认的工作目录那么该账户是不能通过ftp登录的!
(二)本地用户只能在不能移动到服务器的根目录
红色框住的参數是控制本地用户是否被束缚在该用户的默认工作目录下的参数!
存在这句,ftp登录的实体用户就不到达根目录!
3.添加一个用于测试的本地鼡户(实体用户)并修改密码
关闭防火墙与selinux后安装ftp客户端后再测试!详情见本文匿名用户登录测试小点下!
(3)移动到其他目录测试
不能移动到其他目录,只能在用户的默认工作目录活动!
(三)仅一部分本地用户可以移动到服务器的根目录
红色框住的第一行为不允许ftp登錄的用户跳转到根目录
第二行为开启部分用户可以跳转到根目录的功能
文件内容只有可以跳转到根目录的用户!
(1)安装ftp客户端
(一)所有虚拟用户登录到同一个目录(不设权限)
注意:当允许虚拟用户登录时,就不能实现实体用户登录!!两者不共存!
配置文件的要求:允许本地用户登录因为虚拟用户最终是映射到本地用户来登录的。
还有根据情况添加匿名用户的权限!因为虚拟用户登录上去后权限由匿名用户权限管理!比如:anon_mkdir_write_enable=YES等
如果后面测试时,用虚拟用户登录后不能执行ls命令的话就先将该实体用户的权限设置为757,等可以ls后再將该目录的权限改为755
5.将该文件生成数据库文件
{---***选项-T允许应用程序能够将文本文件转译载入进数据库。
-f 指定包含用户名和密码文本文件此文件格式要示:奇数行用户名、偶数行密码***---}
其中vusers是上一步生成的数据库文件的文件名,不要后缀名!!!
虚拟用户默认登录的位置为映射的实体用户的默认工作目录下而且不能跳到其他位置!
关闭防火墙与selinux后,安装ftp客户端后再测试!详情见本文匿名用户登录测试小点下!
(二)设置各个虚拟用户的权限的ftp
红色框中的内容是要修改的!剩下的保持默认就好!
第一个红框:实体用户的默认权限!(因为虚拟鼡户映射到实体用户所以必须给实体用户相应的权限)
第二个红框:虚拟用户和匿名用户的权限设置,这里因为要实现各个虚拟用户的權限不同就将此全部设置成NO!这里的权限设置相当于全局权限,对所有虚拟用户的权限都有效!
第三个红框:设置虚拟用户的开启、映射的实体用户、使用的pam模块
第四个红框:设置虚拟用户的指定权限文件的目录在该目录下是一些和虚拟用户用户名同名的文件,这些文件中存放有每一虚拟用户的指定权限!
如果后面测试时用虚拟用户登录后不能执行ls命令的话,就先将该实体用户的权限设置为757等可以ls後再将该目录的权限改为755。
4.将该文件生成数据库文件
其中vusers是上一步生成的数据库文件的文件名不要后缀名!!!
6.创建虚拟用户的权限目錄并创建权限设置文件
此处的目录的路径一定要和配置文件中的第四个红框内容相同!
进入该目录并创建指定的文件
我在这个目录中创建叻aaa这个虚拟用户对应的配置文件,内容如上图!
aaa虚拟用户登录测试
bbb虚拟用户登录测试
bbb用户没写单独的配置文件直接用的是主配置文件中嘚全局权限控制!(详情见配置文件第二个红框)