zoukankan      html  css  js  c++  java
  • php

    ccentos7服务器 ========================

    一、安装vsftpd及ftp命令

    yum install vsftpd -y

    yum install ftp -y

    二、vsftpd服务器的配置文件

      实现在开启防火墙和SELinux情况下,实现匿名用户的登录,可以上传下载,可以创建目录,创建权限掩码为022,可以删除文件,最大上传速度为100kbit/s。

      vsftpd服务器的主要配置文件是/etc/vsftpd/vsftpd.conf。

    1.服务器端设置

    1.1修改配置文件开放匿名用户上传、下载及其他权限,

    anonymous_enable=yes //允许匿名用户登录 

    anon_upload_enable=yes   //允许匿名用户上传

    write_enable=yes //赋予写权限

    anon_mkdir_write_enable=yes   //允许匿名用户新建文件夹

    anon_other_write_enable=yes  //匿名用户拥有除了上传和新建目录之外的其他权限

    然后重启服务

    systemctl restart vsftpd.service

    1.2修改上传目录的权限

      为了让匿名用户实现上传,必须开放目录的写权限,以anonymous用户名登录后,相当于ftp用户的身份,ftp的登录目录为/var/ftp,开放这个目录的写权限:

    chmod 777 /var/ftp,但是再重启服务并在服务器上用ftp登录时会出错,这是因为/var/ftp的权限不对所致,这个目录的权限是不能打开所有权限的。解决方法为在/var/ftp下再建一个目录,权限是777就可以了:

    mkdir /var/ftp/pub

    chmod 777 /var/ftp/pub

    添加ftp用户名和密码

    /usr/sbin/adduser -d /opt/test_ftp -g ftp -s /sbin/nologin wolfyftp
    passwd wolfyftp  

    查看SElinux策略内ftp相关权限

    getsebool -a | grep ftp

    打开ftp权限,可以代码远程访问

    setsebool allow_ftpd_full_access 1

    然后重启服务

    systemctl restart vsftpd.service

    2.测试

    ftp:192.168.163.137

    浏览器中访问:

     

    php===============================

    if (is_uploaded_file($_FILES['uploadfile']['tmp_name'])) {
    $ftp_server = "192.168.1.105";
    $ftp_user_name = "lesley";
    $ftp_user_pass = "123456";
    $conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server");
    $file = $_FILES['uploadfile']['tmp_name'];
    $remote_file = '/test/'.$_FILES['uploadfile']['name'];
    $login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);

    if (ftp_put($conn_id, $remote_file, $file, FTP_BINARY)) {
    echo "文件:".$_FILES['uploadfile']['name']."上传成功 ";
    } else {
    echo "上传失败 ";
    }
    ftp_close($conn_id);
    }

    对应的前台页面代码:

    <form action="uploadfile.php" method="post" enctype="multipart/form-data">
    <input type="file" name="uploadfile" id="uploadfile" />
    <input type="submit" name="submit" value="submit" />
    </form>

    运行后确实成功。

  • 相关阅读:
    crash reporting system for Windows applications
    1
    qt 试用 (3)配置编译源代码及调试
    kd tree & ray tracing
    new
    KMP算法中关于next数组的探究
    teamviewer vs echovnc
    NAT之stun确定nat类型
    Wireshark
    GNU httptunnel,当SSH被block时的选择
  • 原文地址:https://www.cnblogs.com/nyfz/p/10489788.html
Copyright © 2011-2022 走看看