• ubuntu ftp安装配置


    一、准备。

     ubuntu虚拟机和window之间采用桥接方式(电脑主机最好是网线上网)

    二、ftp服务器配置。

    2.1. 安装ftp服务器。

        目前Linux上使用较多的ftp服务器是vsftpd。所以,我们需要先安装vsftpd软件。在Ubuntu上安装vsftpd,使用的命令是

    sudo apt-get install vsftpd

        在终端输入这句命令,有可能会提示-“无法定位到软件包 vsftpd”,那么这个问题的解决办法是在 /etc/apt/sources.list文件的最后,添加如下代码,

        deb http://ftp.us.debian.org/debian stable main contrib non-free
    
        deb http://ftp.us.debian.org/debian-non-US stable/non-US main contrib non-free
    
        deb http://ftp.us.debian.org/debian testing main contrib non-free
    
        deb http://ftp.us.debian.org/debian-non-US testing/non-US main contrib non-free
    
        deb http://ftp.us.debian.org/debian unstable main contrib non-free
    
        deb http://ftp.us.debian.org/debian-non-US unstable/non-US main contrib non-free

     然后在终端中执行命令

    apt-get update

        经过漫长的等待,终端中最终会执行上面添加的代码。

    2.2 vsftpd的配置。

       安装好vsftpd后,我们就需要配置它,那么就要修改 /etc/vsftpd.conf文件。具体的配置和说明,见下文,

    # 设置登录FTP欢迎信息
    ftpd_banner=Welcome to CHL FTP service. 
    
    # 基本配置1
    listen=YES               # 服务器监听
    local_enable=YES         # 是否允许本地用户访问
    write_enable=YES         # 是否允许上传文件,不开启会报 550 permission denied
    anonymous_enable=NO      # 匿名访问允许,默认不要开启
    anon_upload_enable=YES   # 匿名上传允许,默认是NO
    anon_mkdir_write_enable=YES  # 匿名创建文件夹允许 
    
    # 基本配置2
    local_umask=022   # FTP上本地的文件权限,默认是077。此时umask为022,则目录为777-022=755,文件为666-022=644。
    dirmessage_enable=YES     # 进入文件夹允许 
    connect_from_port_20=YES   # 启用20号端口作为数据传送的端口 
    data_connection_timeout=120 # 设置数据连接超时时间
    
    # 日志配置
    utf8_filesystem=YES # vsftpd使用utf8文件系统
    use_localtime=YES
    xferlog_enable=YES         # 激活上传和下传的日志 
    xferlog_file=/var/log/vsftpd.log    # 设定系统维护记录FTP服务器上传和下载情况的日志文件
    xferlog_std_format=YES     # 使用标准的日志格式 
    
    # 自定义
    local_root=/home/ftp # 设置自定义的ftp根目录的位置
    
    # 读写权限
    allow_writeable_chroot=YES  # 解决"500 OOPS: vsftpd: refusing to run with writable root inside chroot()" 问题
    write_enable=YES    # 允许向FTP服务器写入权限
    chown_uploads=YES   # 设定是否允许改变上传文件的属主,与下面一个设定项配合使用
    chown_username=whoever  # 设置想要改变的上传文件的属主,可设为ftp
    
    ascii_upload_enable=YES  # 允许服务器以ASCII方式传输数据,但引起"SIZE /big/file"方式的DoS攻击
    ascii_download_enable=YES
    deny_email_enable=YES    # 黑名单设置。如果很讨厌某些email address,可以取消他的登录权限
    banned_email_file=/etc/vsftpd/allowed_users
    # FTP限制最大连接数和传输速率,进行资源控制,避免负担过大而运行异常 max_client=50 # FTP服务器的所有客户端最大连接数不超过50个 max_per_ip=5 # 同一IP地址的FTP客户机与FTP服务器建立的最大连接数不超过5个 local_max_rate=100000 # FTP服务器的本地用户最大传输速率设置为100KB/s. anon_max_rate=50000 # FTP服务器的匿名用户最大传输速率设置为50KB/s. # 权限设置 #是否启动userlist为禁止模式,YES表示在userlist中的用户禁止登录ftp(黑名单),NO表示黑名单失效 userlist_deny=NO userlist_enable=NO # 是否启动限制用户的名单为允许模式,上面的YES限制了所有用户,可以用这个名单作为白名单,作为例外允许访问ftp根目录以外 userlist_file=/etc/vsftpd.user_list # 在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患,可配置如下 chroot_list_enable=YES # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。 chroot_local_user=YES # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。 chroot_list_file=/etc/vsftpd.chroot_list # 禁用名单,用于指定用户列表,该文件用于控制哪些用户可以切换到home目录的上级目录。

    通过搭配能实现以下几种效果

    • chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。

    • chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。

    • chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。

    • chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

    1. 需要手动创建一个目录-ftp的根目录,用户可以访问该目录下的资源,

    mkdir /home/ftp

    接着创建一个子目录,

    mkdir /home/ftp/data

    修改ftp这个目录的权限,

    chmod -R 777 /home/ftp

    2. 还需要手动创建一个文件allowed_users,位于 /etc下,创建该文件的命令是

    touch allowed_users

    创建文件成功后,我们就可以添加访问用户了,添加用户的命令是

    useradd -d /home/ftp/data -s /sbin/nologin zhangxw

    添加一个用户(zhangxw),但是该用户不能登录系统。

    接着设置该用户的密码,输入命令,

    passwd zhangxw

    然后根据提示,输入密码即可。

    3. 将上面添加的用户,手动写入到 /etc/vsftpd/allowed_users。只需要添加一行,写入用户名即可。

    退出保存即可!重启下vsftp服务!

    重启vsftpd,命令是

    service vsftpd restart

    PS:

    如果想要删除ftp某个用户,可以使用如下命令,例如删除用户名为 ”zhangxw”的用户,

    userdel zhangxw

    配置好vsftpd后,我们就可以启动它了。命令为

    service vsftpd start

    如需查看vsftpd的状态,可以输入命令

    service vsftpd status

    参考:
    https://blog.csdn.net/oxiaoxue123456789/article/details/81557896
    https://www.jianshu.com/p/8f17e2a18515
     
  • 相关阅读:
    向量空间模型 词袋模型
    python 小点
    python list的append()和extend()方法
    numpy 数组运算
    内置函数和numpy中的min(),max()函数
    python index()函数
    Python支持的正则表达式元字符和语法
    Python多线程
    查看linux机器配置&内核版本
    Shell获取文件的文件名和扩展名的例子
  • 原文地址:https://www.cnblogs.com/chenlizhi/p/13130923.html
Copyright © 2020-2023  润新知