ปัญหาการกำหนดค่า VSFTPD ด้วย 12.04


13

ดังนั้นฉันจึงอัพเกรด Ubuntu Server เป็น 12.04 LTS วันนี้และตอนนี้ VSFTPD ไม่ทำงาน ฉันคิดว่ามันเกี่ยวข้องกับVSFTPdนี้หยุดทำงานหลังจากอัพเดต

อย่างไรก็ตามไม่เหมือนกับผู้ถามในโพสต์นั้นฉันไม่ได้รับข้อความแสดงข้อผิดพลาดใด ๆ เมื่อฉันเข้าสู่ระบบฉันได้รับ

220 (vsFTPd 2.3.5)
331 Please specify the password.
Password: 
530 Login incorrect.
ftp: Login failed

ฉันรู้ว่ารหัสผ่านถูกต้องและฉันได้ลองผู้ใช้หลายคนแล้ว vsftpd.log ไม่แสดงสิ่งใดนอกจาก:

Tue May  1 15:19:48 2012 [pid 2] CONNECT: Client "192.168.1.133"
Tue May  1 15:19:53 2012 [pid 1] [USERNAME] FAIL LOGIN: Client "192.168.1.133"

Syslog ไม่แสดงอะไรเลย นี่คือ VSFTPD.conf ของฉัน (ส่วนใหญ่เป็นค่าเริ่มต้น):

listen=YES
anonymous_enable=NO
local_enable=YES
check_shell=NO
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/private/vsftpd.pem

ฉันลองคำสั่งที่กล่าวถึงในคำถามก่อนหน้านี้เพื่อประโยชน์

sudo chmod a-w /home/user

ขอบคุณฉันขอขอบคุณทุกความช่วยเหลือของคุณ!

คำตอบ:


22

ใน vsftpd.conf

ทำการเปลี่ยนแปลงต่อไปนี้: pam_service_name = ftp

บันทึกการเปลี่ยนแปลงของคุณและรีสตาร์ทเซิร์ฟเวอร์ ftp


ขอบคุณมาก ๆ! คุณจะไม่เชื่อเลยว่ามันจะเจ็บปวดขนาดนี้!
Chris Edwards

5
สนใจที่จะอธิบายรายละเอียดเกี่ยวกับโซลูชันของคุณหรือไม่
frhd

ฉันจะหา vsftpd.conf ได้ไหม
Oliver Dixon

นี่เป็นการแก้ไขปัญหาของฉัน! WTF ทำไมนี่ไม่ใช่ชื่อบริการเริ่มต้นใช่มั้ย บริการ PAM คืออะไร
อันตราย 89

ทำให้ฉันได้รับ: 500 OOPS: priv_sock_get_result การเข้าสู่ระบบล้มเหลว 421 บริการไม่พร้อมใช้งานเซิร์ฟเวอร์ระยะไกลได้ปิดการเชื่อมต่อ
Ascherer

1

มีสาเหตุหลายประการที่ทำให้คุณได้รับเหตุผลนี้

ไฟร์วอลล์ - >> Tcp_wrapper - >> PAM - >> SElinux - >> FTPService - >> ไฟล์

  1. ขั้นแรกตรวจสอบว่าผู้ใช้ที่ให้ถูกบล็อกหรือไม่อยู่ใน / etc / vsftpd / ftpusers / etc / vsftpd / user_list

  2. ตรวจสอบบริบท SElinux หรือบูลีนสำหรับสิ่งเดียวกัน

  3. เช็กอินไฟล์ไดเร็กทอรี PAM /etc/pam.d/vsftpd

รับรองความถูกต้อง pam_shells.so

หากผู้ใช้ไม่ได้มีเชลล์ที่ต้องการเช่นใน / etc / shells มันจะให้ข้อผิดพลาดเดียวกันตรวจสอบ getent passwd ชื่อผู้ใช้ที่ตรงกับเชลล์ที่กำหนดด้วย / etc / เชลล์


0

ลองลงชื่อเข้าใช้ FTP เป็นครั้งแรกผ่าน firefox หรือเบราว์เซอร์ดังนั้นคุณจะได้รับคำตอบว่าทำไมคุณจึงไม่สามารถเข้าสู่ระบบได้

นี่เป็นเพียงสิ่งที่จำเป็นในการยืนยันว่าเป็นข้อมูลการเข้าสู่ระบบของตัวเองหรือไม่


0

