• FTP


    -----------------FTP匿名、实名用户 tcp21----------------------

    实现匿名账户使用VSFTP(仅下载) 实现实体账户使用VSFTP
    #yum install vsftpd -y[安装FTP服务]
    1)配置文件不需要修改 1)配置文件不需要修改
    2)启动vsftpd 2)启动vsftpd
    3)客户端安装ftp客户端程序 3)客户端安装ftp客户端程序
    #yum install ftp -y #yum install ftp -y
    4)客户端使用匿名账户登陆 4)客户端使用实名账户登陆
    #ftp 192.168.1.5 #ftp 192.168.1.5
    匿名账户:ftp 密码:随意 实体账户:snow 码:123456

    开启匿名上传及建立目录机制:
    1)修改vsftpd.conf配置文件
    将29行注释取消
    anon_upload_enable = YES
    将33行注释取消
    anon_mkdir_wirte_enable = YES
    2)启动vsftpd
    运行vsftpd需要的非特权账户,默认:nobodynopriv_user=ftpsecure
    3)修改/var/ftp/pub目录权限,使ftp匿名账户具备写权限
    #chown -R ftp.ftp pub
    4)客户端测试

    开启匿名账户修改、删除权限:
    1)修改vsftpd.conf配置文件
    于33行下增加
    anon_other_wirte_enable = YES
    2)启动vsftpd
    3)修改/var/ftp/pub目录权限,使ftp匿名账
    户具备写权限
    #chown -R ftp.ftp pub
    4)客户端测试
    # ftp 192.168.10.5 [ftp登录]
    #get 文件名[下载]←不需要加路径
    #put 文件名[上传]

    如果ftp客户端发送async ABOR指令时,此设定才会启用;但非常不安全,不推荐使用:async_abor_enable=YES

    用于拒绝email作为口令登录deny_email_enable=YES

    是否允许递归查询,大型ftp site启用此选项可允许远程用户查询目录中的内容
    ls_recurse_enable=YES

    用于拒绝某些email作为口令登录,可写入至banned_emails文件中
    banned_email_file=/etc/vsftpd/banned_emails

    FTP其他限制
    1)限定最大并发连接数为100
    max_clients=100
    2)限定每客户端最多同时可以发起的链接个数
    max_per_ip=1
    3)限定匿名用户最大下载速率(单位:字节)
    anon_max_rate=81920
    4)设定有效实体账户最大下载速率
    local_max_rate=102400
    5)设定pasv模式使用端口的范围
    pasv_min_port=50000
    pasv_max_port=60000
    6)设置最大超时时间(单位:秒)
    idle_session_timeout=120
    data_connection_timeout=300
    connection_timeout=60

    ftp模板所在位置
    #cd /usr/share/doc/vsftpd-*/EXAMPLE/

    ------------ FTP实现chroot-------------

    1.#yum install vsftpd -y #systemctl start vsftpd[安装启动]
    2.#cd /etc/vsftpd
    #vim vsftpd.conf [修改配置文件]
    如果打算使用chroot_list列表来指定允许不用
    chroot的用户请将101及102行注释取消。并建立chroot_list文件,将账户写入里面,如:
    #cat /etc/vsftpd/chroot_list
    snow
    chuai
    值得注意的是chroot_list文件里的账户是不被chroot的[chroot意思是被锁]

    chroot出现错误解决方法
    在vsftpd.conf中增加
    allow_writeable_chroot=YES

    4.#cd /etc/vsftpd
    #ls -l ftpusers ←在此文件中的账户无法登陆
    ftp
    #ls -l user_list ← 有vsftpd.conf中的
    userlist_enable语句控制

    当 userlist_enable=NO 时 user_list列表不生效,列表内和列表外的用户都可登录

    当 userlist_enable=YES及userlist_deny=YES同时写到配置中时user_list列表内的用户不可以登录,列表外用户可登录

    当 userlist_enable=YES及userlist_deny=NO同时写到配置中时user_list只允许列表以外的用户登录,并且必需是以命令行的方式

    客户端测试
    # ftp 192.168.10.5 [ftp登录]
    #get 文件名[下载]←不需要加路径
    #put 文件名[上传]

    --------------- FTP虚拟账户-------------

    1)建立虚拟账户文件
    #vim ~/ftpusers.txt
    ck007 ←账户
    123 ←密码
    lisa ←账户
    123 ←密码
    hah
    123
    注意:要有一个真实的用户对应

    2)生成账户的数据库
    #db_load -T -t hash -f /root/ftpusers.txt /etc/vsftpd/ftpusers.db
    #ls -l /etc/vsftpd/ftpusers.db
    #rm -rf ~/ftpusers
    -T:允许使用文本文件信息加载到数据库中
    -t :指定加密算法
    -f : 指定文件

    3)通过PAM验证虚拟账户
    #cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak
    #cp /usr/share/doc/vsftpd*/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/vsftpd

    4)修改vsftp验证文件
    #vim /etc/pam.d/vsftpd
    将so模块路径去除,仅保留模块
    将db=/etc/vsftpd_login改为数据库文件名。
    如auth required pam_userdb.so db=/etc/vsftpd/ftpusers
    account required pam_userdb.so db=/etc/vsftpd/ftpusers
    //*特别提示,在pam中的验证数据库不用加.db

    5)创建与虚拟账户管理的实体账户
    #useradd ck007
    #chmod 777 -Rv /home/ck007←对应真实账户
    //*如出现” 500 OOPS: vsftpd: refusing to runwith writable root inside chroot()” 请将/home/test目录写权限去除
    #chmod a-w /home/ck007

    6)修改vsftpd.conf配置文件
    在其下增加
    guest_enable=YES
    guest_username=ck007←对应真实账户
    7)重启vsftpd
    #systemctl restart vsftpd
    //*客户端测试*//

    当你的才华还撑不起你的野心的时候,你就应该静下心来学习;当你的能力还驾驭不了你的目标时,就应该沉下心来历练;
  • 相关阅读:
    PostgreSQL 安装和使用
    动态sql
    知识储备
    java空和非空判断
    我的第一篇博客
    正式工作:PreparedStatement 参与的
    mysql part2DML(数据操作语言)
    DCL(权限 ,用户)
    DQL(数据查询语言)
    准备工作:Eclipse 导入 mysql连接java 的jar包
  • 原文地址:https://www.cnblogs.com/yanghaitao/p/11527650.html
Copyright © 2020-2023  润新知