说明:vsftp为系统自带的,可以直接yum安装

1. 直接启动

    说明:自动生成启动脚本 /etc/init.d/vsftpd;启动前需查看21端口是否被占用

    命令 /etc/init.d/vsftpd start


2. 服务端系统用户家目录下创建目录和文件

    说明:vsftp配置文件默认允许系统用户登录,如user3

    命令 mkdir /home/user3/aabb

    命令 touch /home/user3/1122.txt


3. 客户端登录

    说明:以服务端user3的用户和密码身份登录,可以查看上传下载共享目录下的文件,需yum安装lftp工具

    命令 lftp user3@192.168.11.160


    注:客户端登录之后,除了访问user3的家目录外,默认也可以访问服务端的其它系统目录!!!


4. 编辑vsftp配置文件

    说明:限定只能访问登录用户的家目录;配置文件/etc/vsftpd/vsftpd.conf

    找到 #chroot_local_user=YES,去掉注释#


    注:也可设置chroot_list列表,限定某些目录




给vsftpd映射一个虚拟用户


1.创建虚拟用户

   说明:密码库文件记录登录用户和密码

   命令 useradd virftp -s /sbin/nologin

 

2. 为虚拟用户创建密码库文件,授权600、生成二进制库文件  

   2.1密码库文件

    命令 vim /etc/vsftpd/vsftpd_login  //奇数行为用户名,偶数行为密码

    test1

    111222aaa

    test2

    aaa111ddd


    2.2 只允许root可以查看密码库文件

    命令 chmod 600 /etc/vsftpd/vsftpd_login


    2.3 生成二进制库文件

    说明:vsftp只能识别二进制库文件

    命令 db_load -T -t hash -f  /etc/vsftpd/vsftpd_login  /etc/vsftpd/vsftpd_login.db


    注:选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。指定了选项-T,那么一定要追加子选项-t;子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。-f 参数后面接包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码hash就是使用hash码加密


3. 为密码库文件中的用户创建配置文件、家目录的权限映射为虚拟用户

    3.1 配置文件,以登录用户名命名

    命令 mkdir /etc/vsftpd/vsftpd_user_conf  ;vim /etc/vsftpd/vsftpd_user_conf/test1

    内容:

    local_root=/home/virftp/test1 # 限定家目录

    anonymous_enable=NO          # 匿名用户不可用

    write_enable=YES                    

    local_umask=022

    anon_upload_enable=NO

    anon_mkdir_write_enable=NO

    idle_session_timeout=600

    data_connection_timeout=120

    max_clients=10

    max_per_ip=5

    local_max_rate=50000


  3.2 创建家目录,权限为映射的虚拟用户

   命令 mkdir /home/virftp/test1 ;chown -R virftp:virftp /home/virftp/test1


4. 用户登录时,指定二进制密码库文件信息

    说明:用到pam_userdb.so模块,需填写系统中正确的路径

    vim /etc/pam.d/vsftpd

    添加内容:

 auth  required    /lib64/security/pam_userdb.so   db=/etc/vsftpd/vsftpd_login

   account required     /lib64/security/pam_userdb.so   db=/etc/vsftpd/vsftpd_login


5. 编辑vsftp主配置文件/etc/vsftpd/vsftpd.conf

    说明:禁用关于匿名用户的权限内容,启用指定虚拟来宾用户

    修改内容:

    anonymous_enable=NO  

    anon_upload_enable=NO

    anon_mkdir_write_enable=NO

    chroot_local_user=YES


    //加入内容:

    guest_enable=YES                                              # 允许来宾用户

    guest_username=virftp                                      # 指定来宾用户名

    virtual_use_local_privs=YES

    user_config_dir=/etc/vsftpd/vsftpd_user_conf  # 指定来宾用户的配置文件


    注:配置文件不能有多余的空格,否则会报错!!!


6. 客户端登录

    说明:修改了配置文件需重启,在家目录/home/virftp/test1创建文件和目录,客户端登录可以看到

    命令 /etc/init.d/vsftpd restart

    linux登录方式         lftp test1@192.168.11.160

    windows登录方式  ftp://192.168.11.160/