윈도우에는 파일질라 서버 for Windows 라는 (훌륭한) GUI 기반 FTP 서버 프로그램이 있지요.

우분투에는... GUI로 된 FTP서버 프로그램이 없는 듯하고, vfstpd가 좋다고들 하네요.


http://vsftpd.beasts.org/vsftpd_conf.html

또는

https://security.appspot.com/vsftpd/vsftpd_conf.html

에 vsftpd 설정파일(vsftpd.conf) 설명서가 있습니다. 영문이죠! ㅠㅠ

우분투에서 vsftpd 써보니까 설정파일을 손보는 게 진입장벽으로 느껴지던데,

위 링크(공식 사이트의 가이드)의 문서가 워낙 자세해서 구글크롬 번역기능이 비교적 잘 먹히더군요.


번역이 매끄럽지 못한 부분을 (능력 내에서) 다듬어 봤습니다. 참고가 되셨으면 좋겠고...

(원문을 1차적으로 보고, 제 번역본은 참고용으로 보세요.)

수정할만한 부분이 보이면 귀띔해 주세요. 반영하겠습니다.


2018년 3월 5일 기준의 영문 문서, 나중에 비교/대조하면서 업데이트할 때 쓰려고 함께 첨부합니다.

vsftpd-영문-20180305.txt



이름

vsftpd.conf - vsftpd의 설정 파일


설명

vsftpd.conf는 vsftpd의 다양한 동작을 제어하는 ​​데 사용될 수 있습니다. 기본적으로 vsftpd는 /etc/vsftpd.conf 경로에서 이 파일을 찾습니다. 그러나 vsftpd에 "명령 줄 인수"를 특정함으로써 이를 덮어쓸 수 있습니다. "명령줄 인수"는 vsftpd 설정 파일의 경로명입니다. 이 동작(덮어쓰기)은 xinetd 와 같은 고급 inetd를 사용하여 여러 가상 호스트들이 각자 다른 구성 파일을 사용하여 vsftpd를 시작하고자 할 때에 유용합니다.



포맷(형식)

vsftpd.conf의 형식은 매우 간단합니다. 각 행은 주석 또는 지시문입니다. 주석 행은 #으로 시작하며 무시됩니다. 지시문의 형식은 다음과 같습니다.

option=value

option, =와 value 사이에 공백을 넣는 것은 오류라는 점을 유의해야 합니다.

각각의 설정은 컴파일된(번역된) 기본값이 있는데, 이것(기본값)은 설정 파일에서 수정될 수 있습니다.




부울(BOOLEAN) 옵션

아래는 부울 옵션의 목록입니다. 부울 옵션의 값은 YES 또는 NO 로 설정 될 수 있습니다 .

allow_anon_ssl

ssl_enable 이 활성화된 경우에만 적용됩니다 . YES로 설정하면 익명(anonymous) 사용자는 보안 SSL 연결 사용이 허용될 것입니다.

기본값 : NO

anon_mkdir_write_enable

YES로 설정하면 익명(anonymous) 사용자는 특정 조건에서 새 디렉토리를 만드는 것이 허락됩니다. 이 기능을 사용하려면 write_enable 옵션을 활성화해야 하며, 익명(anonymous)의 ftp 사용자는 상위 디렉토리에 대한 쓰기 권한을 가지고 있어야 합니다.

기본값 : NO

anon_other_write_enable

YES로 설정하면 익명(anonymous) 사용자는 업로드 및 디렉토리 생성 이외의 쓰기 조작(예 : 삭제 및 이름 변경)을 할 수 있게끔 허용됩니다. 이것은 일반적으로 권장되지 않지만 완벽을 위해 포함됩니다.

기본값 : NO

anon_upload_enable

YES로 설정하면 익명(anonymous) 사용자는 특정 조건 하에서 파일을 업로드 할 수 있습니다. 이것이 작동하게 하려면 write_enable 옵션이 활성화되어야 하며, anonymous ftp 사용자는 원하는 업로드 위치에 대한 쓰기 권한을 가지고 있어야 합니다. 이 설정은 가상 사용자가 업로드하는 데에도 필요한데, 기본적으로 가상 사용자는 익명(즉, 최대 제한) 권한으로 다뤄지기 때문입니다.

기본값 : NO

anon_world_readable_only

사용하도록 설정하면, 익명(anonymous) 사용자는 모두가 읽을 수있는 파일만 다운로드 할 수 있습니다. 이것은 ftp 유저가 (특히 업로드 중에) 파일을 소유할 수도 있음을 인정하는 것입니다.

기본값 : YES

anonymous_enable

익명(anonymous) 로그인을 허용할지 여부를 제어합니다. enabled하면 ftp 유저명과 anonymous가 모두 anonymous 로그인으로서 인식됩니다.

기본값 : YES

ascii_download_enable

사용하도록 설정하면, 다운로드 시 ASCII 모드 데이터 전송이 적용됩니다.

기본값 : NO

ascii_upload_enable

사용하도록 설정하면 업로드 시 ASCII 모드 데이터 전송이 적용됩니다.

기본값 : NO

async_abor_enable

활성화되면 "async ABOR"라는 특수 FTP 명령이 활성화됩니다. 이 기능은 현명하지 못한 FTP 클라이언트만 사용할 것입니다. 또한 이 기능은 다루기가 어렵기 때문에 기본적으로 비활성화되어 있습니다. 유감스럽게도 일부 FTP 클라이언트는 이 기능을 사용할 수 없는 경우에 전송을 취소할 때 목매달릴 것이므로(연결이 끊길 것이므로), 당신은 활성화를 원할 수도 있습니다.

기본값 : NO

background

활성화 된 상태에서 vsftpd가 "수신 대기"모드로 시작되면, vsftpd는 수신 프로세스를 백그라운드로 수행합니다. 즉, 컨트롤이 vsftpd를 시작한 셸로 즉시 반환됩니다.

기본값 : NO

check_shell

주의하세요! 이 옵션은 non-PAM vsftpd 빌드에만 영향을 미칩니다. 비활성화 된 경우, vsftpd는 /etc/shells에서 로컬 로그인을 위한 유효 사용자 쉘을 확인하지 않습니다.

