一、ftp服务搭建

(一)概述

1.ftp连接及传输模式

(1)控制连接

TCP21,用于发送FTP命令信息

(2)数据连接

TCP20,用于上传、下载数据

(3)数据连接的建立类型

主动模式:服务端从20端口主动向客户端发起连接

被动模式:服务端在指定范围内某个端口被动等待客户端连接

2.FTP传输模式

(1)文本模式

ASCII模式,以文本序列传输数据

(2)二进制模式

Binary模式,以二进制序列传输数据

3. FTP用户的类型

(1)匿名用户

anonymous或ftp

(2)本地用户

账号名称、密码等信息保存在passwd、shadow文件

(3)虚拟用户

使用独立的账号/密码数据文件

4.常见的FTP服务器程序

IIS、Serv-U

wu-ftpd、Proftpd

vsftpd(Very Secure FTP Daemon)

5.常见的FTP客户端程序

ftp命令

CuteFTP、FlashFXP、LeapFTP、Filezilla

gftp、kuftp

6.Vsftpd软件包

(1)官方站点

http://vsftpd.beasts.org/

(2)主程序

/usr/sbin/vsftpd

(3)服务名

vsftpd

(4)用户控制列表文件

/etc/vsftpd/ftpusers

/etc/vsftpd/user_list

(5)主配置文件

/etc/vsftpd/vsftpd.conf

7.安装后目录解读

解读生成的目录

没有截完!

(1)用户控制列表文件

/etc/vsftpd/ftpusers

/etc/vsftpd/user_list

(2)主配置文件

/etc/vsftpd/vsftpd.conf

(3)利用service启动的执行文件

/etc/rc.d/init.d/vsftpd

(4)ftp用户默认工作目录(宿主目录)

/var/ftp

(5)ftp用户默认登录的目录

/var/ftp/pub

(二)匿名用户访问ftp

1.安装vsftpd

2.修改配置文件

修改的项用红色标注出来了!

3.给相关的目录设置权限

给你想给匿名用户控制访问的目录设置权限!

比如给/var/ftp/pub目录设置777,这样匿名用户就可以在配置文件参数允许的情况下删除文件,创建文件了。

比如,配置文件中有这样一条参数:anon_other_write_enable=NO,那么就算是/var/ftp/pub目录的权限为777,那你也不可能删除其中的东西!

4.启动

service vsftpd start

5.测试

匿名用户登录后,会默认出现在/var/ftp目录,且只能在/var/ftp目录下活动,不能移动到服务器的根目录下!

(1)安装ftp客户端

安装6.5光盘自带的ftp包。

(2)关闭防火墙与selinux

service iptables stop

setenforce 0  (getenforce查看状态)

(3)登录测试

利用本机测试访问:  ftp  192.168.8.116  (192.168.8.116为搭建vsftpd服务的主机IP)

二、本地用户登录

(一)本地用户可以移动到服务器的根目录

不推荐,因为不安全!

1.安装vsftpd

2.修改配置文件

不修改配置文件,直接用原来默认的!

默认起作用的关键是黄色框住的!

3.添加一个用于测试的本地用户(实体用户)并修改密码

4.测试

关闭防火墙与selinux后,安装ftp客户端后再测试!详情见本文匿名用户登录测试小点下!

(1)创建目录测试

其实现在用ftp登录是直接登录到该账户自己本身的默认工作目录的!如果该账户没有默认的工作目录,那么该账户是不能通过ftp登录的!

(2)回到根目录测试

(二)本地用户只能在不能移动到服务器的根目录

1.安装vsftpd

2.修改配置文件

红色框住的参数是控制本地用户是否被束缚在该用户的默认工作目录下的参数!

存在这句,ftp登录的实体用户就不到达根目录!

3.添加一个用于测试的本地用户(实体用户)并修改密码

4.测试

关闭防火墙与selinux后,安装ftp客户端后再测试!详情见本文匿名用户登录测试小点下!

(1)安装客户端软件

(2)创建目录测试

(3)移动到其他目录测试

不能移动到其他目录,只能在用户的默认工作目录活动!

(三)仅一部分本地用户可以移动到服务器的根目录

1.安装vsftpd

2.修改配置文件

红色框住的第一行为不允许ftp登录的用户跳转到根目录,

第二行为开启部分用户可以跳转到根目录的功能

第三行为用户列表文件

3.创建用户列表文件

文件内容只有可以跳转到根目录的用户!

比如:

4.添加用户并改密

5.启动

6.测试

(1)安装ftp客户端

(2)切换目录测试

用su登录(su在/etc/vsftpd/chroot_list文件中)

用tang登录

三、虚拟用户登录

