| 传输 模式 |
主动模式:服务器主动发起数据连接; 被动模式:服务器被动等待数据连接;
文本模式:ASCLL模式,在传输文件时使用ASCLL标准字符序列,一般只用于纯文本文件的传输。 二进制模式:Binary模式,不会转换文件中的字符序列,更适合传输程序,图片等非纯文字字符的文件; | |
| 用户 类型 |
| |
| 软件 种类 | Windows:FileZilla Server、Serv-U等; Linux/Unix:vsftpd | |
| 客户端工具的种类 | Windows:ftp、CuteFTP、FlashFXP、LeapFTP、Filezilla等 Linux/Unix:ftp | |
| 匿名访问FTP服务器 | ||
| 环境 | 两台centos6,一台做服务器server,一台做客户机client | |
| 1. | [root@server ~]# rpm -qa vsftpd //查看是否存在rpm安装的vsftpd软甲包 [root@server ~]# yum -y install vsftpd //安装vsftpd软件包 | |
| 2. | [root@server ~]# cd /var/ftp/ //进入ftp目录 //查看是否存在pub目录 [root@server ftp]# chown ftp pub/ //更改pub目录的属主为ftp //pub目录作用是作为共享目录,来存放可以让用户访问的数据资源。 | |
| 3. | [root@server ftp]# cd /etc/vsftpd/ //进入ftp配置目录 //查看目录中的内容 [root@server vsftpd]# cp vsftpd.conf vsftpd.conf.$(date +%Y%m%d%H%M) //以日期为文件名,备份主配置文件(也可以不用日期,直接 以.bak结尾) [root@server vsftpd]# vim vsftpd.conf //进入主配置文件 启用这两行命令 修改添加命令 [root@server vsftpd]# /etc/init.d/vsftpd start //重启服务 [root@server vsftpd]# netstat -antup | grep 'vsftpd' //查看端口是否开启 | |
| 4. | [root@server vsftpd]# cd /var/ftp/pub //进入共享目录 [root@server pub]# touch {1..4}.txt //创建文件用来共享测试 | |
| 5. | [root@client ~]# yum -y install ftp //客户端安装ftp程序 [root@server ftp]# service iptables stop //在客户端和服务端双方均关闭防火墙 [root@client ~]# ftp 192.168.200.4 //客户端输入ftp+服务器ip登录ftp服务器 //在账号出输入ftp,密码直接因为没有设置,默认为空,直接回车即可。 ftp> ls //输入ls查看当前目录中的内容 ftp> cd pub //进入pub共享目录 //可以看到服务端共享目录中用于共享测试的共享文件 ftp> help //输入help查看ftp支持的命令(ftp命令并不同linux相同,只支持部分) ftp> cd pub //进入共享目录 ftp> get 1.txt //下载1.txt文件 另打开一个窗口,查看下载的文件,默认下载到等录用户的家目录 ftp> put cmake-2.8.6.tar.gz //上传压缩包 ftp> mkdir abc //在共享目录中创建一个目录 ftp> delete 1.txt //删除1.txt文件 ftp> bye //退出ftp 匿名用户具有新建目录,上传,下载,删除文件的权限,新建目录默认权限为755,上传文件默认权限为644 | |
| 本地用户访问FTP服务器 | ||
| ftp服务器有两个黑名单,即:ftpusers和user_list ftpusers:FTP服务器中的黑名单,优先级高于user_list文件 user_list:默认情况下也是黑名单,但是可以通过修改vsftpd.conf主配置文件中添加userlist_enable=YES,userlist_deny=NO时,user_list用户列表将变成白名单,此时仅此名单内用户可以访问服务器, | ||
| 1. | [root@server vsftpd]# mv vsftpd.conf.202012260031 vsftpd.conf //恢复配置文件至默认状态 [root@server vsftpd]# vim vsftpd.conf //进入配置文件进行修改 将第96行的内容开启,表示文件共享目录默认存储在本地用户的家目录 [root@server vsftpd]# /etc/init.d/vsftpd reload //重启服务 | |
| 2. | [root@server vsftpd]# useradd xiaofa //创建本地用户 [root@server vsftpd]# passwd xiaofa //设置本地用户密码为123123 查看是否存在创建用户的家目录 | |
| 3. | [root@client ~]# ftp 192.168.200.4 //客户端登录ftp //输入创建的账号,密码即可登录(操作同上) ftp> put cmake-2.8.6.tar.gz //上传文件到共享目录 进入服务器本地用户家目录进行查看 | |
| 4. | [root@server xiaofa]# cd /etc/vsftpd/ //进入ftp配置目录 [root@server vsftpd]# vim ftpusers //这个文件是ftp服务器的黑名单,优先级最高,放入其中的账户将不能再登录 [root@server vsftpd]# /etc/init.d/vsftpd reload //重启服务 //输入被拉黑的账号,输入密码,登录失败 | |
| 虚拟用户访问FTP服务端 | ||
| 1. | [root@server vsftpd]# mv vsftpd.conf.bak vsftpd.conf //还原配置文件 [root@server vsftpd]# cp vsftpd.conf vsftpd.conf.bak //备份配置文件 | |
| 2. | [root@server vsftpd]# which db_load //查看是否又which db_load命令 [root@server vsftpd]# vim ./vusers.list //新建一个虚拟用户账号密码列表文件 [root@server vsftpd]# db_load -T -t hash -f vusers.list vusers.db //使用算法加密密码列表文件,并设置新的名称 [root@server vsftpd]# chmod 600 vusers.db //更改文件权限,只让属主读写 | |
| 3. | [root@server vsftpd]# useradd -d /var/ftproot/ -s /sbin/nologin virtual //创建一个虚拟映射账号,指定其家目录 (该账号作用为虚拟映射账号,也就是所使用的登录账号都会先转成该账号进行处理) [root@server vsftpd]# mkdir -p /var/ftproot //创建用户家目录 [root@server vsftpd]# chmod 755 /var/ftproot/ //赋予文件755权限 | |
| 4. | [root@server vsftpd]# vim /etc/pam.d/vsftpd.vu
//创建pam认证文件 | |
| 5. | [root@server vsftpd]# vim vsftpd.conf //进入配置文件进行修改 关闭匿名访问 修改并添加内容 pam_service_name=vsftpd.vu guest_enable=YES guest_username=virtual [root@server vsftpd]# /etc/init.d/vsftpd reload //重启服务 | |
| 6. | [root@server vsftpd]# cd /var/ftproot/ //进入ftproot目录 [root@server ftproot]# touch ceshi{01..03} //创建几个文件用于ftp测试 [root@client ~]# ftp 192.168.200.4 //客户机登录测试 一般来说虚拟账号共享的是同一个目录,但是也可以让不同账号拥有不同的目录,操作如下: | |
| (1) | [root@server ~]# cd /etc/vsftpd/ //进入ftp配置目录 [root@server vsftpd]# mkdir ./vusers.dir //创建一个虚拟目录 [root@server vsftpd]# cd ./vusers.dir/ //进入虚拟目录 [root@server vusers.dir]# touch xiaofa shitou jie yasuo //创建用户配置文件 [root@server vusers.dir]# vim xiaofa //进入xiaofa配置文件进行修改(此处举一个例子,其余操作相似)
[root@server vusers.dir]# mkdir -p /var/xiaofa [root@server vusers.dir]# mkdir -p /var/shitou [root@server vusers.dir]# mkdir -p /var/jie [root@server vusers.dir]# mkdir -p /var/yasuo //为各个用户创建保存文件(只修改xiaofa用户的即可,因为上面只给出了小法配置文件的例子,当然也可以照着临摹) [root@server vsftpd]# chown virtual /var/xiaofa/ [root@server vsftpd]# chown virtual /var/shitou/ [root@server vsftpd]# chown virtual /var/jie/ [root@server vsftpd]# chown virtual /var/yasuo/ //更改各个用户下载路径的属主(只修改xiaofa用户的即可,因为上面只给出了小法配置文件的例子,当然也可以照着临摹) | |
| (2) | [root@server vsftpd]# vim vsftpd.conf //修改配置文件,添加新内容(关于anon_umask=022这条内容,上面有,但是没有向上翻,因为注释掉了,所以直接添加也是可以的) [root@server vsftpd]# /etc/init.d/vsftpd reload //重启服务 | |
| (3) | [root@server vsftpd]# cd /var/xiaofa //进入xiaofa资源目录 [root@server xiaofa]# touch xiaofa{01..03} //创建文件,用于测试 | |
| (4) | [root@client ~]# ftp 192.168.200.4 //登录xiaofa账号,输入密码进行测试 //ls查询,可以看到,xiaofa账户登录后的资源目录已经成为/var/xiaofa目录,所以该目录中的内容也可以清楚看到。 //在ftp客户端删除xiaofa目录资源,然后服务器查看 成功 不同账号独立目录,不同权限部署完成。 | |
| 2021-2-2 | ||