기본값 : YES

chmod_enable

활성화 하면 SITE CHMOD 명령의 사용을 허용합니다. 주의하세요! 이는 로컬 사용자에게만 적용됩니다. 익명 사용자는 SITE CHMOD를 사용하지 않습니다.

기본값 : YES

chown_uploads

사용하도록 설정하면 익명(anonymously)으로 업로드 된 모든 파일의 소유권이 chown_username 설정에서 지정된 사용자로 변경됩니다 . 이는 관리상/(아마도) 보안상의 관점에서 유용합니다.

기본값 : NO

chroot_list_enable

활성화되면 로그인할 때 로컬 사용자(그들의 홈 디렉토리에서 chroot() 감옥에 갇혀있는 - chroot로 지정한 디렉토리 위로는 못 올라가는) 목록을 제공할 수 있습니다. 만약 chroot_local_user가 YES로 설정되면 의미가 약간 다릅니다. 이 경우, 목록은 chroot() 감옥에 갇히지 않는 사용자들의 리스트가 됩니다. 기본적으로 이 목록을 보유하고 있는 파일은 /etc/vsftpd.chroot_list이지만 chroot_list_file 설정으로 이를 대체할 수(override할 수) 있습니다 .

기본값 : NO

chroot_local_user

YES로 설정하면, 로컬 사용자는 로그인 후 (기본으로) 그들의 홈 디렉토리의 chroot() 감옥에 놓여집니다. 경고: 이 옵션은 보안에 영향을 미칩니다. 특히 사용자에게 업로드 권한이나 쉘 액세스 권한이있는 경우에. (그러므로) 당신이 무엇을 하고 있는지 알고 있는 경우에만 활성화하십시오. 이런 보안 관련 (문제)사항들은 vsftpd에만 특정된 것이 아님을 주목하세요. 그것들(보안 관련 문제사항들)은 chroot() 감옥에 로컬 사용자를 놓으라고 제안하는 모든 FTP 데몬에 적용됩니다.

기본값 : NO

connect_from_port_20

이것은 PORT 스타일의 데이터 연결이 서버 기기에서 포트 20(ftp-data)을 사용하는지 여부를 제어합니다. 보안상의 이유로 일부 클라이언트는 이것이 문제라고 주장 할 수 있습니다. 반대로, 이 옵션을 비활성화하면 vsftpd가 약간 낮은 권한으로 실행될 수 있습니다.

기본값 : NO (그러나 샘플 설정 파일은 그것을 활성화하였습니다.)

debug_ssl

설정하면 OpenSSL 연결 진단이 vsftpd 로그 파일에 덤프됩니다. (v2.0.6에 추가됨).

기본값 : NO

delete_failed_uploads

설정하면 업로드에 실패한 파일들이 전부 삭제됩니다. (v2.0.7에 추가됨).

기본값 : NO

deny_email_enable

활성화되면, 당신은 로그인 거부를 유발한 익명 패스워드(anonymous password) 이메일 응답 리스트를 제공할 수 있습니다. 기본적으로 이 리스트를 보유하는 파일은 /etc/vsftpd.banned_emails 이지만, banned_email_file 설정으로 이를 덮어쓸 수 있습니다(override).

기본값 : NO

dirlist_enable

NO로 설정하면 모든 디렉토리 목록 명령에서 권한이 거부됩니다.

기본값 : YES

dirmessage_enable

활성화하면, FFP 서버 사용자가 새로운 디렉토리에 처음으로 들어갈 때 메시지를 보일 수 있습니다. 기본적으로 디렉토리는 .message 파일로부터 스캔되지만, 그것(디렉토리)은 message_file 구성 설정으로 덮어 쓸 수 있습니다 .

기본값 : NO (그러나 샘플 설정 파일은 그것을 활성화하였습니다.)

download_enable

NO로 설정하면 모든 다운로드 요청의 허가가 거부됩니다.

기본값 : YES

dual_log_enable

활성화 된 경우 두 개의 로그 파일이 병렬로 생성되며, 기본으로 /var/log/xferlog 및 /var/log/vsftpd.log로 갑니다. 전자는 표준 도구로 파싱 할 수있는 wu-ftpd 스타일 전송 로그입니다. 후자는 vsftpd의 자체 스타일 로그입니다.

기본값 : NO

force_dot_files

활성화되면, "." 로 시작하는 파일과 디렉토리들이 디렉토리 목록에 표시될 것입니다(설사 "a"플래그가 클라이언트에 의해 사용되지 않더라도.). 이 재정의는 "." 및 ".." 항목 제외입니다.

기본값 : NO

force_anon_data_ssl

오직 ssl_enable 이 활성화 된 경우에만 적용 됩니다. 만약 활성화 됐다면 모든 익명 로그인은 (데이터 연결에서 데이터를 주고받기 위해) 보안 SSL 연결 사용이 강제됩니다.

기본값 : NO

force_anon_logins_ssl

오직 ssl_enable 이 활성화 된 경우에만 적용됩니다. 활성화 된 경우, 모든 익명 로그인은 패스워드를 보내기 위해 보안 SSL 연결을 사용해야 합니다.

기본값 : NO

force_local_data_ssl

ssl_enable 이 활성화 된 경우에만 적용됩니다. 활성화 된 경우, 모든 비 익명 로그인은 데이터 연결시 데이터를 주고받기 위해 보안 SSL 연결을 사용해야만 합니다(강제).

기본값 : YES

force_local_logins_ssl

ssl_enable 이 활성화 된 경우에만 적용 됩니다. 활성화 된 경우, 모든 비 익명 로그인은 패스워드를 보내려면 보안 SSL 연결이 강제됩니다.

기본값 : YES

guest_enable

만약 활성화하면, 모든 비 익명 로그인은 "게스트(손님)" 로그인으로 분류됩니다. 게스트 로그인은 guest_username 설정에 지정된 사용자에게 다시 매핑됩니다.

기본값 : NO

hide_ids

만약 활성화하면, 디렉토리 목록의 모든 사용자 및 그룹 정보가 "ftp"로 표시됩니다.

