• ftp虚拟用户


    ftp虚拟用户

    一.虚拟用户配置

    vim /etc/vsftpd/users             ##编辑虚拟用户文件

    bss

    westos

    tom

    westos

    db_load -T -t hash -f users userd.db     ##对文件进行加密

    vim /etc/pam.d/vsftpd.db            ##编写认证文件

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

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

    Vim /etc/vsftpd/vsftpd.conf          ##编写主配置文件

      anonymous_enable=NO         ##匿名用户禁止登录

      local_enable=YES            ##本地用户允许登录

      write_enable=YES            ##本地用户可写

      local_umask=022             ##创建文件预留的umask

      anon_upload_enable=YES          ##匿名用户能否上传

      anon_other_write_enable=YES       ##匿名用户是否可写

      anon_mkdir_write_enable=YES       ##匿名用户能否创建目录

      connect_from_port_20=YES       ##指定端口为20进行数据传输(默认)

      dirmessage_enable=YES          ##欢迎语设置(默认)

      xferlog_enable=YES           ##是否启用上传/下载日志记(默认)

      xferlog_std_format=YES         ##如果启用,则日志文件将会写成xferlog的标 准格式(默认)

      listen=NO                ##设置vsftpd服务器是否以standalone模式 运行(默认)

      listen_ipv6=YES             ##默认

      pam_service_name=vsftpd.db      ##指定认证文件

      guest_enable=YES            ##开启虚拟用户

      guest_username=ftp            ##虚拟用户的宿主用户(此用户必须真实存在)

      userlist_enable=YES            ##是否启用vsftpd.user_list文件。(默认)

      tcp_wrappers=YES            ##设置vsftpd是否与tcp wrapper相结合来进 行主机的访问控制(默认)

    chown ftp:ftp /var/ftp/pub            ##不要更改用户家目录的权限,否则会报错

    systemctl restart vsftpd

    测试:

    lftp 192.168.8.254 -ubss

    Password:

    lftp bss@192.168.8.254:/> cd pub/

    ftp bss@192.168.8.254:/pub> mkdir ll

    mkdir ok, `ll' created

    lftp bss@192.168.8.254:/pub> cd ll/

    lftp bss@192.168.8.254:/pub/ll> put ff

    lftp bss@192.168.8.254:/pub/ll> rm ff

    rm ok, `ff' removed

    lftp bss@192.168.8.254:/pub/ll> cd ..

    lftp bss@192.168.8.254:/pub> rm -r ll

    rm ok, `ll' removed

    lftp bss@192.168.8.254:/pub> exit

    二.虚拟用户独立家目录配置

    vim vsftpd.conf               ##编辑配置文件(添加)

      local_root=/ftphome/$USER        ##指定虚拟用户的家目录

      user_sub_token=$USER           ##shell变量引用到此文件中

    mkdir /ftphome/bss/bss -p ##创建虚拟用户的家目录

    mkdir /ftphome/tom/tom -p

    chown ftp:ftp /ftphome/bss/bss/       ##更改目录用户,使其可写(也可更改其权限)

    chown ftp:ftp /ftphome/tom/tom/

    测试:

    lftp 192.168.8.254 -ubss

    Password:

    lftp bss@192.168.8.254:~> ls          

    drwxr-xr-x    2 14       50              6 Jul 30 02:36 bss

    lftp bss@192.168.8.254:/> cd bss/

    lftp bss@192.168.8.254:/bss> ls

    lftp bss@192.168.8.254:/bss> put ff

    lftp bss@192.168.8.254:/bss> rm ff

    rm ok, `ff' removed

    lftp bss@192.168.8.254:/bss> exit

    三.虚拟用户独立权限设定

    :bss不可上传,tom可上传

    vim vsftpd.conf                 ##编辑配置文件(添加)

      user_config_dir=/etc/vsftpd/user_conf

    mkdir /etc/vsftpd/user_conf           ##创建指定目录(与配置文件中一至)

    cd /etc/vsftpd/user_conf

    vim bss

    anon_upload_enable=NO             ##配置该用户的权限

    systemctl restart vsftpd

    测试:

    lftp 192.168.8.254 -utom

    Password:

    lftp tom@192.168.8.254:~> ls          

    drwxr-xr-x    2 14       50              6 Jul 30 03:02 tom

    lftp tom@192.168.8.254:/> cd tom/

    lftp tom@192.168.8.254:/tom> put ff

    lftp tom@192.168.8.254:/tom> ls

    -rw-------    1 14       50              0 Jul 30 03:03 ff

    lftp tom@192.168.8.254:/tom> exit

    lftp 192.168.8.254 -ubss

    Password:

    lftp bss@192.168.8.254:~> ls          

    drwxr-xr-x    2 14       50              6 Jul 30 02:49 bss

    lftp bss@192.168.8.254:/> cd bss/

    lftp bss@192.168.8.254:/bss> ls

    lftp bss@192.168.8.254:/bss> put ff

    put: Access failed: 550 Permission denied. (ff)

    lftp bss@192.168.8.254:/bss> exit

    PS:

    1.用户登录家目录锁定

    chroot_local_user=YES    ##将登录用户锁定在自己的家目录中

    chroot_list_enable=YES    ##和下方参数配合使用,是否读取下方文件

    chroot_list_file=/etc/vsftpd/chroot_list  ##此文件记录的用户将会被读取锁定在自己的家目录中(该文件需自己创建)

    2.禁止登陆名单(默认)

    在/etc/vsftpd/ftpusers  这个文件中的用户名是无法登录ftp服务的(默认)

    同时/etc/vsftpd/user_list 这个文件也起到禁止登陆效果

    但此文件的效果可以跟着usrlist_deny=NO 这个参数的配置改变

    3.限速

    anon_max_rate=102400    ##单位是字节

    4.客户端连接限制

    man_clients=2

    5.`ls' at 0 [FEAT negotiation...]   遇到这个提示如何连接

    lftp ftpserver -ubss     ##登录后不要直接查看,在会话框中输入下面两条命令

    set ftp:ssl-allow false

    set ftp:use-feat false

    ls

    这个问题的原因未知,解决方法未知

  • 相关阅读:
    struts文件上传,获取文件名和文件类型
    commons-fileupload.jar实现文件上传
    DiskFileItemFactory类的使用
    css控制两个表格的边线重合
    css控制同一个页面的两个表格,一个显示有边框线,而另一个没边框线
    Android无线调试_adbWireless
    Android无线调试(转)
    struts2用到的jar有那些
    Eclipse 中 Could not find *.apk的解决方案
    JavaScript修改注册表
  • 原文地址:https://www.cnblogs.com/zhengyipengyou/p/11269894.html
Copyright © 2020-2023  润新知