入门 认识硬件 基础术语 上网入门 故障 电脑死机 系统变慢 不能上网 网络 局域网络 无线网络 网络技术
教程 电脑操作 软件学习 路由设置 技巧 Word Excel QQ技巧 安全 木马查杀 黑客防御 安全资讯
系统 安装系统 系统技巧 系统设置 下载 装机必备 办公软件 实用工具 选购 选购指南 组装DIY 电脑配置

热门unix/linux 系统文章推荐

主页 > 操作系统 > unix/linux 系统 > INTRODUCE

Linux怎么安装使用FTP服务器ProFTPD

2016-09-05 11:14 作者:admin 来源:未知 浏览: 我要评论 字号:

FTP是网站文件维护中使用比较多的,那么大家知道Linux怎么安装使用FTP服务器ProFTPD吗?下文学习啦小编就分享了Linux安装使用FTP服务器ProFTPD的方法,希望对大家有所帮助。

  Linux安装使用FTP服务器ProFTPD方法

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

 

  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

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
◎最新评论
      谈谈您对该文章的看
      表  情:
      评论内容:
      点击我更换图片
      * 请注意用语文明且合法,谢谢合作 审核后才会显示! Ctrl+回车 可以直接发表