node项目部署——阿里云centos部署ftp

作者: keenjaan | 来源:发表于2017-08-04 00:15 被阅读399次

    环境:

    1、Centos 7.3

    2、阿里云专有网络

    安装

    yum install -y vsftpd   // 安装
    
    systemctl start vsftpd.service   // 启动vsftpd服务
    

    ftp权限配置:

    vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:

    1、vsftpd.conf // 主配置文件

    2、ftpusers // 禁止访问 FTP 服务器的用户列表

    3、user_list // 用户访问控制

    这里只做简单配置,禁止切换目录。编辑 /etc/vsftpd/vsftpd.conf,找到下面两处配置并修改:

    anonymous_enable=NO     (改为NO)          // 禁用匿名用户 
    
    chroot_local_user=YES   (改为YES)         // 禁止切换根目录
    

    切换目录权限配置:

    chroot_list_enable=YES/NO(NO)

    设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。

    chroot_list_file=/etc/vsftpd/chroot_list

    用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。

    chroot_local_user=YES/NO(NO)

    用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。

    通过搭配能实现以下几种效果:
    
    
    1、当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
    
    
    2、当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。
    
    
    3、当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。
    
    
    4、当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。
    

    故上面配置属于第三种情况,所有用户不能切换到其他目录。

    如果使用情况1或者情况2时,要在/etc/vsftpd下新建chroot_list文件,配置相关用户。

    重启服务:

    systemctl restart vsftpd.service
    
    创建一个用户 ftpuser
    useradd ftpuser
    
    限制用户 ftpuser只能通过 FTP 访问服务器,而不能直接登录服务器:
    usermod -s /sbin/nologin ftpuser
    

    上面两步可以合二为一:

    useradd ftpuser -s /sbin/nologin
    

    为用户 ftpuser 设置密码

    方法一:
    echo "keenjaan" | passwd ftpuser --stdin
    
    方法二:
    passwd ftpuser
    输入两遍密码即可
    

    2.5 为用户分配主目录

    在/var中创建相关的目录

    mkdir -p /var/ftp/pub
    

    配置主目录即目录权限配置:

    /var/ftp            // 为主目录, 该目录只能读,不能写和执行
    
    /var/ftp/pub        // 文件具有读、写、执行权限
    

    设置访问权限

    chmod a-w /var/ftp && chmod 777 -R /var/ftp/pub
    
    对ftp文件:有读取权限,没有写入权限。
    
    对pub文件及其所有子文件:最高权限,读写,执行。
    

    关于chmod命令:参考这个连接传送门

    chmod [-cfvR] [--help] [--version] mode file...
    
    参数 :
      mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...],其中
    u 表示该文件的拥有者[user],
    g 表示与该文件的拥有者属于组(group),
    o 表示其他用户[other],
    a 表示这三者皆是[all]。(常用)
    
    + 表示增加权限、(常用)
    - 表示取消权限、(常用)
    = 表示唯一设定权限。
    
    r 表示有可读取的权限,
    w 表示有可写入的权限,
    x 表示有可执行的权限,
    X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
    
    -c : 若该文件权限确实已经更改,才显示其更改动作
    -f : 若该文件权限无法被更改也不要显示错误讯息
    -v : 显示权限变更的详细资料
    -R : 对目前目录下的所有文件与子目录进行相同的权限变更  (常用)
    --help : 显示帮助
    --version : 显示版本
    
    r=4,
    w=2,
    x=1
    rwx属性则4+2+1=7;
    rw-属性则4+2=6;
    r-x属性则4+1=5。
    

    设置为用户的主目录:

    usermod -d /var/ftp ftpuser
    

    在阿里云安全组中开放21端口号。

    使用FileZilla登录到ftp报错,553,最终设置FileZilla传输设置里传输模式为主动,就能正常传输了。

    到此ftp配置完成。这里有篇关于ftp配置文章很详细,传送门

    相关文章

      网友评论

        本文标题:node项目部署——阿里云centos部署ftp

        本文链接:https://www.haomeiwen.com/subject/xwbmlxtx.html