美文网首页
ubuntu LTS下搭建FTP服务器

ubuntu LTS下搭建FTP服务器

作者: 彬哲 | 来源:发表于2016-01-18 23:17 被阅读2589次

    服务器是合唱团的,因为要做图像视频资源的共享,所以搭个FTP服务器是必须的。根据会长的建议选择了vsftpd,Linux菜鸟一枚,在ubuntu服务器命令行模式下更是有种萌萌哒的感觉,历经坎坷,终于配好。

    1 安装vsftpd

    一条命令搞定,比window下安装软件方便千百倍。

    sudo apt-get install vsftpd
    

    2 FTP配置

    对于博合来说,基本的需求就是管理员可以上传文件,团员可以方便地下载文件。所以FTP的缺省配置基本够用了,只需要做少量的用户权限配置,这里不再列出缺省配置。

    2.1 最重要的几个配置文件
    /etc/vsftpd.conf 这个是FTP的主配置文件,最为重要
    
    vsftpd.conf中,用户权限相关的2个参数
    chroot_list_enable
    userlist_enable
    
    这2个参数配合以下4个文件,能实现不同的用户访问权限配置
    /etc/ftpusers 
    /etc/vsftpd.chroot_list
    /etc/vsftpd.user_list
    
    其中以下两个文件需要自己创建
    /etc/vsftpd.chroot_list
    /etc/vsftpd.user_list
     
    
    2.2 配置FTP传输相关的参数
    • 转到主配置文件
    sudo vi etc/vsftpd.conf
    
    • 在vsftpd.conf配置以下选项
    # 登录FTP后的欢迎信息
    ftpd_banner=welcome to phd.chorus!
    #
    # 并发客户端连接数
    max_clients=15
    #
    # 单个IP并发连接数
    max_per_ip=1
    #
    # 下载限速10Mbps
    local_max_rate=10000000
    

    重启服务,验证是否配置成功,如果没有报错,则说明配置成功。

    sudo service vsftpd restart
    
    2.3 配置用户权限
    • 转到主配置文件
    sudo vi etc/vsftpd.conf
    
    • 在vsftpd.conf中进行用户权限配置
    # 不允许匿名用户登录
    anonymous_enable=NO
    #
    # 是否允许登录用户有写权限,属于全局设置
    local_umask=022
    #
    # 允许本地用户组的用户登录
    local_enable=YES 
    #
    # 允许本地用户上传文件
    write_enable=YES 
    #
    # 本地用户登入时,将被切换到定义的目录下,默认值为各用户的家目录 
    local_root = /home/phdchorus
    #
    # 控制本地用户目录切换权限
    # 在默认配置下,本地用户登录FTP后可以使用cd命令切到其他目录,这样会有安全隐患
    # 通过配置chroot_list_enable | chroot_list_file | chroot_local_user这3个参数,控制用户切换目录的权限
    # 通过搭配,能实现以下几种效果
    # 1、当chroot_list_enable=YES,chroot_local_user=YES时,chroot_list_file中列出的用户,可以切换到其他目录,未在文件中列出的用户,不能切换到其他目录。
    # 2、当chroot_list_enable=YES,chroot_local_user=NO时,chroot_list_file中列出的用户,不能切换到其他目录,未在文件中列出的用户,可以切换到其他目录。
    # 3、当chroot_list_enable=NO,chroot_local_user=YES时,所有用户都不能切换到其他目录。
    # 4、当chroot_list_enable=NO,chroot_local_user=NO时,所有用户都可以切换到其他目录。
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd.chroot_list
    chroot_local_user=YES
    #
    #
    #
    # 访问控制设置(控制用户访问)
    # 如果设置了local_enable=YES,那么所有的用户(包括root)都能通过FTP登录服务器,出于安全考虑,需要对某些用户进行限制。
    # 启用userlist后,依据userlist_deny的设置,禁止或允许vsftpd.user_list中的用户登录
    #
    # 启用userlist
    userlist_enable=YES
    #
    # 文件内容为允许登录或禁止登录的用户名,每个用户一行。 
    userlist_file=/etc/vsftpd/vsftpd.user_list
    #
    # 若该选项设为YES,系统就会deny(禁止)userlist_file中的用户登陆FTP
    # 若该选项设为NO,系统就仅允许userlist_file中的用户登陆FTP
    userlist_deny=NO 
    #
    #
    # /etc/vsftpd/ftpusers文件专门用于列出禁止访问FTP服务的用户列表
    # ftpusers的优先级要高于其他配置文件
    #
    
    2.4 用户组及权限配置
    • 添加一个FTP用户组
    groupadd ftpgroup
    
    • 添加一个FTP帐号,可上传可下载可删除文件
    # --home 设置该用户根目录
    # --ingroup 设置该用户属于ftpgroup用户组
    # --on-create-home不要为这个用户创建家目录
    adduser --home /home/iamboher --ingroup ftpgroup iamboher
    

    根据提示填入密码和该用户相关的信息(全名、电话等),这样我们就为FTP添加了一个用户iambohe

    • 添加虚拟用户

    对于博士合唱团来说,FTP上的需求有三点:

    1. 所有团员都能够访问iamboher的home目录并下载其中的文件
    2. 部分团员能够上传文件(分享照片,视频)
    3. 少数几个团员对该目录拥有所有的权限(上传、下载、删除等)

    由于某些文件夹要分享给所有的博合团员,所以我们需要建立多个虚拟用户,给这些用户配置不同的权限(只读、读写、读写删)。同时把这些用户映射到本地用户'iamboher'下,使得这些用户指向相同的根目录。

    相关文章

      网友评论

          本文标题:ubuntu LTS下搭建FTP服务器

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