设为首页 收藏本站
查看: 834|回复: 0

[经验分享] ubuntu下如何利用proftpd构架一个ftp服务器

[复制链接]

尚未签到

发表于 2018-5-3 13:18:18 | 显示全部楼层 |阅读模式
  这篇文章针对那些希望利用ftp协议和朋友们共享文件的人们,就像windows下的FTPserU,我提供的方式不是唯一的,希望我的方法足够清晰.这个FTPserver只允许拥有正确密码的人使用,所以你要明白只有已知的用户才能读取你的FTP服务.
  1- 使用下面的命令安装proftpd:
  Code:
  sudo apt-get install proftpd
  2- 在etc/shells 加入如下代码 (sudo gedit /etc/shells to open the file)(译注:命令行模式下sudo vi /etc/shells) :
  Code:
  /bin/false
  新建一个 /home/FTP-shared 目录 :
  Code:
  cd /home
  sudo mkdir FTP-shared
  创建一个只能用来读取ftp的用户userftp. 这个用户不需要有效的shell(更安全) ,所以选择 /bin/false shell 给 userftp , /home/FTP-shared 作为主目录.
  为了是这部分更清楚,我给取此操作的命令行:
  Code:
  sudo useradd userftp -p your_password -d /home/FTP-shared -s /bin/false
  在FTP-shared 目录下新建一个download和一个upload 目录:
  Code:
  cd /home/FTP-shared/
  sudo mkdir download
  sudo mkdir upload
  现在我们来给它们设置相应的权限:
  Code:
  cd /home
  sudo chmod 755 FTP-shared
  cd FTP-shared
  sudo chmod 755 download
  sudo chmod 777 upload
  3- 好了,现在进入proftpd的配置文件:
  Code:
  sudo gedit /etc/proftpd.conf
  当然你可以按你的需要编辑你自己的proftpd.conf:
  Code:

  # To really apply changes>  AllowOverwrite on
  AuthAliasOnly on
  # Choose here the user alias you want !!!!
  UserAlias sauron userftp
  ServerName   "ChezFrodon"
  ServerType   standalone
  DeferWelcome   on
  MultilineRFC2228 on
  DefaultServer   on
  ShowSymlinks   off
  TimeoutNoTransfer 600
  TimeoutStalled 100
  TimeoutIdle 2200
  DisplayFirstChdir           .message
  ListOptions           "-l"
  RequireValidShell   off
  TimeoutLogin 20
  RootLogin   off
  # It's better for debug to create log files ;-)
  ExtendedLog   /var/log/ftp.log
  TransferLog   /var/log/xferlog
  SystemLog   /var/log/syslog.log
  #DenyFilter   \*.*/
  # I don't choose to use /etc/ftpusers file (set inside the users you want to ban, not useful for me)
  UseFtpUsers off
  # Allow to restart a download
  AllowStoreRestart on
  # Port 21 is the standard FTP port, so don't use it for security reasons (choose here the port you want)
  Port   1980
  # To prevent DoS attacks, set the maximum number of child processes
  # to 30. If you need to allow more than 30 concurrent connections
  # at once, simply increase this value. Note that this ONLY works
  # in standalone mode, in inetd mode you should use an inetd server
  # that allows you to limit maximum number of processes per service
  # (such as xinetd)
  MaxInstances 8
  # Set the user and group that the server normally runs at.
  User             nobody
  Group           nogroup
  # Umask 022 is a good standard umask to prevent new files and dirs
  # (second parm) from being group and world writable.
  Umask   022 022
  PersistentPasswd off
  MaxClients 8
  MaxClientsPerHost 8
  MaxClientsPerUser 8
  MaxHostsPerUser 8
  # Display a message after a successful login
  AccessGrantMsg "welcome !!!"
  # This message is displayed for each access good or not
  ServerIdent             on     "you're at home"
  # Set /home/FTP-shared directory as home directory
  DefaultRoot /home/FTP-shared
  # Lock all the users in home directory, ***** really important *****
  DefaultRoot ~
  MaxLoginAttempts   5
  #VALID LOGINS
  <Limit LOGIN>
  AllowUser userftp
  DenyALL
  </Limit>
  <Directory /home/FTP-shared>
  Umask 022 022
  AllowOverwrite off
  <Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
  DenyAll
  </Limit>
  </Directory>
  <Directory /home/FTP-shared/download/*>
  Umask 022 022
  AllowOverwrite off
  <Limit MKD STOR DELE XMKD RNEF RNTO RMD XRMD>
  DenyAll
  </Limit>
  </Directory>
  <Directory> /home/FTP-shared/upload/>
  Umask 022 022
  AllowOverwrite on
  <Limit READ RMD DELE>
  DenyAll
  </Limit>
  <Limit STOR CWD MKD>
  AllowAll
  </Limit>
  </Directory>
  好了,你已经完成了proftpd的配置,你的服务端口是1980,而读取的参数如下,用户:sauron,密码:你为userftp设置的那个.
  4- 启动/停止/重启动你的服务:
  Code:
  sudo /etc/init.d/proftpd start
  sudo /etc/init.d/proftpd stop
  sudo /etc/init.d/proftpd restart
  对你的proftpd进行一下语法检查:
  Code:
  sudo proftpd -td5
  想知道谁现在连接到你的服务,用ftptop命令(使用字母"t"来转换显示频率),你也可以使用"ftpwho"命

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-455393-1-1.html 上篇帖子: Ubuntu 12.04 server 安装 webmin 下篇帖子: Y480安装ubuntu有线网卡
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表