기본값 : NO

implicit_ssl

만약 활성화하면, 모든 연결들이 제일 먼저 기대하는 것은 SSL 핸드셰이크(악수.SSL 연결시도)입니다(FTPS 프로토콜). 명시적인(explicit) SSL을(+평문 텍스트도) 지원하려면 별도의 vsftpd 응답 프로세스가 실행되어야 합니다.

기본값 : NO

listen

만약 활성화하면, vsftpd가 단독 모드로 실행될 것입니다. 이는 vsftpd가 어떤 종류의 inetd로든 실행되어서는 안된다는 것을 의미합니다. 대신, vsftpd 실행 파일은 한 번 직접 실행됩니다. 그런 다음 vsftpd 스스로가 들어오는 연결을 수신하고 처리합니다.

기본값 : YES

listen_ipv6

listen 매개 변수처럼, vsftpd는 IPv4 소켓 대신 IPv6 소켓에서 수신합니다. 이 매개 변수와 listen 매개 변수는 상호 배타적입니다.

기본값 : NO

※ /etc/vsftpd.conf 파일 내의 설명을 보니까, 이 옵션을 설정하면 ipv6와 ipv4 주소를 모두 listen 한다고 하네요. 그래서 listen_ipv6 옵션을 YES로, listen 옵션을 No라고 구성하게끔 예시에 적혀있었습니다.

local_enable

로컬 로그인을 허용할지 여부를 제어합니다. 만약 활성화하면, /etc/passwd (또는 당신의 PAM 설정 문서가 참조하는 곳이면 어디든)의 일반 사용자 계정을 사용하여 로그인 할 수 있습니다. 이것은 가상 사용자를 포함하여 비 익명 로그인이 작동하도록 해야 합니다.

기본값 : NO

lock_upload_files

활성화하면, 모든 업로드는 업로드 파일이 쓰기 잠금(write lock)된 채로 진행됩니다. 모든 다운로드는 다운로드 파일이 공유 읽기 잠금(shared read lock)된 채로 진행됩니다. 경고! 이 기능을 활성화하기 전에, 악의적인 독자가 파일 첨부를 원하는 사람(writer)을 굶길 수 있음을 알아 주세요(잠금 처리한 파일 알박기).

기본값 : YES

log_ftp_protocol

활성화하면, xferlog_std_format 옵션을 사용하지 않는 한 모든 FTP 요청과 응답이 기록(logged)됩니다. 디버깅에 유용합니다.

기본값 : NO

ls_recurse_enable

활성화하면, 이 설정은 "ls -R"의 사용을 허락합니다. 이것은 사소한 보안 위험이 있습니다. 왜냐하면 대형 사이트의 최상위 레벨에서 ls -R은 많은 자원을 소비할 수 있기 때문입니다.

기본값 : NO

mdtm_write

활성화하면, MDTM에서 파일 수정 시간을 설정하는 것을 허용합니다(일반적인 액세스 체크에 따라).

기본값 : YES

no_anon_password

활성화하면, vsftpd가 익명(anonymous)의 암호를 요구하는 것을 막습니다. - 익명의 사용자는 곧바로 로그인할 것입니다.

기본값 : NO

no_log_lock

활성화하면, vsftpd가 로그 파일을 쓸 때 (로그)파일 잠그는 것을 못하게 합니다. 이 옵션은 일반적으로 사용하지 않아야 합니다. Solaris / Veritas 파일 시스템 조합처럼 때때로 로그 파일을 잠그려고 하는 운영 체제 버그를 해결하기 위해 (이 옵션이) 존재합니다.

기본값 : NO

one_process_model

만약 당신이 Linux 2.4 커널을 사용한다면, 연결 당 하나의 프로세스만 사용하는 다른 보안 모델을 사용하는 것이 가능합니다. 덜 순수한 보안 모델이지만 성능은 향상됩니다. 당신이 무엇을 하고 있는지 모르는 한 이 기능을 사용하지 않는 것이 좋으며, 당신의 사이트는 수많은 동시 접속 사용자를 지원합니다.

기본값 : NO

passwd_chroot_enable

만약 chroot_local_user 와 함께 활성화하면, chroot() 감옥(jail)의 경로는 사용자별로 지정될 수 있습니다. 각 사용자의 감옥은 /etc/passwd의 홈 디렉토리 문자열로부터 얻습니다. 홈 디렉토리 문자열에서 /./가 나오는 것은 감옥이 경로의 특정 위치에 있음을 나타냅니다.

기본값 : NO

pasv_addr_resolve

pasv_address 옵션에 (IP 주소가 아닌)호스트이름을 사용하려면 YES로 설정하십시오 .

기본값 : NO

pasv_enable

데이터 연결을 얻는 PASV 메소드(패시브 방식)를 허용하지 않으려면 NO로 설정하십시오.

기본값 : YES

※ 액티브 모드와 패시브 모드의 차이점이 궁금하면 아래의 두 포스팅을 참고해보세요.

    http://mintnlatte.tistory.com/407

    http://visu4l.tistory.com/162

    (저는 패시브모드가 좋은 것 같습니다.)

pasv_promiscuous

YES로 설정하십시오 - 만약 데이터 연결이 제어 연결과 동일한 IP 주소에서 발생했는지 확인하는 PASV(패시브) 보안 검사를 비활성화 하기를 원한다면. 당신이 무엇을 하고 있는지를 알 경우에만 활성화하십시오! 이것을 위한 유일하게 적법한 사용은 보안 터널링 계획의 일부 형태이거나 FXP 지원을 용이하게하는 것일 겁니다.

기본값 : NO

port_enable

데이터 연결을 얻는 PORT 메소드를 허용하지 않으려면 NO로 설정하십시오.

기본값 : YES

port_promiscuous

PORT 보안 검사(나가는 데이터 연결이 클라이언트에만 연결할 수 있도록 하는)를 비활성화하려면 YES로 설정하십시오. 당신이 무엇을 하고 있는지를 알 경우에만 활성화하십시오!

기본값 : NO

require_cert

