開啟輔助瀏覽

Besv 技術討論區

 找回密碼
 立即註冊
搜尋
查看: 293|回覆: 4

使用 ubuntu 架設 FTP 及 Web Server

[複製連結]
發表於 2019-4-19 01:06:39 | 顯示全部樓層 |閱讀模式
在ubuntu 安裝程式基本上都是用這個指令安裝
  1. apt-get install
複製代碼


但是基本上建議先更新
  1. apt-get update
複製代碼


安裝 FTP
  1. apt-get install vsftpd
複製代碼

安裝 nginx
  1. apt-get install nginx
複製代碼



修改 nginx 設定
(如 路徑 其他各式設定)
  1. vim /etc/nginx/nginx.conf
複製代碼



修改 FTP 設定
*這邊要注意的比較多...
  1. vim /etc/vsftpd.conf
複製代碼


使用者的資料夾要只讀
要設定psav
如果自己建立資料夾(用root) 要記得chown設定下


附上 很有用的參考資料
VSFTP chroot 的問題

ubuntu vsftpd 530 Login incorrect 根本原因和解决方案

vsftpd Error:        Failed to retrieve directory listing

架設Apache及vsftpd設定
 樓主| 發表於 2019-4-19 11:10:04 | 顯示全部樓層
1 背景分析
ubuntu安装vsftpd一般使用:
  1. sudo apt-get install vsftpd
複製代碼

参照其他网上教程的配置后,在账号、密码、主目录都是正确的情况下,可能会遇到账号登录提示  530 Login incorrect 的问题。
网络上有好多解决方案,例如修改/etc/vsftpd.conf文件 将pam_service_name=vsftpd 修改为 pam_service_name=ftp ,虽然能够解决这个问题,但是这种方法其实是错误的。这样由于/etc/pam.d/ftp文件不存在,等于是绕过了PAM。

2 vsftpd pam文件分析
/etc/pam.d/vsftpd 默认如下
  1. # Standard behaviour for ftpd(8).
  2. auth   required        pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
  3. # Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.
  4. # Standard pam includes
  5. @include common-account
  6. @include common-session
  7. @include common-auth
  8. auth   required        pam_shells.so
複製代碼

可能导致530错误的有
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

auth required pam_shells.so

2.1 /etc/ftpusers
auth required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
该配置项的含义是 /etc/ftpusers 中的用户禁止登陆,如果文件不存在在默认所有用户均允许登录. 所以确保用户没在这个文件内。

2.2 pam_shells.so
auth required pam_shells.so 配置项的含义为仅允许用户的shell为 /etc/shells
文件内的shell命令时,才能够成功
  1. cat /etc/shells
  2. # /etc/shells: valid login shells
  3. /bin/sh
  4. /bin/dash
  5. /bin/bash
  6. /bin/rbash
複製代碼

而创建ftp用户时,为了禁止ssh登录,一般多为/bin/false 、/usr/sbin/nologin 等,显然不是一个有效的bash,也就无法登录了。

3 解决方案
1、查看/etc/ftpusers ,确保账号没有在这个文件内。
2、修改/etc/pam.d/vsftpd
将 auth required pam_shells.so 修改为-> auth required pam_nologin.so 即可
3、重启vsftpd



作者:L5S5S7
链接:https://www.jianshu.com/p/91c7d4a115e0
来源:简书

 樓主| 發表於 2019-4-19 11:12:20 | 顯示全部樓層
vsftpd Error: Failed to retrieve directory listing
重點修改內容(我有用到的)

  1. pasv_enable=YES
  2. pasv_min_port=4242
  3. pasv_max_port=4243
複製代碼



發表於 2019-4-19 15:44:00 | 顯示全部樓層
如果是裝nginx的話要裝php-fpm,然後記得開啟opcache,因為有開效能真的有差!
 樓主| 發表於 2019-4-19 17:10:38 | 顯示全部樓層
changken 發表於 2019-4-19 15:44
如果是裝nginx的話要裝php-fpm,然後記得開啟opcache,因為有開效能真的有差! ...

如果本身硬體就不夠好太差
開了差異也不大

不過的確 普遍開了都會比較好
您需要登入後才可以回文 登入 | 立即註冊

本版積分規則

黑名單|客戶連結|客服信箱|客服系統

Copyright © 2013 - 2019 Besv Technology Forum

專業網站主機服務

Powered by Discuz!

快速回覆 返回頂部 返回列表