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>

    运行后确实成功。

  • 相关阅读:
    49.把字符串转发为整数(python)
    48.不用加减乘除做加法(python)
    47.1+2+3+...+n(python)
    46.孩子们的游戏(python)
    45.扑克牌顺子(python)
    44.翻转单词序列(python)
    43.左旋转字符串(python)
    42.和为S的两个数字(python)
    41.和为S的连续整数序列(python)
    39.平衡二叉树(python)
  • 原文地址:https://www.cnblogs.com/nyfz/p/10489788.html
Copyright © 2011-2022 走看看