vsftpd.conf 옵션 설명은 어떻게 되나요?
💡 요약 정리
- vsftpd.conf는 vsftpd(FTP 서버)의 설정 파일입니다.
- FTP 접속 방식, 사용자 접근권한, 로그 작성 방법 등을 설정할 수 있습니다.
YES또는NO형식의 설정값이나 포트 번호 등으로 세밀한 제어가 가능합니다.- 공개용 또는 개인용 FTP 서버 설정에 따라 주요 옵션이 달라집니다.
- 아래에서 항목별 의미와 설 정 예시를 함께 확인하세요.
1. 접속 모드 및 포트 설정 옵션
-
listen→ standalone으로 운영할 때 설정합니다.listen=YES -
connect_from_port_20→ standalone 모드에서 FTP 포트 변경을 원할 때 설정합니다.connect_from_port_20=YES -
listen_port→ 21번 포트 이외의 다른 포트를 사용할 경우, 사용할 포트를 지정합니다.listen_port=2211
2. 사용자 접속 및 권한 설정
-
anonymous_enable→ anonymous 사용자의 접속 허용 여부를 정의합니다. 기본값은 YES이며, 공개용 FTP 서버로 사용하지 않으면 NO로 변경합니다.anonymous_enable=NO -
local_enable→ 로컬 계정 사용자의 FTP 접속 허용 여부를 정의합니다. 서버에 존재하는 일반 계정으로 FTP 접속을 할 경우 YES로 설정합니다.local_enable=YES -
write_enable→ 쓰기 권한 허용 여부를 정의합니다. NO로 설정하면 파일 업로드가 불가능합니다.write_enable=YES -
local_umask→ 로컬 계정 사용자용 umask를 정의합니다. (기본값: 077)local_umask=022
3. Anonymous 사용자 관련 옵션
-
anon_upload_enable→ anonymous 사용자가 파일 업로드할 수 있는 권한을 설정합니다. 기본값은 NO이며, anonymous_enable=YES일 때만 적용됩니다. -
anon_mkdir_write_enable→ anonymous 사용자가 디렉토리를 생성할 수 있는 권한을 설정합니다. 기본값은 NO이며, anonymous_enable=YES일 때만 적용됩 니다.anon_mkdir_write_enable=YES -
chown_upload→ anonymous 사용자가 업로드한 파일의 소유권을 자동 변경하도록 설정합니다.chown_upload=YES -
chown_username→ anonymous 사용자가 업로드한 파일 소유권을 변경할 유저명을 설정합니다.chown_username=jook
4. 로그 기록 관련 옵션
-
xferlog_enable→ 파일 전송 로그를 남길지 여부를 정의합니다.xferlog_enable=YES -
xferlog_file→ 파일 전송 로그를 기록할 파일명을 정의합니다.xferlog_file=/var/log/vsftpd.log -
xferlog_std_format→ xferlog 형식으로 FTP 로그를 남길지 설정합니다. 표준 포맷은 디렉토리 생성 등의 로그를 기록하지 않기 때문에, 보다 상세한 로그를 위해 NO로 설정하는 것을 권장합니다.xferlog_std_format=NO
5. 경로 접근 및 사용자 격리
-
chroot_local_user→ 홈 디렉토리를 벗어나지 못하도록 제한합니다. FTP 접속 후 시스템 파일 접근을 방지합니다.chroot_local_user=YES -
chroot_list_enable→ 특정 계정을 제외하고 다른 모두를 chroot에 적용하고 싶을 때 설정합니다.chroot_list_enable=YES -
chroot_list_file→ chroot_list_enable=YES일 때 계정 리스트를 저장할 파일명을 설정합니다. 이 파일 내 계정만 상위 디렉토리에 접근할 수 있습니다.chroot_list_file=/etc/vsftpd.chroot_list
6. 메시지 및 안내 설정
-
ftpd_banner→ FTP 서버에 접속 했을 때 보여주는 로그인 메시지를 설정합니다. (기본값은 vsftp 버전 출력)ftpd_banner=Welcome to FTP service. -
dirmessage_enable→ 디렉토리 진입 시 보여줄 메시지를 저장한 파일을 사용할 수 있도록 설정합니다.dirmessage_enable=YES -
message_file→ 디렉토리에 진입할 때 보여줄 메시지를 저장할 파일명을 지정합니다.message_file=.message
7. PAM 및 세션 로그 설정
-
pam_service_name→ PAM 파일명을 정의하는 옵션입니다. 설치 시, /etc/pam.d/vsftpd 명으로 복사됩니다.pam_service_name=vsftpd -
session_support→ wtmp에 로그를 남기도록 설정합니다.last명령어로 접속 여부를 확인할 수 있으므로 YES 설정을 권장합니다.session_support=YES
8. 전송 속도 및 용량 제한
-
anon_max_rate→ anonymous 사용자의 전송 속도를 지정합니다. 0은 무제한이며 단위는 byte입니다.anon_max_rate=100000 -
local_max_rate→ local 계정 사용자의 전송량을 지정합니다. 0은 무제한이며 단위는 byte입니다.local_max_rate=200000 -
trans_chunk_size→ byte 단위로 파일을 나누어 전송 및 저장하도록 설정합니다. 0이면 자동 지정됩니다.trans_chunk_size=0
9. 접속자 수 및 시간 제한
-
max_clients→ 최대 접속자 수를 설정합니다.max_clients=10 -
max_per_ip→ 하나의 IP에서 최대 접속 가능한 수를 설정합니다.max_per_ip=3 -
idle_session_timeout→ 클라이언트에서 아무 명령이 없을 경우 세션을 끊기 전까지의 대기 시간(기본값: 300초)을 설정합니다.idle_session_timeout=600 -
data_connection_timeout→ 데이터 연결을 끊기 전까지의 대기 시간을 설정합니다. (기본값: 60초)data_connection_timeout=120
10. 기타 설정 항목
-
ls_recurse_enable→ 디렉토리 내용을 출력할 때 캐시를 사용할지 여부를 정의합니다.ls_recurse_enable=YES -
ascii_upload_enable→ ASCII 파일 업로드 가능 여부를 설정합니다.ascii_upload_enable=YES -
ascii_download_enable→ ASCII 파일 다운로드 가능 여부를 설정합니다.ascii_download_enable=YES