12.04의 VSFTPD 구성 문제


13

그래서 오늘 우분투 서버를 12.04 LTS로 업그레이드했지만 VSFTPD가 작동하지 않습니다. 이 VSFTPd 와 관련이 있다고 생각합니다. 업데이트 후 작동중지되었습니다.

그러나 해당 게시물의 asker와 달리 오류 메시지가 표시되지 않습니다. 로그온하면

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 서비스 란 무엇입니까?
danger89

500 OOPS : priv_sock_get_result 로그인에 실패했습니다. 421 서비스를 사용할 수 없습니다. 원격 서버가 연결을 닫았습니다
Ascherer

1

이 이유가 발생할 수있는 몇 가지 이유가 있습니다.

방화벽->> Tcp_wrapper->> PAM->> SElinux->> FTPService->> 파일.

  1. 먼저 주어진 사용자가 / etc / vsftpd / ftpusers에서 / etc / vsftpd / user_list에 차단되어 있는지 확인하십시오

  2. SElinux Context 또는 Boolean을 확인하십시오.

  3. PAM 디렉토리 파일을 체크인하십시오. /etc/pam.d/vsftpd

인증 필수 pam_shells.so

사용자가 / etc / shells에서와 같이 필요한 쉘을 가지고 있지 않으면 / etc / shells와 동일한 쉘에서 동일한 오류 검사 getent passwd username match를 제공합니다.


0

파이어 폭스 또는 브라우저를 통해 FTP에 먼저 로그인을 시도하면 로그인 할 수없는 이유에 대한 응답을 얻을 수 있습니다.

이것은 로그인 자격 증명 자체인지 여부를 확인하기위한 예방책입니다.


0

vsftp의 현재 pam 구성에는 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

마지막 행 auth required pam_shells.so 에 주석을 달기 만하면 됩니다. 따라서 이것은 필요하지 않습니다.

또는 모든 ftp 사용자에게 로그인을 추가하십시오.

거부 된 파일을 풀면 다른 주석에서 제안한대로 이름을 변경해도 아무런 의미가 없습니다.



-1

FTP 연결을 할 때 알아야 할 프로토콜 연결이 있습니다.

이러한 연결은 사용자의 방문에 응답하며 현재 사용자가 인증 될 때 활성화됩니다.

FTP에서는 수동 모드가 활성화되어 있지 않으면이 오류가 발생합니다.

아래 구성 파일은 vsftpd 소프트웨어에 따라 구성되며 모든 설정이 올바르게 구성되고 동시에 오류가 없습니다.

활성, 수동 모드 및 방화벽 포트를 허용합니다. 2000에서 2500 / TCP

pasv_enable=Yes
pasv_max_port=2500
pasv_min_port=2000

% 100 고정 Vsftpd 구성 파일 : /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.