• 共享服务-FTP基础(二)


    续接上一篇

    使用pam(Pluggable Authentication Modules)完成用户认证

    pam_service_name=vsftpd

    pam配置文件:/etc/pam.d/vsftpd

    /etc/vsftpd/ftpusers 默认文件中用户拒绝登录

    是否启用控制用户登录的列表文件

    userlist_enable=YES 默认有此设置

    userlist_deny=YES(默认值) 黑名单,不提示口令,NO为白名单

    userlist_file=/etc/vsftpd/users_list 此为默认值

    vsftpd服务指定用户身份运行

    nopriv_user=nobody (默认值)

    连接数限制

    max_clients=0 最大并发连接数

    max_per_ip=0 每个IP同时发起的最大连接数

    传输速率:字节/秒

    anon_max_rate=0 匿名用户的最大传输速率

    local_max_rate=0 本地用户的最大传输速率

    连接时间:秒为单位

    connect_timeout=60 主动模式数据连接超时时长

    accept_timeout=60 被动模式数据连接超时时长

    data_connection_timeout=300 数据连接无数据输超时时长

    idle_session_timeout=60 无命令操作超时时长

    优先以文本方式传输

    ascii_upload_enable=YES

    ascii_download_enable=YES

    实现基于SSL的FTPS

    查看是否支持SSL

    ldd `which vsftpd` 查看到libssl.so

    创建自签名证书

    cd /etc/pki/tls/certs/

    make vsftpd.pem

    openssl x509 -in vsftpd.pem -noout –text

    配置vsftpd服务支持SSL:/etc/vsftpd/vsftpd.conf

    ssl_enable=YES 启用SSL

    allow_anon_ssl=NO 匿名不支持SSL

    force_local_logins_ssl=YES 本地用户登录加密

    force_local_data_ssl=YES 本地用户数据传输加密

    rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem

    用filezilla等工具测试

    vsftpd虚拟用户

    虚拟用户:

    所有虚拟用户会统一映射为一个指定的系统帐号:访问共享位置,即为此系统帐号的家目录

    各虚拟用户可被赋予不同的访问权限,通过匿名用户的权限控制参数进行指定

    虚拟用户帐号的存储方式:

    文件:

    编辑文本文件,此文件需要被编码为hash格式

    奇数行为用户名,偶数行为密码

    db_load -T -t hash -f vusers.txt vusers.db

    关系型数据库中的表中:

    实时查询数据库完成用户认证

    mysql库:

    pam要依赖于pam-mysql

    /lib64/security/pam_mysql.so

    /usr/share/doc/pam_mysql-0.7/README

    常用配置-修改配置文件

    1、man帮助

    man vsftpd.conf

    2、指定监听端口

    listen_port=2121

    3、更改主动模式端口默认20

    ftp_data_port=2020

    4、限定被动随机端口范围默认0

    #inux 客户端默认使用被动模式

    #windows 客户端默认使用主动模式

    pasv_min_port=6000 0为随机分配

    pasv_max_port=6010

    备注:方便防火墙打开端口,端口范围多少决定了并发数

    5、使用当地时间

    use_localtime=YES #使用当地时间(默认为NO,使用GMT)

    6、修改匿名账号(ftp)登陆所在目录

    1)把这个文件夹作为匿名账号的目录

    mkdir /data/ftp -pv

    我先cp个文件过来

    cp /etc/fstab /data/ftp/f2

    2)修改用户ftp家目录

    usermod -d /data/ftp ftp

    3)测试

    7、不检查匿名账号的口令

    no_anon_password=YES(默认NO)

    8、只能下载可读文件

    anon_world_readable_only (默认YES)

    备注:说的是其他用户项有么有读权限

    9、允许匿名上传文件和上次文件夹

    anon_upload_enable=YES 匿名上传,注意:文件系统权限

    anon_mkdir_write_enable=YES 匿名建目录

    备注:匿名用户它使用ftp用户上传文件的,查看要上传的文件对ftp用户有没有W权限

    注意这里上传默认下载不了

    10、更改上文文件的默认权限(默认umask是077)

    anon_umask=022 #指定匿名上传文件的umask

    11、开启匿名账号可删除修改文件(默认是禁止的)

    anon_other_write_enable=YES 可删除和修改上传的文件

    12、指定上传文件的默认的所有者和权限

    chown_uploads=YES(默认NO)

    chown_username=wang

    chown_upload_mode=0666

    13、把系统账号映射成为一个专门用于ftp的用户

    配置文件

    guest_enable=YES

    guest_username=ftp

    14、上传下载删除

    put:上传

    get:下载

    delete:删除

    15、把系统账号映射成一个账号,它登陆的时候在某个目录下

    1)先创建一个账号

    useradd testftp

    2)创建改账号要映射到所在目录

    mkdir /data/ftp

    备注:确保这个文件夹对改用户没有写权限

    2)配置vsftp配置文件

    guest_enable=YES

    guest_username=testftp

    local_root=/data/ftp

  • 相关阅读:
    C#调用WebService实现天气预报
    火狐完整版下载地址
    Unity3D 中 2D_Toolkit插件下载 和 导入方法
    给大家分享个 网站头像上传的 插件
    JQuery工具方法,实例方法
    ireport5.6.0 win10打不开
    JFreeChart 零散
    JS 类继承 原型继承
    技术电子书下载网址
    正则 变量替换
  • 原文地址:https://www.cnblogs.com/xsuid/p/9536979.html
Copyright © 2020-2023  润新知