> 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
-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
-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
我将推荐 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 用户)在我看来,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
将复制整个文件夹,非常方便)。您甚至可以更进一步,使用公钥自动登录,这意味着不再需要输入密码 :)我强烈推荐使用 vsftpd。它是 Linux 中最安全的 FTP 守护程序之一。许多其他人在过去都有弱点,似乎 FTP 很难以安全的方式实施。
vsftpd 在您安装后立即启动。Ubuntu 允许本地用户登录。所以启动您的 FTP 客户端并使用您的系统密码以普通用户身份登录(我的示例使用 lftp):
现在我正在使用某种文件管理器(Nautilus、Shell 等)来创建一个新目录
foo
并返回到我的 FTP 客户端:目录就在那里,我可以
cd
进入并使用它。如果您有特殊用户,这也是一样的。您还可以在那里创建目录,并且可以立即访问它们。在这里寻找访问权限很重要。我谦虚地推荐一个我自己从头开始编写的 FTP 服务器:JetFTP。它的安装和使用非常简单。
安装:
将我的 PPA 添加到您的软件源并更新:
运行以下命令:
而已!
使用 JetFTP 很简单 - 只需
8021
在运行 JetFTP 的计算机上使用登录名和密码连接到端口。不要使用 ftp,它本质上是一个不安全的协议,因为它将用户名和密码以明文形式发送到服务器。实现 sftp 也同样简单,您在连接安全方面获得了巨大优势。
有三种不同的方式来设置 ftp 服务器:
(1) 匿名 FTP:
人们只能使用匿名帐户访问服务器,无需密码。当然,服务器管理员会设置上传限制,以防止用户放置盗版音乐/电影/游戏等非法文件。
(2) 具有匿名访问和具有密码帐户的用户的 FTP:
此方法允许匿名和密码帐户用户进入服务器。他们只能访问指定的目录,除了可以查看/修改/删除所有文件和/或文件夹的用户 root。
(3) 带有 mysql 的 FTP 支持虚拟用户认证:
此方法仅允许某些在系统上没有虚拟用户身份验证 shell 帐户的用户组访问服务器。它使用存储用户信息的外部 mysql 服务器。
第一个选项:匿名 FTP
在开始创建匿名 ftp 服务器之前,您必须将一个名为 ftp 的用户添加到您的系统中,并带有一个主目录。这一步非常简单,只需按照以下命令:
这样做只允许此帐户写入此文件夹。您可以使用更多变量来指定 ftp 服务器将执行的操作。这里有些例子:
第二个选项:'''匿名和密码帐户用户'''
要使同一服务器中同时拥有匿名和密码帐户用户成为可能,请遵循以下小指南:
第三个选项:'''使用 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
在启动服务器进程之前添加更多选项
并查看一些 ftp 服务器应用程序:
https ://help.ubuntu.com/6.06/ubuntu/serverguide/C/ftp-server.html
默认情况下,VSFTPD 的默认安装不允许任何创建/修改更改。您需要编辑
/etc/vsftpd.conf
并取消注释以下行...write_enable=YES
其次,您需要为相应的文件和文件夹配置适当的文件系统权限。