리눅스 서버에서 많이 사용하는 vsftpd가 설치되어 있고 ftp로 접근할 때 해당 사용자가 아닌 하위 폴더까지 볼 수 있는 경우가 있습니다. 설치시 설정값이 기본으로 되어 있는경우가 있으니 아래 설명을 참고로 수정 해 주세요.
vsftpd는?
vsftpd는 Linux를 포함한 UNIX 시스템용 GPL 라이센스 FTP 서버입니다. 안전하고 매우 빠르면서 안정적입니다. 속도와 보안을 위해 규모는 작지만 vsftpd를 사용하면 훨씬 더 복잡한 FTP 설정을 수행할 수 있습니다.
가상 IP 구성 / 가상 사용자 / 독립형 또는 inetd 작동 / 강력한 사용자별 구성 가능성 / 대역폭 조절 / 소스 IP별 구성 가능성 / 소스 IP당 제한 / IPv6 / SSL 통합을 통한 암호화 지원
vsftpd 설치여부 확인
rpm 그리고 ps 명령을 통해 설치여부와 경로를 확인할 수 있습니다.
# rpm -qa | grep vsftpd vsftpd-3.0.2-29.el7_9.x86_64 # ps -ef | grep vsftpd root 12653 1 0 2022 ? 00:00:01 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf root 21094 20768 0 15:52 pts/0 00:00:00 grep --color=auto vsftpd
포트를 확인하여 접속가능하지 알 수 있습니다.
netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:7603 0.0.0.0:* LISTEN 628/perl
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 22039/vsftpd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1043/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 945/sendmail: accep
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 31188/mysqld
tcp6 0 0 :::80 :::* LISTEN 16581/httpd
tcp6 0 0 :::22 :::* LISTEN 1043/sshd
tcp6 0 0 :::443 :::* LISTEN 16581/httpd
편집기로 /etc/vsftpd/vsftpd.conf 해당 파일을 엽니다.
# vi /etc/vsftpd/vsftpd.conf
vi 편집기에서 / 를 입력하고 chroot를 입력하면 해당 위치를 바로 찾을 수 있습니다.
# chroot_local_user=YES
# chroot_list_enable=YES
# (default follows)
# chroot_list_file=/etc/vsftpd/chroot_list
위와 같이 #(샵)으로 주석처리가 되어 있다면 기본설치 상태라고 볼 수 있습니다.
서비스를 재 시작합니다.
# service vsftpd restart