• 翻译:在Ubuntu 14.04上安装FTP服务器的方法


    说明:

    1、原文地址:http://www.krizna.com/ubuntu/setup-ftp-server-on-ubuntu-14-04-vsftpd/

    2、今天要做一个网络日志的迁移程序,搬文件的话,想来想去还是用FTP吧。对这一块不是太熟悉,所以就上网搜索一下。先上百度试了试(就试试),结果搜出来的中文资料没一个靠谱的。遂Google了一下,瞬间搞定。翻译这篇文章为了让大家不再踩坑。以下为原文翻译:

    FTP用于通过TCP网络从一台主机向另外一台主机传送文件。这篇文章解说了怎样在ubuntu 14.04上安装FTP服务器。流行的FTP服务器端软件有:PureFTP,VsFTPD,ProFTPD。这里我采用轻量并且坑少的VSFTPD。 

    在Ubuntu 14.04 上安装 FTP 服务

    第一步>>更新库

    krizna@leela:~$ sudo apt-get update

    第二步>>采用如下命令安装VSFTPD的包

    krizna@leela:~$ sudo apt-get install vsftpd

    第三步>>安装完成后打开 /etc/vsftpd.conf 文件,按如下所述修改。

    取消如下行的注释(行号为29和33)

    write_enable=YES
    local_umask=022

    >> 取消如下行的注释(行号120)来阻止除了用户文件夹意外的文件夹。

    chroot_local_user=YES

    在文件最后增加如下一行:

    allow_writeable_chroot=YES

    >>添加如下行开启消极模式

    pasv_enable=Yes
    pasv_min_port=40000
    pasv_max_port=40100

    第四步>>用如下命令重启vsftpd服务

    krizna@leela:~$ sudo service vsftpd restart

    第五步>>现在ftp服务器正在监听21端口。用如下命令创建用户。用 /usr/sbin/nologin 脚本来阻止ftp用户访问bash脚本。

    krizna@leela:~$ sudo useradd -m john -s /usr/sbin/nologin
    krizna@leela:~$ sudo passwd john

    第六步>>开启nologin脚本的开机访问。打开 /etc/shells 并把如下行添加进去。

    /usr/sbin/nologin

    现在试着用刚创建的用户通过21端口连接ftp服务器。客户端采用 winscp 或 filezilla  。验证用户是不是真的不能访问home文件夹之外的文件夹。

    setup FTP server ubuntu 14.04
    需要特别说明一下的是,在21端口上使用ftp是非常危险的。强烈建议使用SFTP。请看下面的SFTP的配置。

    安全的FTP(SFTP)

    SFTP称作“安全的FTP”,它使用ssh文件传输协议。所以我们需要安装openssh-server。如果还没装的话,执行如下命令。

    krizna@leela:~$ sudo apt-get install openssh-server

    第七步>> 为FTP用户创建一个新的用户组 ftpaccess。

    krizna@leela:~$ sudo groupadd ftpaccess

    第八步>>在 /etc/ssh/sshd_config 中做如下修改

    >>找到并注释掉下面一行

    Subsystem sftp /usr/lib/openssh/sftp-server

    在文件的最后增加如下行

    Subsystem sftp internal-sftp
    Match group ftpaccess
    ChrootDirectory %h
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

    第九步>>重启sshd服务

    krizna@leela:~$ sudo service ssh restart

    第十步>>下面几步用来创建访问SFTP服务的用户。

    创建用户john,属于 ftpaccess 组并且执行 /usr/bin/nologin 脚本

    krizna@leela:~$ sudo useradd -m john -g ftpaccess -s /usr/sbin/nologin
    krizna@leela:~$ sudo passwd johnChange ownership for the home directory.
    krizna@leela:~$ sudo chown root /home/john

    在home文件夹创建一个用于写入文件的文件夹并修改文件夹的所有者。

    krizna@leela:~$ sudo mkdir /home/john/www
    krizna@leela:~$ sudo chown john:ftpaccess /home/john/www

    现在用SFTP试着连接服务器(端口:22),并确保用户可以往 www 文件夹上传文件,而且也不能访问 home文件夹以外的文件。

    setup FTP server ubuntu 14.04

    如果你想让FTP和SFTP并存,在创建用户时按照上面的第十步操作就行。对于已经存在的用户,可以像下面这样把他们移动到ftpaccess组,创建文件夹结构并修改所有权。

    krizna@leela:~$ sudo usermod john -g ftpaccess -s /usr/sbin/nologin
    krizna@leela:~$ sudo chown root /home/john
    krizna@leela:~$ sudo mkdir /home/john/www
    krizna@leela:~$ sudo chown john:ftpaccess /home/john/www

    现在你可以通过FTP,也可以通过SFTP向 www文件夹上传文件了。

  • 相关阅读:
    [Typescript Challenges] 28. Medium Replace
    [Algorithm] Permutations
    [Typescript] 29. Medium ReplaceAll
    [RxJS] Share data among multiple subscribers with Subjects
    [Typescript] 30. Medium Append Argument
    P3386 【模板】二分图最大匹配
    AcWing 372. 棋盘覆盖
    AcWing 376. 机器任务
    AcWing 379 捉迷藏
    AcWing 378. 骑士放置
  • 原文地址:https://www.cnblogs.com/BaiGuodong/p/5202090.html
Copyright © 2020-2023  润新知