服务安装 :vsftpd
主动模式
端口 TCP 21 用来验证帐户
商品 20 用来传输数据
被动模式
21 用来验证
随机端口 传输数据 ,每个端口都不一样,用完之后系统回收
缺点:防火墙设置复杂
/etc/vsftpd/vsftpd.conf 配置文件说明
anonymous_enable=YES
允许匿名用户登录
local_enable=YES
允许本地用户登录
anon_upload_enable=YES
允许匿名用户上传数据
pasv_enable
设置主动模式和被动模式
Default: YES
chroot_local_user=NO
ftpusers 文件
设置不可以登录ftp的用户帐号
user_list 文件
在主配置文件vsftpd.conf中加一条
userlist_deny=NO,则只有在该文件中出现的帐号才能登录ftp
userlist_deny=YES,则出现在该文件中的帐号不允许登录ftp
如果一个帐号同时在这两个文件存在,则帐号不能登录 ,vsftpd首先检测ftpuser文件
虚拟用户的支持
1.建立虚拟用户口令库文件(奇数行是用户名,偶数行是密码)
进入/etc/vsftpd 目录,然后新建文件benet
[root@localhost /]#vi benet
11
11
22
22
2.生成vsftpd的认证文件(需要安装db4-util,系统镜像里面有,书上没介绍)
[root@localhost /]#db_load -T -t hash -f /etc/vsftpd/benet /etc/vsftpd/benet.db (修改文件的权限)
3.建立虚拟用户所需的PAM配置文件(/etc/pam.d/)
进入/etc/pam.d,然后建立文件ftp,内容如下
[root@localhost /]#cd /etc/pam.d
[root@localhost /]#vi ftp
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/benet (库名)
account required /lib/security/pam_userdb.so db=/etc/vsftpd/benet (库名)
4.建立虚拟用户所需要的系统用户
useradd aa -d /aa(虚拟用户主目录) -s /sbin/nologin
5.建立虚拟用户所要访问的目录并设置相应权限(修改主目录权限700)
chmod 700 -R /aa
6.设置/etc/vsftpd/vsftpd.conf配置文件,在文档末尾添加如下内容:
[root@localhost /]#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES (启用虚拟用户)
guest_username=aa (新建的系统用户)
pam_service_name=ftp (验证模块名称)
user_config_dir=/etc/vsftpd/config 虚拟用户权限的配置目录
7.进入/etc/vsftpd/config新建文件11,22。这两个文件就是11和22用户的权限配置文件,下面的参数就是具体的可能用的参数
[root@localhost /]#mkdir /etc/vsftpd/config
[root@localhost /]#touch 11 22
[root@localhost /]#vi 11
[root@localhost /]#vi 22
anon_world_readable_only=YES 表示用户可以浏览FTP目录和下载文件
anon_upload_enable=NO 表示用户不可以上传文件
anon_mkdir_write_enable=YES 表示用户具有建立目录的权限,不能删除目录
anon_other_write_enable=YES 表示用户具有文件改名和删除文件的权限
local_root=/ 指定虚拟用户的目录