zoukankan      html  css  js  c++  java
  • linux搭建FTP服务器并整合Nginx

    操作系统:Centos7

    1.1、服务器配置

    # 关闭SELINUX,把SELINUX=enforcing改为SELINUX=disabled,reboot重启服务器生效
    vim /etc/sysconfig/selinux
    SELINUX=disabled
    
    # 开放21端口
    firewall-cmd --zone=public --add-port=21/tcp --permanent
    
    # 开放ftp服务
    firewall-cmd --add-service=ftp --permanent
    
    # 重新加载防火墙
    firewall-cmd --reload
    
    # 查看21端口是否开放
    firewall-cmd --zone=public --query-port=21/tcp
    
    # 查看ftp服务是否开放
    firewall-cmd --query-service=ftp
    
    # 新建一个不能登录系统用户,只用来登录ftp服务。这里如果没设置用户目录,默认是在home下。
    useradd ftpuser -s /sbin/nologin
    
    # 设置密码
    echo "foo" | passwd --stdin ftpuser
    ```
    500 OOPS: vsftpd: refusing to run with writable root inside chroot() #从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报误。 #要修复这个错误,可以用命令chmod a-w /home/ftpuser 去除用户主目录的写权限,注意把目录替换成你自己的。
    #或者你可以在vsftpd的配置文件中增加下列项: allow_writeable_chroot=YES ```
    # 查看目录权限
    ll -d /home/ftpuser/
    drwx------. 2 ftpuser ftpuser 62 9月 19 14:04 /home/ftpuser/
    # 去除用户主目录的写权限
    chmod a
    -w /home/ftpuser dr-x------. 2 ftpuser ftpuser 62 9月 19 14:04 /home/ftpuser/

    1.2、安装vsftpd

    yum -y install vsftpd
    
    # vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
    # vsftpd.conf 为主要配置文件
    # ftpusers 配置禁止访问FTP服务器的用户列表
    # user_list 配置用户访问控制------这里的用户默认情况(即在/etc/vsftpd/vsftpd.conf中设置了userlist_deny=YES)下也不能访问FTP服务器 

    1.3、配置vsftpd.conf

    # 禁用匿名用户,YES改为NO 
    anonymous_enable=NO
    
    # 禁止切换根目录
    chroot_local_user=YES

    1.4、启动vsftpd

    #
    systemctl start vsftpd.service
    
    #查看vsftpd状态
    systemctl status vsftpd.service

    1.5、安装ftp客户端

    yum install -y ftp

    1.6、登录ftp服务器(推荐,这种方式在出错的情况下可以看到错误信息的输出)

    ftp 192.168.0.183

    2.1、安装Nginx

    linux下yum安装最新稳定版nginx

    2.2、配置Nginx

    修改nginx.conf

    #user  nginx;
    user ftpuser;

    在conf.d下增加ftp_server.conf

    server {
        listen       8080;
        server_name  localhost;
    
        #charset koi8-r;
        access_log  /var/log/nginx/ftp.access.log  main;
    
        location / {
            # 指定到ftp文件位置
            root   /home/ftpuser;
            index  index.html index.htm;
        }
    }    
  • 相关阅读:
    以相同的條件,把多行記錄的某些欄位串在一起
    拆分記錄
    消息推送
    Web API数据传输加密
    OData 带更新的实例,并能取得元数据格式类型
    在ASP.NET Web API中使用OData
    浏览器根对象window之screen
    浏览器从输入到输出的过程与原理五之网络通信和三次握手
    浏览器从输入到输出的过程与原理四之互联网
    浏览器从输入到输出的过程与原理三之DNS
  • 原文地址:https://www.cnblogs.com/xxoome/p/9670758.html
Copyright © 2011-2022 走看看