【www.bbyears.com--Ubuntu】
实例一,
.安装:
sudo apt-get install proftpd
选择 standalone
2.然后修改 /etc/proftpd/proftpd.conf:
修改下面几项即可
代码如下# 必须打开,将用户限定在自己的目录中
DefaultRoot ~
# 因为虚拟用户是没有 shell 的,所以要打开这个设定
RequireValidShell off
# 用 mod_auth_file.c 验证登录用户名和密码
AuthOrder mod_auth_file.c
# 存放用户名和密码的文件
AuthUserFile /etc/proftpd/ftpd.passwd
# 允许下载时断点续传
AllowRetrieveRestart on
# 允许上传时断点续传
AllowStoreRestart on
# 客户端登录时不显示服务器信息
ServerIdent off添加虚拟用户
执行命令:
代码如下ftpasswd --file=/etc/proftpd/ftpd.passwd --home=/home/xxxx
--shell=/bin/false --name=xxxx
--uid=1111 --gid=1111 --passwd
这个命令执行后,会要求输入登录密码,连续输入两次即可。
命令中,–home 指定 ftp 用户登录后的根目录,–name 指定 ftp 用户名。而 uid 和 gid 则指定这个 ftp 用户对应哪一个系统用户和组。
例如 www-data 是用于 apache2 的系统用户,其 uid 和 gid 是 33。那么下列命令将建立一个名为 www 的 ftp 用户:
代码如下ftpasswd --file=/etc/proftpd/ftpd.passwd --home=/var/www
--shell=/bin/false --name=www --uid=33 --gid=33 --passwd
在 ftp 中用 www 用户登录后,所有上传的文件,其所有者和所属组,都会是系统的 www-data 用户。
上面一个实例本人没安装成功后来又找到一个
[官方网址] http://www.proftpd.org
二、安装ProFTPD
代码如下 1 $ sudo apt-get install proftpd提示要选择,请选择下面的那个,选项。上面的那个inted是自动,容易出问题。
三、添加ftp组及用户
代码如下1 $ groupadd ftpg
-d 参数表示默认目录
1 $ useradd ftpu -d /Data/webapps/ -g ftpg
设置密码
1 $ passwd ftpg
使用用Ftp客户端工具测试连接:
连接成功.
四、修改用户 chroot
连接成功但并没有限定用户 ftpu 的根目录,也就是chroot,用户还可以访问上级目录
修改 proftpd配置文件
代码如下1 $ vi /etc/proftpd/proftpd.conf
去掉如下行前的注释 #
1 # DefaultRoot ~
重启 proftpd 即可
1 $ /etc/init.d/proftpd restart
五、禁止用户终端登录
编辑 /etc/passwd
代码如下$ vi /etc/passwd
ftpu:x:1006:1004::/Data/webapps/:/bin/sh
修改成
代码如下 ftpu:x:1006:1004::/Data/webapps/:/sbin/nologin重启proftpd后ftp客户端提示无法连接:
123 ------------------------------- 530 Login incorrect. -------------------------------
经检查发现当前系统的shells列表中没有 /sbin/nologin
代码如下添加 /sbin/nologin 支持
$ vi /etc/shells
在该文档中添加一行
/sbin/nologin
六、重启proftpd,完成.