(一)所有虚拟用户登录到同一个目录(不设权限)

注意:当允许虚拟用户登录时,就不能实现实体用户登录!!两者不共存!

1.安装vsftpd

2.修改配置文件

配置文件的要求:允许本地用户登录,因为虚拟用户最终是映射到本地用户来登录的。

还有根据情况添加匿名用户的权限!因为虚拟用户登录上去后,权限由匿名用户权限管理!比如:anon_mkdir_write_enable=YES等

添加这三项:

guest_enable=YES

guest_username=su(要映射到的用户)

pam_service_name=vsftpd.vu(vsftpd.vu为后面编写的pam模块的名字)

3.创建实体用户

useradd  -s  /sbin/nologin   su

如果后面测试时,用虚拟用户登录后不能执行ls命令的话,就先将该实体用户的权限设置为757,等可以ls后再将该目录的权限改为755。

修改命令(chmod  -R 757  /home/su)R选项为递归参数!

4.创建虚拟账户文件

用户 密码…的格式

5.将该文件生成数据库文件

[root@sutang vsftpd]# db_load -T -t hash -f vuser.list vusers.db

{---***选项-T允许应用程序能够将文本文件转译载入进数据库。

-t hash使用hash码加密

-f 指定包含用户名和密码文本文件。此文件格式要示:奇数行用户名、偶数行密码***---}

确认该文件类型:

[root@sutang vsftpd]# file vusers.db

vusers.db: Berkeley DB (Hash, version 9, native byte-order)

6.编写pam模块

一般在/etc/pam.d目录下编写!vim  /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth required pam_userdb.so db=/etc/vsftpd/vusers

account required pam_userdb.so db=/etc/vsftpd/vusers

其中vusers是上一步生成的数据库文件的文件名,不要后缀名!!!

7.启动

service vsftpd start

8.测试

虚拟用户默认登录的位置为映射的实体用户的默认工作目录下,而且不能跳到其他位置!

关闭防火墙与selinux后,安装ftp客户端后再测试!详情见本文匿名用户登录测试小点下!

(二)设置各个虚拟用户的权限的ftp

1.修改配置文件

红色框中的内容是要修改的!剩下的保持默认就好!

第一个红框:实体用户的默认权限!(因为虚拟用户映射到实体用户,所以必须给实体用户相应的权限)

第二个红框:虚拟用户和匿名用户的权限设置,这里因为要实现各个虚拟用户的权限不同,就将此全部设置成NO!这里的权限设置相当于全局权限,对所有虚拟用户的权限都有效!

第三个红框:设置虚拟用户的开启、映射的实体用户、使用的pam模块

第四个红框:设置虚拟用户的指定权限文件的目录,在该目录下是一些和虚拟用户用户名同名的文件,这些文件中存放有每一虚拟用户的指定权限!

2.创建实体用户

useradd  -s  /sbin/nologin  su

如果后面测试时,用虚拟用户登录后不能执行ls命令的话,就先将该实体用户的权限设置为757,等可以ls后再将该目录的权限改为755。

3.创建虚拟账户文件

用户 密码…的格式

4.将该文件生成数据库文件

[root@sutang vsftpd]# db_load -T -t hash -f vuser.list vusers.db

确认该文件类型:

[root@sutang vsftpd]# file vusers.db

vusers.db: Berkeley DB (Hash, version 9, native byte-order)

5.编写pam模块

#%PAM-1.0

auth required pam_userdb.so db=/etc/vsftpd/vusers

account required pam_userdb.so db=/etc/vsftpd/vusers

其中vusers是上一步生成的数据库文件的文件名,不要后缀名!!!

6.创建虚拟用户的权限目录并创建权限设置文件

此处的目录的路径一定要和配置文件中的第四个红框内容相同!

mkdir  /etc/vsftpd/vusers_config

进入该目录并创建指定的文件

我在这个目录中创建了aaa这个虚拟用户对应的配置文件,内容如上图!

7.启动

8.测试

aaa虚拟用户登录测试

bbb虚拟用户登录测试

bbb用户没写单独的配置文件,直接用的是主配置文件中的全局权限控制!(详情见配置文件第二个红框)

