업로드, 다운로드, 특히 삭제된 파일을 볼 수 있도록 vsftpd에 대한 로깅을 활성화하려고 합니다. 그러나 centos 6을 새로 설치하면 정상적인 로깅도 얻을 수 없습니다.
설정:
[root@sftp01 vsftpd]# cat /etc/centos-release
CentOS release 6.9 (Final)
[root@sftp01 vsftpd]# netstat -naplt
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 367/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 507/sshd
tcp 0 0 :::22 :::* LISTEN 507/sshd
[root@sftp01 ~]# yum repolist
Loaded plugins: fastestmirror
Determining fastest mirrors
epel/metalink | 12 kB 00:00
* base: mirrors.usc.edu
* epel: mirror.math.princeton.edu
* extras: repos.lax.quadranet.com
* updates: mirror.eboundhost.com
base | 3.7 kB 00:00
base/primary_db | 4.7 MB 00:01
epel | 4.3 kB 00:00
epel/primary_db | 5.9 MB 00:00
extras | 3.4 kB 00:00
extras/primary_db | 29 kB 00:00
updates | 3.4 kB 00:00
updates/primary_db | 3.1 MB 00:00
repo id repo name status
base CentOS-6 - Base 6,706
epel Extra Packages for Enterprise Linux 6 - x86_64 12,380
extras CentOS-6 - Extras 45
updates CentOS-6 - Updates 565
기본 할당:
[root@sftp01 vsftpd]# grep -v ^# /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
SFTP를 통해 연결하는 시스템 사용자는 정상적으로 작동합니다. 다양한 로깅 옵션 조합(dual_log_enable, vsftpd_log_file, xferlog_file 및 매뉴얼 페이지에 나열된 기타 항목)을 시도하고 다양한 권한을 사용하여 로그 파일을 수동으로 생성했습니다.
vsftpd에 로그인하는 방법은 무엇입니까?
고쳐 쓰다:
[root@sftp01 vsftpd]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
xferlog_std_format=YES
xferlog_enable=YES
vsftpd_log_file=/var/log/vsftpd.log
log_ftp_protocol=YES
[root@sftp01 vsftpd]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
SFTP를 사용하여 로그인하고, 파일을 업로드하고, 파일을 삭제하고, 로그아웃한 후(FTP 관련 정보 없음):
[root@sftp01 vsftpd]# tail -f /var/log/*
==> /var/log/secure <==
Aug 29 13:48:22 sftp01 sshd[1253]: Accepted password for test from 192.168.10.10 port 35825 ssh2
Aug 29 13:48:22 sftp01 sshd[1253]: pam_unix(sshd:session): session opened for user test by (uid=0)
Aug 29 13:48:22 sftp01 sshd[1255]: subsystem request for sftp
Aug 29 13:48:31 sftp01 sshd[1253]: pam_unix(sshd:session): session closed for user test
답변1
로그 파일의 위치를 추가해야 합니다.
vsftpd_log_file=/var/log/vsftpd.log
자세한 로깅을 위해서는 다음을 추가해야 합니다.
log_ftp_protocol=YES
그리고 댓글을 남겨주세요
xferlog_std_format=YES
답변2
SFTP의 연결은 VSFTPD와 관련이 없지만 SSHD를 통해 실행됩니다.
SFTP 연결은 이러한 변경 사항의 영향을 받지 않으며 FTP 연결만 영향을 받습니다.
다음을 변경하여 Centos 7.5에서 작동하도록 만들었습니다.
log_ftp_protocol=예
xferlog_enable=예
xferlog_std_format=아니요
답변3
로그에서 SFTP 서버와의 연결이 설정되었음을 확인할 수 있습니다. 실제로 FTP 대신 SFTP를 구성하려면 /etc/ssh/sshd_config
이 파일에서 서버를 구성하면 됩니다.
# override default of no subsystems
Subsystem sftp /usr/libexec/openssh/sftp-server
FTP, FTPS 및 SFTP는 동일한 것이 아닙니다. SFTP는 기본적으로 포트 22를 사용합니다. FTP 및 FTPS는 기본적으로 포트 21을 사용합니다(다른 포트를 사용할 수도 있음).
그리고센트OS 8, 나는 가지고있다VSFTPD로깅은 다음 구성에서 작동합니다 /etc/vsftpd/vsftpd.conf
.
# This is by default YES
xferlog_enable=YES
# This was changed from default YES to NO.
# This was actually the setting preventing from logging properly.
xferlog_std_format=NO
# Changed logfile from default as this makes more sense to me
xferlog_file=/var/log/vsftpd.log
# Enable verbose logging
log_ftp_protocol=YES