ดูเหมือนว่าการกำหนดค่า pam ปัจจุบันสำหรับ vsftp รวมถึงความต้องการที่จะมีเชลล์ที่ถูกต้องสิ่งที่คุณต้องการหลีกเลี่ยงในกรณีของผู้ใช้ FTP

# Standard behaviour for ftpd(8).
auth    required    pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# Standard pam includes
@include common-account
@include common-session
@include common-auth
auth    required    pam_shells.so

สิ่งเดียวที่คุณต้องทำคือการแสดงความคิดเห็นที่ผ่านมาสายการรับรองความถูกต้องต้อง pam_shells.so ดังนั้นนี่ไม่จำเป็น

หรือเพิ่มการเข้าสู่ระบบให้กับผู้ใช้ ftp ทั้งหมดของคุณ

การเปลี่ยนชื่อตามที่แนะนำในความคิดเห็นอื่นนั้นไม่มีประโยชน์เมื่อคุณปล่อยไฟล์ที่ถูกปฏิเสธ


0

หากใช้เคอร์เนล amd64 คุณจะต้องเพิ่มสิ่งต่อไปนี้ในของคุณ /etc/vsftpd/vsftpd.conf

seccomp_sandbox=NO

-1

มีการเชื่อมต่อโปรโตคอลที่ต้องระวังเมื่อทำการเชื่อมต่อ FTP

การเชื่อมต่อเหล่านี้ตอบสนองต่อการเยี่ยมชมของผู้ใช้และเปิดใช้งานเมื่อผู้ใช้ปัจจุบันได้รับการรับรองความถูกต้อง

ใน FTP คุณจะได้รับข้อผิดพลาดนี้หากโหมดพาสซีฟไม่ทำงาน

ไฟล์กำหนดค่าด้านล่างนี้ได้รับการกำหนดค่าตามซอฟต์แวร์ vsftpd และการตั้งค่าทั้งหมดได้รับการกำหนดค่าอย่างเหมาะสมและในเวลาเดียวกันก็ไม่มีข้อผิดพลาด

ใช้งานอยู่โหมดพาสซีฟและอนุญาตพอร์ตไฟร์วอลล์ 2000 ถึง 2500 / TCP

pasv_enable=Yes
pasv_max_port=2500
pasv_min_port=2000

แฟ้มการกำหนดค่า Vsftpd คงที่ 100%: /etc/vsftpd/vsftpd.conf

# Example config file /etc/vsftpd/vsftpd.conf
#
# The default compiled in settings are fairly paranoid. This sample file
# loosens things up a bit, to make the ftp daemon more usable.
# Please see vsftpd.conf.5 for all compiled in defaults.
#
# READ THIS: This example file is NOT an exhaustive list of vsftpd options.
# Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
# capabilities.
#
# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=022
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
#anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES
#
# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# The target log file can be vsftpd_log_file or xferlog_file.
# This depends on setting xferlog_std_format parameter
xferlog_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=NO
#
# If you want, you can arrange for uploaded anonymous files to be owned by
# a different user. Note! Using "root" for uploaded files is not
# recommended!
#chown_uploads=YES
#chown_username=whoever
#
# The name of log file when xferlog_enable=YES and xferlog_std_format=YES
# WARNING - changing this filename affects /etc/logrotate.d/vsftpd.log
#xferlog_file=/var/log/xferlog
#
# Switches between logging into vsftpd_log_file and xferlog_file files.
# NO writes to vsftpd_log_file, YES to xferlog_file
xferlog_std_format=YES

pam_service_name=vsftpd
pasv_enable=Yes
pasv_max_port=2500
pasv_min_port=2000
tcp_wrappers=YES

เมื่อคุณมีการตั้งค่าทั้งหมดเหล่านี้อย่าลืมกำหนดค่าการตั้งค่าไฟร์วอลล์ของคุณ

  • TCP ขาเข้า: 2000 ถึง 2500 และ 21
  • TCP ขาออก: 2000 ถึง 2500 และ 21

จำไว้ว่าคุณไม่สามารถใช้ ftp: // สำหรับการเข้าถึงรูทได้ คุณต้องใช้ sftp: // เพื่อเข้าถึงรูท

FTP เพิ่มบัญชีใหม่:

  • adduser newftpuser
  • passwd newftpuser

โฟลเดอร์ ftp เริ่มต้น:

  • / home / newftpuser

คุณหมายถึงอะไรนะครับ? @ K7AAY
Ahmet Berk Başaran
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.