vsftpd配置(虚拟用户、匿名用户登录)相关推荐

  1. Debian中proftpd+mysql+虚拟用户+匿名用户+磁盘限额的配置

    http://os.51cto.com/art/201102/245850.htm Debian所系统目前采用的是 Linux 内核.Debian 支持内核的工作也正在进行.最主要的就是 Hurd,H ...

  2. oracle虚拟用户和密码,vsftpd配置虚拟用户为登录用户

    1.安装vsftpd 安装依赖包: yum -y install pam pam-devel db4 de4-devel db4-uitls db4-tcl 新建vsftpd系统用户: #建立Vsft ...

  3. vsftpd配置虚拟用户(实战)

    1.建立虚拟用户口令库 vi /etc/vsftpd/logins.txt 在里面写用户名和口令,奇数行用户名,偶数行口令,例如: user01 666666 user02 666666 2.生成vs ...

  4. linux中匿名用户怎么登陆_Linux网络配置 | FTP 实战-匿名用户登录

    第四章 Linux网络配置 4.3 使用FTP命令实现远程文件传输 FTP是在TCP/IP网络上的计算机之间传输文件的简单有效的方法,用户可以通过FTP客户程序连接到另一台计算机上,可以在目录中上下移 ...

  5. Centos 7搭建、配置ftp(匿名用户)

    如果出错了,就可以直接卸载文件: rpm -q vsftpd  查看文件名 rpm -e vsftpd-3.0.2-25.el7.x86_64 卸载命令 Linux搭建.配置ftp 简单理解一下:ft ...

  6. vsftpd配置详解——控制用户目录权限

    一.控制目录权限 1.参数说明: chroot_local_user:是否将所有用户限制在主目录,YES为启用 NO禁用.(该项默认值是NO,即在安装vsftpd后不做配置的话,ftp用户是可以向上切 ...

  7. ftp匿名用户匿名用户本地用户设置

    ftp匿名用户的设置 (1)anonymous_enable=YES/NO 是否启用匿名用户访问 (2)anon_root=/opt 匿名用户登入的FTP根目录 (3)anon_umask=022 匿 ...

  8. 配置FTP服务2(vsftpd 配置虚拟账号)

    1. 安装软件 yum -y install vsftpd*   yum -y install pam*   yum -y install db4* 2. 建立虚拟账号相关联的系统账号 useradd ...

  9. vsftpd匿名用户上传和下载的配置

    看到很多朋友配置vsftpd时不能使用匿名用户上传和下载(创建目录或删除.重命名文件夹),本文主要解决vsftpd的匿名用户权限配制问题. 配置要注意三部分,请一一仔细对照: 1.vsftpd.con ...

  10. ftp ---- 匿名用户(实例配置示例1:匿名用户登录)

    简单的匿名登录配置 ## # 全局配置 ## write_enable=YES#### # 匿名用户配置 ####anonymous_enable=YES # 允许匿名用户登录 anon_upload ...

最新文章

  1. MariaDB: ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111 Connection refused)
  2. php异常跑出,php 抛出异常但继续往下执行为什么
  3. 201126阶段二单例数据库及MVC设计模式
  4. c语言如何判断是否是子序列,leetcode392(判断子序列)--C语言实现
  5. Pass4side CompTIA PDI+ Beta Exam PD1-001 DEMO 免费下载
  6. ssh-copy-id配置rsync免密访问并rsync同步
  7. 星际2新智能体开源:单机并行能力强,适应环境广,个人可训练
  8. 免校准的电量计量芯片_交直流两用计量芯片HLW8112
  9. PowerDesigner如何生产数据字典
  10. appium inspector连接appium service
  11. 【LeetCode刷题——数据结构篇】
  12. 清澄A1223. 画圈圈(范浩强)
  13. 全国DNS服务器IP地址大全、公共DNS大全
  14. python词性标注_Python词性标注HMM+viterbi实现
  15. 关于麒麟!关于互联网
  16. Qt延时和startTimer
  17. 计算机基础知识考点合集
  18. 【2018十大VR眼镜排行榜】VR眼镜有哪些品牌。哪个牌子的VR眼镜比较好,性价比高,适合玩VR游戏的
  19. Maple取消假设assume变量的波浪线
  20. Ubuntu18.04编译Openwrt 15.05.1 Chaos Calmer版本固件遇到的问题汇总

热门文章

  1. 水系图一般在哪里找得到_厦大赵金保团队EnSM:新型聚阴离子锌盐水凝胶电解质实现具有高择优取向沉积的超稳定、高可逆水系锌金属负极...
  2. cydia软件路径_ifile下载和安装及使用图文教程 强大的iPhone文件管理器
  3. B站视频下载(含bv快速变回av)
  4. U盘病毒 hypertrm.exe 修复
  5. 基础搜索(kuangbin专题)
  6. java servlet面试题_servlet面试题一般有哪些?servlet面试大全详解
  7. PUN☀️三、服务器大厅、服务器房间
  8. 全国快递物流查询公司mysql数据库语句
  9. Linux 抓包工具 tcpdump
  10. 深入原理64式:39 线性代数公式总结