请选择 进入手机版 | 继续访问电脑版

[LINUX] Linux上安装使用 FTP服务器ProFTPD的教程

[复制链接]
查看39 | 回复4 | 2021-9-5 00:22:56 | 显示全部楼层 |阅读模式

Linux VPS用户一样平常 都通过SFTP/SCP协议毗连 OpenSSH Server举行 文件传输,但偶然 间 ,你盼望 某些用户只能上传文件到网站目次 ,而不可以或许 登录体系 实行 下令 以及访问其他目次 ,这时用FTP Server就能很好地实现.Linux上常用的FTP Server有VSFTPD和ProFTPD,此中 ProFTPD简单易用,功能也不错,这里以ProFTPD为例搭建FTP服务器.当然,FTP也可以作为局域网内文件共享的一种方式,比如你的室友使用 Windows,向你的Ubuntu ProFTPD个人电脑上传了一部影片,如许 就不用拿U盘去拷贝了,其他室友也可以从你的ProFTPD上下载影片.

201674132115926.jpg (820×698)

proftpd的设置 方式类似 apache,比vsftpd更易用,xampp就集成了proftpd.

复制代码代码如下:
sudo apt-get install proftpd-basic

安装时默认作为一个standalone server运行proftpd,假如 天天 的ftp哀求 量少,可以安装为inetd服务,节流 服务器资源.
这里我使用 默认值,安装为standalone server.

复制代码代码如下:
sudo netstat -antp|grep proftpd

查看proftpd监听的21端口
用proftpd提供的ftpasswd新建假造 用户test并设置暗码 :

复制代码代码如下:
sudo mkdir -p /png/proftpd


复制代码代码如下:
sudo ftpasswd \
--passwd \
--file=/png/proftpd/passwd \
--name=test \
--uid=122 \
--gid=65534 \
--home=/srv/ftp \
--shell=/bin/false

此中 uid和gid我使用 的是安装proftpd时自动 创建的体系 用户ftp:nogroup的uid和gid,实行 cat /etc/passwd|grep ftp可见.
/srv/ftp是安装proftpd时自动 创建的目次 ,全部 者为ftp:nogroup,权限为755.
如许 假造 用户test以体系 用户ftp:nogroup登录/srv/ftp便可以对该目次 举行 读写.
Linux上的FTP Server的读写权限是映射到体系 UGO(User Group Other)上的.
创建假造 用户时通过设置体系 用户uid和gid,以及合理地设置 /srv/ftp目次 及其文件权限来实现读写控制.

创建新用户时再次实行 上述下令 即可,根据必要 改变一些参数.
比如我创建了一个以uid:gid为1000:1000的体系 用户运行,登录目次 为/png/www/example.com的假造 用户eechen:

复制代码代码如下:
sudo ftpasswd \
--passwd \
--file=/png/proftpd/passwd \
--name=eechen \
--uid=1000 \
--gid=1000 \
--home=/png/www/example.com \
--shell=/bin/false

创建用户不必要 重载proftpd,由于 proftpd每次认证时都会读取认证文件.

复制代码代码如下:
sudo chown proftpd:nogroup /png/proftpd/passwd 设置passwd文件读写权限,确保proftpd能读取该文件.


复制代码代码如下:
sudo nano /etc/proftpd/proftpd.conf

在末端 加入:

复制代码代码如下:
DefaultRoot ~ #将用户限定在本身 的目次 中,上面test用户对应的就是/srv/ftp
RequireValidShell off #禁用Shell哀求 认证
AuthOrder mod_auth_file.c #认证方式次序 ,这里采用文件认证
AuthUserFile /png/proftpd/passwd #存放用户名和暗码 的文件


复制代码代码如下:
sudo service proftpd reload

重载使设置 见效 。

更改proftpd的默认端口
在文件/etc/proftpd.conf找到:

复制代码代码如下:Port 21
更改为:

复制代码代码如下:Port 2121
假如 开启了iptables,iptables限定 了全部 的出站端口,加载模块ip_conntrack_ftp,这时在加载ip_conntrack_ftp模块时必要 更改代理端口为2121。
打开/etc/sysconfig/iptables-config,保证此文件定义加载了ip_conntrack_ftp,如:

复制代码代码如下:
IPTABLES_MODULES="ip_conntrack_ftp"

然后在文件/etc/modprobe.conf增长 此模块的参数:

复制代码代码如下:
options ip_conntrack_ftp ports=2121

假如 必要 手动加载,则可以实行 以下下令 :

复制代码代码如下:
/sbin/modprobe ip_conntrack_ftp ports=2121


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 幸福341 | 2021-9-16 23:03:29 | 显示全部楼层
admin楼主是好人!
回复

使用道具 举报

avatar A01祥天科技 | 2021-10-5 21:54:53 | 显示全部楼层
投admin楼主一票,不用谢哦!
回复

使用道具 举报

avatar 嫣冉 | 2021-10-5 21:54:55 | 显示全部楼层
收藏了,很不错的内容!
回复

使用道具 举报

admin楼主是我最崇拜的人!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则