yes로 설정하면, 모든 SSL 클라이언트 연결들은 클라이언트 인증서를 제시할 것이 요구됩니다. 이 인증서에 적용된 유효성 검사의 정도는 validate_cert 에 의해 제어됩니다 (v2.0.6에서 추가됨).

기본값 : NO

require_ssl_reuse

yes로 설정하면, 모든 SSL 데이터 연결은 SSL 세션 재사용을 표시할 것이 요구됩니다 (그것은 그들이 제어 채널과 동일한 마스터 암호를 알고 있음을 증명함). 이것은 비록 보안 기본값이지만, 많은 FTP 클라이언트를 깨버릴 수 있으므로 당신은 비활성화 하기를 원할 수도 있습니다. 그 결과에 대한 설명은 http://scarybeastsecurity.blogspot.com/2009/02/vsftpd-210-released.html (v2.1.0에 추가됨)을 참조 하십시오 .

기본값 : YES

run_as_launching_user

vsftpd를 실행한(launched) 사용자로 vsftpd를 실행(run)하려면 YES로 설정하십시오. 이 기능은 루트 액세스를 사용할 수없는 경우에 유용합니다. 강력한 경고! 당신이 하는 일을 완전히 알지 못하면이 옵션을 사용하지 마십시오. 왜냐하면 (전문지식 없이) 이 옵션을 사용하면 심각한 보안 문제가 발생할 수 있기 때문입니다. 특히 vsftpd는 이 옵션을 설정했을 때, 파일 액세스를 제한하기 위해 chroot 기술을 사용하지 않습니다(또는 사용할 수 없습니다) : (root로 실행했더라도). 부족하지만 대안은 {/*,*..*}와 같은 deny_file 세팅을 사용하는 것일 수 있습니다. 하지만 이것의 신뢰성은 chroot와 비교할 수 없으므로 의존해서는 안됩니다. 이 옵션을 사용하면 다른 옵션에 많은 제한이 적용됩니다. 예를 들어, 비 익명 로그인, 업로드 권한 변경, 포트 20에서 연결, 1024번 미만의 포트에서 수신 대기처럼 권한이 요구되는 옵션은 작동하지 않을 것으로 예상됩니다. (이외의) 다른 옵션들이 영향을 받을 수도 있습니다.

기본값 : NO

secure_email_list_enable

만약 익명(anonymous) 로그인에 대해 지정된 email 비밀번호 목록만을 허용하고자 한다면 YES로 설정하십시오. 이것은 가상 사용자(virtual users) 없이도 보안 수준이 낮은 콘텐츠에 대한 접근을 제한하는 덜 번거로운 방법으로서, 유용합니다. Enabled 하면, 제공된 비밀번호가 email_password_file 설정에서 지정한 파일에 나열되지 않는 한 익명 로그인은 차단됩니다 . 파일 형식은 한 줄에 하나의 암호이며, 추가 공백은 없습니다. 기본 파일명은 /etc/vsftpd.email_passwords 입니다.

기본값 : NO

session_support

이것은 vsftpd가 로그인 세션을 유지할지 여부를 제어합니다. 만약 vsftpd가 세션을 유지하면, vsftpd는 utmp 및 wtmp를 시도하고 업데이트할 것입니다. 또한 인증에 PAM을 사용할 경우 pam_session을 열고, 로그아웃 시에만 이것을 닫습니다. 당신은 이 기능을 비활성화할 수도 있습니다 : 세션 로깅이 필요없고, vsftpd에게 더 적은 프로세스와(또는) 더 적은 권한으로 실행할 수있는 기회를 더 주고자 한다면. 주의 - utmp 와 wtmp 지원은 PAM 이 활성화(enabled)된 빌드에서만 제공됩니다.

기본값 : NO

setproctitle_enable

만약 활성화되면, vsftpd는 시스템 프로세스 목록에 세션 상태 정보를 표시하려고 시도할 것입니다. 즉, 보고된 프로세스의 이름은 vsftpd 세션이 무엇을 하는지(idle, downloading etc)를 반영하여 바뀔 것입니다. 당신은 아마도 보안을 위해 이것을 꺼두고 싶을 것입니다.

기본값 : NO

ssl_enable

만약 활성화되고 vsftpd가 OpenSSL에 대해 컴파일 되었다면, vsftpd는 SSL을 통한 보안 연결을 지원할 것입니다. 이것은 제어 연결(로그인 포함)과 데이터 연결에도 적용됩니다. SSL을 지원하는 클라이언트도 필요합니다. 주의!! 이 옵션을 활성화하는 경우 조심하십시오. 필요한 경우에만 활성화하십시오. vsftpd는 OpenSSL 라이브러리의 보안을 보장하지 않습니다. 이 옵션을 활성화하면 당신은 설치된 OpenSSL 라이브러리의 보안을 신뢰한다고 선언하는 것입니다.

기본값 : NO

ssl_request_cert

만약 활성화되면, vsftpd는 들어오는 SSL 연결에 대해 인증서를 요청할 것입니다(그러나 반드시 필요하진 않씁니다. require_cert 를 보세요.) . 일반적으로 이것은 전혀 문제를 일으키지 않지만, IBM zOS에는 문제가 있는 듯합니다. (v2.0.7의 새로운 기능).

기본값 : YES

ssl_sslv2

ssl_enable 이 활성화된 경우에만 적용됩니다. 만약 활성화하면, 이 옵션은 SSL v2 프로토콜 연결을 허용합니다. TLS v1 연결이 더 좋습니다(우선합니다로 해석될 수도?).

기본값 : NO

ssl_sslv3

ssl_enable 이 활성화된 경우에만 적용됩니다. 만약 활성화하면, 이 옵션은 SSL v3 프로토콜 연결을 허용합니다. TLS v1 연결이 더 좋습니다(우선합니다로 해석될 수도?).

기본값 : NO

ssl_tlsv1

ssl_enable 이 활성화된 경우에만 적용됩니다. 만약 활성화하면, 이 옵션은 TLS v1 프로토콜 연결을 허용합니다. TLS v1 연결이 더 좋습니다(우선합니다로 해석될 수도?).

기본값 : YES

strict_ssl_read_eof

만약 활성화되면, SSL 데이터 업로드는 SSL을 통해 종료해야합니다, 소켓을 통한 EOF가 아니라. 이 옵션은 공격자가 허위의 TCP FIN으로 업로드를 조기에 종료하지 않는지 확인하는 데에 필요합니다. 불행하게도, 올바르게 이해하는 클라이언트가 거의 없어서 기본값으로 활성화되지 않았습니다. (v2.0.7의 새로운 기능).

기본값 : NO

strict_ssl_write_shutdown

만약 활성화되면, SSL 데이터 다운로드는 SSL을 통해 종료해야합니다, 소켓을 통한 EOF가 아니라. 이것은 기본적으로 꺼져 있습니다. 왜냐하면 이 작업을 수행하는 단일 FTP 클라이언트를 찾을 수 없었기 때문입니다. 사소한 겁니다. 모두에게 영향을 미치는 것은 클라이언트가 파일 전체의 수신을 확인했는지 여부를 말하는 우리의 능력입니다. 이 옵션이 없어도 클라이언트는 다운로드의 무결성을 검사 할수 있습니다. (v2.0.7의 새로운 기능).

기본값 : NO

syslog_enable

만약 활성화되면, /var/log/vsftpd.log로 갔었을 모든 로그 출력이 대신 시스템 로그로 갑니다. 로깅은 FTPD 기능 하에서 수행됩니다.

기본값 : NO

tcp_wrappers

만약 활성화되면고 vsftpd가 tcp_wrappers를 지원하도록 컴파일 되었다면, 들어오는 연결은 tcp_wrappers 액세스 제어를 통해 제공될 것입니다. 또한, IP 기반 구성을위한 메커니즘이 있습니다. 만약 tcp_wrappers가 VSFTPD_LOAD_CONF 환경 변수를 설정한다면, vsftpd 세션은 이 변수에 지정된 vsftpd 구성 파일을 로드하려고 시도할 것입니다.

기본값 : NO

text_userdb_names

기본적으로, 숫자 ID는 디렉토리 목록의 사용자(필드) 및 그룹 필드에 표시됩니다. 당신은 이 매개 변수를 활성화함으로써 텍스트로 된 이름을 얻을 수 있습니다. 성능상의 이유로 기본적으로 꺼놨습니다.

기본값 : NO

tilde_user_enable

만약 활성화되면, vsftpd는 (예를 들어 유저네임 앞에 물결표시가 붙는) ~chris/pics와 같은 경로명을 해결(수정)하려고 할 것입니다. 알아두십시오, vsftpd는 항상 ~ 및 ~/something 형식의 경로명을 해결합니다(이 경우, ~는 초기 로그인 디렉토리로 해석됨). 알아두십시오, ~/user 경로는 /etc/passwd 파일이 _현재의_ chroot() 감옥에서 발견될 지도 모르는 경우에만 해결(수정)될 것입니다.

기본값 : NO

use_localtime

만약 활성화되면, vsftpd는 (당신의) 로컬 타임 존의 시간과 함께 디렉토리 목록을 표시합니다. 기본값은 GMT를 표시하는 것입니다. MDTM FTP 명령을 통해 반환된 시간도 또한 이 옵션의 영향을 받습니다.

기본값 : NO

use_sendfile

당신의 플랫폼에서 sendfile() 시스템 호출을 사용 시의 상대적인 이점을 테스트하는 데 사용되는 내부 설정입니다.

기본값 : YES

userlist_deny

이 옵션은 userlist_enable 이 활성화되어 있는지를 검사합니다. 만약 당신이 이 설정을 NO로 설정하면, 사용자가 userlist_file에 지정된 파일에 명시적으로 나열되지 않으면 로그인이 거부될 것입니다. 로그인이 거부되면, 유저가 비밀번호를 요구받기 전에 거부가 발동합니다.(=> NO로 설정시 userlist_file에 나열된 사용자만 접근 허용. YES로 설정시 userlist_file에 나열된 사용자만 접근 거부.)

기본값 : YES

userlist_enable

만약 활성화되면, vsftpd는 userlist_file 로부터 주어진 파일에서 사용자 목록을 로드할 것입니다. 만약 사용자가 이 파일에 있는 이름을 사용하여 로그인을 시도하면, 그들은 패스워드를 요청받기 전에 접근 거부될 것입니다. 이것은 평문 패스워드가 전송되는 것을 막는 데 유용할 수 있습니다. userlist_deny도 참조하십시오.

기본값 : NO

validate_cert

yes로 설정하면, 수신된 모든 SSL 클라이언트 인증서는 유효성을 확인해야 합니다. 자체 서명된 인증서는 유효성 확인을 구성하지 않습니다. (v2.0.6의 새로운 기능).

기본값 : NO

virtual_use_local_privs

만약 활성화되면, 가상 사용자는 로컬 사용자와 동일한 권한을 사용할 것입니다. 기본적으로 가상 사용자는 익명 사용자와 동일한 권한을 사용할 텐데, 그것은 더 제한적인 경향이 있습니다(특히 쓰기 접속과 관련하여).

기본값 : NO

write_enable

이것은 파일 시스템을 변경하는 어떠한 FTP 명령들이라도 허용되는지 여부를 제어합니다. 이 명령은 STOR, DELE, RNFR, RNTO, MKD, RMD, APPE 및 SITE 입니다.

기본값 : NO

xferlog_enable

만약 활성화되면, 업로드 및 다운로드를 열거하는 로그 파일이 유지관리될 것입니다. 기본적으로이 파일은 /var/log/vsftpd.log에 위치할 것이지만, 이 위치는 vsftpd_log_file 구성 설정을 사용하여 대체될(오버라이드 될) 수 있습니다 .

기본값 : NO (그러나 샘플 설정 파일은 그것을 활성화하였습니다.)

xferlog_std_format

만약 활성화되면, 전송 로그 파일은 wu-ftpd에서 사용하는 표준 xferlog 형식으로 작성될 것입니다. 이는 기존의 전송 통계 생성기를 재사용할 수 있기 때문에 유용합니다. 하지만 기본 포맷이 더 가독성이 좋습니다. 이 로그 파일 스타일의 기본 위치는 /var/log/ xferlog 이지만, xferlog_file 설정으로 (위치를) 변경할 수도 있습니다 .

기본값 : NO



숫자 옵션

아래는 숫자 옵션 목록입니다. 숫자 옵션은 음수가 아닌 정수로 설정되어야 합니다. umask 옵션의 편의를 위해 8진수가 지원됩니다. 8진수로 지정하려면 숫자의 첫 째 자리에 0을 사용하십시오.

accept_timeout

원격 클라이언트가 PASV(패시브) 스타일의 데이터 연결로 연결을 수립하는 제한시간(초).

기본값 : 60

anon_max_rate

익명 클라이언트에게 허용되는 최대 데이터 전송 속도(바이트/초).

기본값 : 0 (무제한)

anon_umask

익명 사용자를 위해 설정된, 파일 생성을 위한 umask 값. 주의! 만약 당신이 8진수 값을 지정하고자 한다면 접두어 "0"을 기억하십시오. 그렇지 않으면 값은 10단위의 정수로 처리될 것입니다!

기본값 : 077

chown_upload_mode

익명 업로드(chown() 처리)를 강제하는 파일 모드입니다. (v2.0.6에 추가됨).

기본값 : 0600

connect_timeout

원격 클라이언트가 PORT 스타일의 데이터 연결에 응답하는 제한시간(초)입니다.

기본값 : 60

data_connection_timeout

데이터 전송이 진행되지 않는 채로 멈춰있도록 허용하는 최대 제한시간(초). 만약 타임아웃이 발생하면 원격 클라이언트는 쫓겨납니다.

기본값 : 300

delay_failed_login

실패한 로그인을 보고하기 전에 일시중지 할 시간(초).

기본값 : 1

delay_successful_login

로그인 성공을 허락하기 전에 일시중지 할 시간(초).

기본값 : 0

file_open_mode

업로드된 파일이 생성되는 데에 (사용할) 권한. Umasks는 이 값 최상위에 적용됩니다. 만약 업로드된 파일이 실행되길 원한다면 0777로 변경하길 바랄 수도 있습니다.

기본값 : 0666

ftp_data_port

(잘못 이름지어진 connect_from_port_20 이 활성화되었기 때문에) PORT 스타일 연결이 시작된 포트.

기본값 : 20

idle_session_timeout

원격 클라이언트가 FTP 명령들 사이에서 소비할 수있는 최대 제한시간(초). 만약 타임아웃이 발생하면 원격 클라이언트는 쫓겨납니다.

기본값 : 300

listen_port

만약 vsftpd가 독립실행 모드라면, 이것은 들어오는 FTP 연결을 위한 수신 대기 포트입니다.

기본값 : 21

local_max_rate

로컬 인증 사용자에게 허용된 최대 데이터 전송 속도(byte/sec).

기본값 : 0 (무제한)

local_umask

로컬 사용자를 위해 설정된, 파일 생성을 위한 umask 값. 주의! 만약 당신이 8진수 값을 지정하고자 한다면 접두어 "0"을 기억하십시오. 그렇지 않으면 값은 10단위의 정수로 처리될 것입니다!

기본값 : 077

max_clients

만약 vsftpd가 독립실행 모드라면, 이것은 연결될 수 있는 최대 클라이언트 수입니다. 연결하는 추가 클라이언트는 누구라도 에러 메세지를 받을 것입니다.

기본값 : 0 (무제한)

max_login_fails

로그인 실패가 이만큼(설정한만큼) 많으면, 세션은 종료됩니다.

기본값 : 3

max_per_ip

만약 vsftpd가 독립실행 모드라면, 이것은 동일한 인터넷 주소 소스에서 연결될 수 있는 최대 클라이언트 수입니다. 만약 그들이 이 제한을 초과하면 클라이언트는 에러 메세지를 받을 것입니다.

기본값 : 0 (무제한)

pasv_max_port

PASV(패시브) 스타일 데이터 연결에 할당할 최대 포트입니다. 방화벽 기능을 지원하기 위해 좁은 포트 범위를 지정하는 데에 사용될 수 있습니다.

기본값 : 0 (모든 포트 사용)

pasv_min_port

PASV(패시브) 스타일 데이터 연결에 할당할 최소 포트입니다. 방화벽 기능을 지원하기 위해 좁은 포트 범위를 지정하는 데에 사용될 수 있습니다.

기본값 : 0 (모든 포트 사용)

trans_chunk_size

당신은 아마 이것을 바꾸고 싶지는 않을 것입니다. 하지만 훨씬 부드러운 대역폭 제한을 위해 8192 같은 것으로 설정해 보십시오.

기본값 : 0 (vsftpd가 합리적인 설정을 택하도록 함)




STRING(문자열) 옵션

다음은 문자열 옵션 목록입니다.

anon_root

이 옵션은 vsftpd가 익명(anonymous) 로그인 후에 변경하려고 하는 디렉토리를 보여줍니다. 실패시 조용히 못 본 척합니다.

기본값 : (none)

banned_email_file

이 옵션은 허용되지 않는 익명의 이메일 패스워드 목록이 들어있는 파일의 이름입니다. 이 파일은 deny_email_enable 옵션이 활성화 되었다면 참조됩니다.

기본값 : /etc/vsftpd.banned_emails

banner_file

이 옵션은 누군가가 서버에 연결할 때 표시할 텍스트가 들어있는 파일의 이름입니다. 만약 설정하면, ftpd_banner 옵션으로부터 제공받은 배너 문자열을 덮어씁니다.

기본값 : (none)

ca_certs_file

이 옵션은 클라이언트 인증서의 유효성을 검증하기 위해 인증기관의 인증서를 로드할 파일 이름입니다. 유감스럽게도 vsftpd의 제한된 파일시스템 공간(chroot) 사용 때문에, 기본 SSL 인증기관 인증서 경로가 사용되지 않습니다. (v2.0.6에 추가됨).

기본값 : (none)

chown_username

이것은 익명으로 업로드된 파일에 소유권이 부여된 사용자의 이름입니다. 이 옵션은 다른 옵션인 chown_uploads 가 설정된 경우에만 관련이 있습니다 .

기본값 : root

chroot_list_file

이 옵션은 홈 디렉토리의 chroot() 감옥에 위치할 로컬 사용자들의 목록이 들어있는 파일의 이름입니다. 이 옵션은 chroot_list_enable 이 활성화된 경우에만 관련이 있습니다. 만약 chroot_local_user 옵션이 활성화되면, 리스트 파일은 chroot() 감옥에 놓지 않을 사용자들의 목록이 됩니다.

기본값 : /etc/vsftpd.chroot_list

cmds_allowed

이 옵션은 허용된 FTP 명령을 쉼표로 구분해서 지정합니다(로그인 이후. USER, PASS 및 QUIT 와 기타는 로그인 전에 항상 허용됨). 다른 명령은 거부됩니다. 이것은 FTP 서버를 실제로 제재하는 강력한 방법입니다. 예 : cmds_allowed=PASV,RETR,QUIT

기본값 : (none)

cmds_denied

이 옵션은 거부된 FTP 명령을 쉼표로 구분해서 지정합니다(로그인 이후. USER, PASS 및 QUIT 와 기타는 로그인 전에 항상 허용됨). 만약 이것(cmds_denied)과 cmds_allowed 두 곳에 명령어가 보이면, 거부(denial)가 우선권을 갖습니다. (v2.1.0에 추가됨).

기본값 : (none)

deny_file

이 옵션은 파일명(및 디렉토리명 등)에 대한 패턴(어떤 방법으로도 접근할 수 없는)을 설정하는 데 사용할 수 있습니다. 영향을 받은 항목들은 숨겨지지 않지만, 그것들에게 행할 모든 것들(다운로드, 디렉토리 변경, 디렉토리 내의 것들에 영향을 미치기 등등)은 어떠한 시도든지간에 거부될 것입니다. 이 옵션은 매우 단순해서, 심각한 접근 제어에 사용되어서는 안 됩니다-파일시스템의 권한이 주로(기본설정으로) 사용되어야 합니다. 그러나 이 옵션은 특정한 가상 사용자 설정에서 유용할 수 있습니다. 특히 파일명에 다양한 이름으로 액세스할 수 있다면(아마도 심볼릭링크나 하드링크 때문일 것임), 모든 이름들에 대해 액세스를 거부하도록 주의해야 합니다. 항목에 대한 접근은 거부될 겁니다, 만약 그것들의 이름이 hide_file로부터 받은 문자열을 포함하거나, hide_file 에서 지정한 정규표현식과 일치(match)한다면. 알아두세요 : vsftpd의 정규표현식 매칭 코드는 간단한 구현인데, 그것은 전체 정규식 기능의 서브셋(하위 집합)입니다. 이 때문에 당신은 이 옵션의 모든 적용을 주의깊고 철저하게 테스트해야 합니다. 그리고 중요한 보안 정책에는 파일시스템 권한을 사용하는 것이 더 좋습니다(높은 신뢰성 때문). 지원되는 정규식 구문은 (any number of) *,? 와 중첩되지 않은 {,} 연산자입니다. 정규식 매칭(일치)은 경로의 마지막 구성요소에서만 지원됩니다(예 : a/b/? 는 지원되지만 a/?/c 는 지원되지 않음). 예 : deny_file={*.mp3,*.mov,.private}

기본값 : (none)

dsa_cert_file

이 옵션은 SSL 암호화 연결에 사용할 DSA 인증서의 위치를 ​​지정합니다.

기본값 : (none - RSA 인증서로 충분합니다.)

dsa_private_key_file

이 옵션은 SSL 암호화 연결에 사용할 DSA 개인 키의 위치를 ​​지정합니다. 만약 이 옵션을 설정하지 않으면, 개인 키가 인증서와 동일한 파일에 있어야 합니다.

기본값 : (none)

email_password_file

이 옵션은 secure_email_list_enable 설정으로 사용할 대체 파일을 제공하는 데에 사용될 수 있습니다.

기본값 : /etc/vsftpd.email_passwords

ftp_username

이것은 우리가 익명 FTP를 다루기 위해 사용하는 사용자 이름입니다. 이 사용자의 홈 디렉토리는 익명 FTP 영역의 root입니다.

기본값 : ftp

ftpd_banner

이 문자열 옵션은 연결이 처음 들어왔을 때 vsftpd에 의해 표시되는 인사말 배너를 당신이 덮어쓰도록(재정의하도록) 허용합니다. 

기본값 : (none - 기본 vsftpd 배너가 표시됩니다.)

guest_username

게스트 로그인 구성요소에 대한 설명은 boolean 설정의 guest_enable 을 참조하십시오. 이 설정은 게스트 사용자가 매핑된 실제 사용자명입니다.

기본값 : ftp

hide_file

이 옵션은 디렉토리 목록에서 숨겨져야 하는 파일명(과 디렉토리명 등등)에 대한 패턴을 설정하는 데 사용될 수 있습니다. 숨겨져 있음에도 불구하고, 파일/디렉토리 등은 실제로 사용할 이름을 알고 있는 클라이언트가 완전히 접근할 수 있습니다. 만약 그들의 이름이 hide_file 로부터 주어진 문자열을 포함하거나, hide_file 에서 지정된 정규표현식과 일치한다면 항목이 숨겨질 것입니다. 알아두세요 : vsftpd의 정규표현식 매칭 코드는 간단한 구현인데, 그것은 전체 정규식 기능의 서브셋(하위 집합)입니다. 정확히 어떤 정규식 구문이 지원되는지에 대한 자세한 사항은 deny_file 을 보세요. 예 : hide_file={*.mp3,.hidden,hide*,h?}

기본값 : (none)

listen_address

만약 vsftpd가 독립실행 모드라면, (모든 로컬 인터페이스의) 기본 수신 주소는 이 설정으로 덮어씌워질(재정의될) 수 있습니다. 숫자로 된 IP 주소를 입력하십시오.

기본값 : (none)

listen_address6

listen_address 와 비슷하지만, IPv6 수신기의 기본 수신 주소를 지정합니다(listen_ipv6이 설정된 경우에 사용됨). 형식은 표준 IPv6 주소 형식입니다.

기본값 : (none)

local_root

이 옵션은 vsftpd가 로컬(즉, 익명이 아닌) 로그인 후에 변경하려고 시도하는 디렉토리를 나타냅니다. 실패시 조용히 못 본 척합니다.

기본값 : (none)

message_file

이 옵션은 새 디렉토리가 입력될 때 찾는 파일명입니다. 내용은 원격 사용자에게 보입니다. 이 옵션은 dirmessage_enable 옵션이 활성화된 경우에만 관련이 있습니다 .

기본값 : .message

nopriv_user

이것은 vsftpd가 전적으로 권한이 없기를 원할 때 사용되는 사용자 이름입니다. 주의하세요 - 이 사용자는 아무(nobody)가 아니라 전용 사용자여야 합니다. nobody 유저는 대부분의 머신(컴퓨터)에서 중요한 것들을 꽤 많이 사용하는 경향이 있습니다.

기본값 : nobody

pam_service_name

이 문자열은 vsftpd가 사용할 PAM 서비스의 이름입니다.

기본값 : ftp

pasv_address

vsftpd가 PASV(패시브) 명령에 대한 응답으로 알려줄 IP주소를 재정의(override)하려면 이 옵션을 사용하십시오. pasv_addr_resolve 가 활성화되지 않았으면 숫자 IP 주소를 입력하십시오. 이 경우, 시작할 때 DNS로 확인된 hostname을 제공할 수 있습니다.

기본값 : (none - 들어오는 연결 소켓으로부터 주소를 가져옵니다)

rsa_cert_file

이 옵션은 SSL 암호화 연결에 사용할 RSA 인증서의 위치를 ​​지정합니다.

기본값 : /usr/share/ssl/certs/vsftpd.pem

rsa_private_key_file

이 옵션은 SSL 암호화 연결에 사용할 RSA 개인키의 위치를 ​​지정합니다. 만약 이 옵션을 설정하지 않으면, 개인키가 인증서와 동일한 파일에 있는 것으로 예상됩니다("개인키는 인증서와 동일한 파일에 있어야 합니다."로도 해석 가능).

기본값 : (none)

secure_chroot_dir

이 옵션은 빈 디렉토리의 이름이어야 합니다. 또한 그 디렉토리는 ftp 사용자가 쓸 수 없어야 합니다. 이 디렉토리는 때때로 vsftpd가 파일시스템 접근을 요구하지 않을 때 보안 chroot() 감옥으로 사용됩니다.

기본값 : /usr/share/empty

ssl_ciphers

이 옵션은 vsftpd가 암호화된 SSL 연결을 허용할 SSL 암호(ciphers)를 선택하는 데 사용될 수 있습니다. 더 자세한 내용은 ciphers 매뉴얼 페이지를 참조하십시오. 암호를 제한하는 것은 악의적인 remote parties가 문제를 발견한 암호를 강제하는 것을 막기 때문에 유용한 보안 예방책이 될 수 있음을 유의하세요.

기본값 : DES-CBC3-SHA

user_config_dir

이 강력한 옵션은 매뉴얼 페이지에 명시된 어떤 환경설정 옵션이든 재정의(덮어쓰기)를 허용합니다, 사용자별로. 사용법은 간단하며, 사례로 가장 잘 묘사됩니다. 만약 당신이 user_config_dir/etc/vsftpd_user_conf 가 되도록 설정하고 "chris" 사용자로 로그온하면, vsftpd는 세션이 유지되는 동안 /etc/vsftpd_user_conf/chris 파일에 설정을 적용할 것입니다. 이 파일의 형식은 이 매뉴얼 페이지에 자세히 설명되어 있습니다! 모든 설정이 사용자별로 적용되는 것은 아님을 유의하세요. 예를 들어, 많은 설정들은 사용자 세션 전에만 실행됩니다. 사용자별 행동에 영향을 미치지 않는 설정의 예로는 listen_address, banner_file, max_per_ip, max_clients, xferlog_file 등이 있습니다.

기본값 : (none)

user_sub_token

이 옵션은 가상 사용자와 결합하면 유용합니다. 템플릿을 기반으로, 각각의 가상 사용자에 대한 홈 디렉토리를 자동으로 생성하는 데 사용됩니다. 예를 들어 guest_username 을 통해 지정된 실제 사용자의 홈 디렉토리가 /home/virtual/$USER 이고 user_sub_token$USER 로 설정되었다면, 가상 사용자 fred가 로그인할 때 그는 결국 (일반적으로 chroot() 된) /home/virtual/fred 디렉토리에 있게 될 것입니다. 이 옵션은 local_root 이 user_sub_token 을 포함할 경우에도 영향을 받습니다.

기본값 : (none)

userlist_file

이 옵션은 userlist_enable 옵션이 활성화되었을 때 로드된 파일명입니다 .

기본값 : /etc/vsftpd.user_list

vsftpd_log_file

이 옵션은 vsftpd 스타일 로그 파일을 쓸 파일의 이름입니다. 이 로그는 xferlog_enable 옵션이 설정되고 xferlog_std_format 이 설정되지 않은 경우에만 기록됩니다. 또는, 당신이 이미 dual_log_enable 옵션을 설정했으면 기록됩니다. 추가 문제점 하나 - 만약 당신이 syslog_enable 을 설정했으면, 이 파일은 기록되지 않고 대신에 출력물이 시스템 로그로 전송됩니다.

기본값 : /var/log/vsftpd.log

xferlog_file

이 옵션은 wu-ftpd 스타일 전송 로그를 쓸 파일의 이름입니다. 전송 로그는 xferlog_std_format 과 함께 xferlog_enable 옵션이 설정된 경우에만 기록됩니다. 또는, dual_log_enable 옵션을 설정했으면 기록됩니다 .

기본값 : /var/log/xferlog

반응형