AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 1722
Accepted
JPrescottSanders
JPrescottSanders
Asked: 2010-08-09 16:44:48 +0800 CST2010-08-09 16:44:48 +0800 CST 2010-08-09 16:44:48 +0800 CST

基本的 Ubuntu FTP 服务器

  • 772

我想在我的 Ubuntu Server 安装上设置一个基本的 FTP 服务器。我一直在玩 VSFTPD,但在让服务器允许我创建目录和复制文件时遇到问题。我已将系统设置为允许本地用户,但这似乎并不意味着我可以访问创建目录。这可能是我需要更好地了解 Ubuntu 服务器设置的情况,以便充分配置此 FTP 服务器。最终目标是能够将文件从我的本地 dev 文件夹移动到我的 www 文件夹中进行部署。目录也需要能够移动。任何帮助将不胜感激。

security server ftp
  • 7 7 个回答
  • 25418 Views

7 个回答

  • Voted
  1. Best Answer
    Marco Ceppi
    2010-08-09T17:54:06+08:002010-08-09T17:54:06+08:00

    我将推荐 PureFTPD,因为在我看来它是最简单易用的。您需要先安装它:sudo apt-get install pure-ftpd安装后它会自行启动。默认情况下,它使用 PAM 身份验证——这意味着它使用系统上已经存在的帐户进行身份验证。您需要做的就是创建一个用户帐户,主目录是您的 www 路径,并为该帐户设置密码。然后,您应该能够连接该用户/密码组合以上传/下载文件。

    像这样的东西:

    sudo adduser ftpman --home /var/www/ --ingroup www-data

    这将创建ftpman用户并将他放在 Apache 使用的 www-data 组中,并将引导您完成设置脚本的其余部分。一旦定义好,请确保chmod万维网文件夹,如果您收到有关它已经存在于您创建的用户/组组合的错误。

    最后,如果您想锁定该帐户的 SSH 访问权限,请运行:sudo chsh -s /bin/false ftpman这会将用户 shell 更改为 false。(将 ftpman 替换为您的 ftp 用户)

    • 43
  2. Ben Williams
    2010-08-09T21:17:22+08:002010-08-09T21:17:22+08:00

    在我看来,SFTP 是一种更好的方式。嘿,名字里有“安全”这个词,一定更好:)

    SFTP 使用 ssh 进行文件传输(与 FTPS 不同,它基本上是 FTP + TLS)。这意味着如果您可以通过 ssh 连接到目标机器,那么您几乎总是可以通过 SFTP 连接到它,因为它使用相同的身份验证机制,因此根本无需安装和配置不同的服务器守护进程(即没有 pureftpd 或 vsftpd)。只要您的权限设置正确/var/www- 这可能是一个问题sudo chmod g+w /var/www; sudo usermod -g $USER -G www-data $USER- 您应该能够立即使用 SFTP。

    现在的大多数客户端软件都会非常愉快地执行 SFTP,您也可以使用scp开发服务器上的 shell 来复制内容(scp -R将复制整个文件夹,非常方便)。您甚至可以更进一步,使用公钥自动登录,这意味着不再需要输入密码 :)

    • 10
  3. qbi
    2010-08-10T03:32:35+08:002010-08-10T03:32:35+08:00

    我强烈推荐使用 vsftpd。它是 Linux 中最安全的 FTP 守护程序之一。许多其他人在过去都有弱点,似乎 FTP 很难以安全的方式实施。

    vsftpd 在您安装后立即启动。Ubuntu 允许本地用户登录。所以启动您的 FTP 客户端并使用您的系统密码以普通用户身份登录(我的示例使用 lftp):

    > lftp 127.0.0.1 ftp
    lftp 127.0.0.1:~> user qbi
    Password: #typing my password which I also use to log in via GDM
    lftp [email protected]:~> ls
    drwxr-xr-x 10 1000 1000   4096 2008-07-28 16:32 Desktop
    ... many more
    

    现在我正在使用某种文件管理器(Nautilus、Shell 等)来创建一个新目录foo并返回到我的 FTP 客户端:

    ftp [email protected]:~> ls -l
    ...
    drwxr-xr-x 2 1000 1000   4096 2010-08-09 13:32 foo
    

    目录就在那里,我可以cd进入并使用它。如果您有特殊用户,这也是一样的。您还可以在那里创建目录,并且可以立即访问它们。在这里寻找访问权限很重要。

    • 5
  4. Nathan Osman
    2011-02-27T16:50:53+08:002011-02-27T16:50:53+08:00

    我谦虚地推荐一个我自己从头开始编写的 FTP 服务器:JetFTP。它的安装和使用非常简单。


    安装:

    • 将我的 PPA 添加到您的软件源并更新:

        sudo apt-add-repository ppa:george-edison55/george-edison
      
    • 运行以下命令:

        sudo apt-get install jetftp
      
    • 而已!


    使用 JetFTP 很简单 - 只需8021在运行 JetFTP 的计算机上使用登录名和密码连接到端口。

    • 5
  5. Stuart
    2010-08-12T08:19:09+08:002010-08-12T08:19:09+08:00

    不要使用 ftp,它本质上是一个不安全的协议,因为它将用户名和密码以明文形式发送到服务器。实现 sftp 也同样简单,您在连接安全方面获得了巨大优势。

    • 2
  6. Sajad Bahmani
    2010-08-12T09:54:28+08:002010-08-12T09:54:28+08:00

    有三种不同的方式来设置 ftp 服务器:

    (1) 匿名 FTP:

    人们只能使用匿名帐户访问服务器,无需密码。当然,服务器管理员会设置上传限制,以防止用户放置盗版音乐/电影/游戏等非法文件。

    (2) 具有匿名访问和具有密码帐户的用户的 FTP:

    此方法允许匿名和密码帐户用户进入服务器。他们只能访问指定的目录,除了可以查看/修改/删除所有文件和/或文件夹的用户 root。

    (3) 带有 mysql 的 FTP 支持虚拟用户认证:

    此方法仅允许某些在系统上没有虚拟用户身份验证 shell 帐户的用户组访问服务器。它使用存储用户信息的外部 mysql 服务器。

    第一个选项:匿名 FTP

    在开始创建匿名 ftp 服务器之前,您必须将一个名为 ftp 的用户添加到您的系统中,并带有一个主目录。这一步非常简单,只需按照以下命令:

    useradd -d /home/ftp/ftp -s /bin/false ftp
    
    mkdir -p /home/ftp/upload
    

    这样做只允许此帐户写入此文件夹。您可以使用更多变量来指定 ftp 服务器将执行的操作。这里有些例子:

    -e Allow access to the server only by anonymous users
    -B Start the server with background demon
    -i Anonymous users can't upload files
    -M Let anonymous users create folders
    -s ftp user files cannot be downloaded
    

    第二个选项:'''匿名和密码帐户用户'''

    要使同一服务器中同时拥有匿名和密码帐户用户成为可能,请遵循以下小指南:

    -B ,-i ,M, -r, -s same of before
    -u <uid> Enable users with a specified user id (uid) to access the server 
    -V <Ip address> Only specified IPs will be able to access the server in non-anonymous mode 
    

    第三个选项:'''使用 Mysql 的虚拟用户'''

    要创建支持 mysql 的服务器,请按照以下步骤操作:

    下载并安装 PureFTPd 的用户管理器,您可以在此处找到 http://machiel.generaal.net/index.php?subject=user_manager_pureftpd

    解压并将其所有内容上传到您的 Web 服务器 www 目录,然后在您的浏览器上写入此链接链接http://localhost/ftp/install.php 按照安装程序要求您执行的所有步骤复制并保存 rge pureftpd-mysql .conf 进入 pureftpd 用户管理器目录

    完毕。使用此链接访问管理面板http://localhost/ftp

    在启动服务器进程之前添加更多选项

    -c <num> Max client that can connect to the server
    -C <num> Max connections for a IP
    -T <bandwitdh> Max bandwitdh disponible for each connection
    -n <MBytes> Max MB that a user can have into its home folder
    -m <Cpu Loading> Stops the anonymous uploads if the cpu loading exceed from this value 
    

    并查看一些 ftp 服务器应用程序:
    https ://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html

    • 0
  7. Simon East
    2013-07-14T04:29:11+08:002013-07-14T04:29:11+08:00

    默认情况下,VSFTPD 的默认安装不允许任何创建/修改更改。您需要编辑/etc/vsftpd.conf并取消注释以下行...

    write_enable=YES

    其次,您需要为相应的文件和文件夹配置适当的文件系统权限。

    • 0

相关问题

  • iptables 的图形用户界面?

  • 如果在服务器机器上运行 Ubuntu 桌面版,性能损失是多少?

  • 将桌面版剥离为服务器版的最简单方法是什么?

  • 如何与无头服务器进行图形交互?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何安装 .run 文件?

    • 7 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    如何获得 CPU 温度?

    • 21 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Marko Smith

    你如何重新启动Apache?

    • 13 个回答
  • Marko Smith

    如何卸载软件?

    • 11 个回答
  • Marko Smith

    如何删除 PPA?

    • 26 个回答
  • Martin Hope
    NES 如何启用或禁用服务? 2010-12-30 13:03:32 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    Olivier Lalonde 如何在结束 ssh 会话后保持进程运行? 2010-10-22 04:09:13 +0800 CST
  • Martin Hope
    David B 如何使用命令行将用户添加为新的 sudoer? 2010-10-16 04:02:45 +0800 CST
  • Martin Hope
    Hans 如何删除旧内核版本以清理启动菜单? 2010-08-21 19:37:01 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve