vsftpd 는 현재 사용자 계정에 접속할 수 있도록 해주는 유용한 ftp server 이다.
각종 옵션이 있지만 대충 설정해주고
service vsftpd start 해준다.
vsftpd 를 실행후에도 설정해준 계정으로 접근을 할 수 없을 때 SELinux 때문인듯..
[root@serahero vsftpd]# setsebool -P allow_ftpd_full_access=1
[root@serahero vsftpd]# setsebool -P ftp_home_dir=1
을 통해 폴더의 접근을 가능하도록 해줘야 겠다.
Very Secure FTP Daemon Configuration 이라는 GUI 툴도 존재한다. ㅋ..
각종 옵션이 있지만 대충 설정해주고
more..
vsftpd 환경 설정 파일
# vi /etc/vsftpd/vsftpd.conf
1 # Example config file /etc/vsftpd/vsftpd.conf
2 #
3 # The default compiled in settings are fairly paranoid. This sample file
4 # loosens things up a bit, to make the ftp daemon more usable.
5 # Please see vsftpd.conf.5 for all compiled in defaults.
6 #
7 # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
8 # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
9 # capabilities.
10 #
11 # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
12
13 anonymous_enable=YES - 익명 사용자의 접속을 가능하게 설정한다.
14 #anonymous_enable=NO
15
16 #
17 # Uncomment this to allow local users to log in.
18 local_enable=YES - 로컬 사용자의 접속을 가능하게 설정한다.
19 #local_enable=NO
20 #
21 # Uncomment this to enable any form of FTP write command.
22 write_enable=YES - 로컬 사용자의 쓰기 기능을 가능하게 설정한다.
23 #
24 # Default umask for local users is 077. You may wish to change this to 022,
25 # if your users expect that (022 is used by most other ftpd's)
26 local_umask=022 - 로컬 사용자의 파일 생성시 적용될 umask 값을 설정한다.
27 #
28 # Uncomment this to allow the anonymous FTP user to upload files. This only
29 # has an effect if the above global write enable is activated. Also, you will
30 # obviously need to create a directory writable by the FTP user.
31 #anon_upload_enable=YES - 익명 사용자의 파일 업로드를 가능하게 설정한다.
32
33 anon_upload_enable=YES
34
35 #
36 # Uncomment this if you want the anonymous FTP user to be able to create
37 # new directories.
38 #anon_mkdir_write_enable=YES - 익명 사죵자의 디렉토리 생성을 가능하게 설정한다.
39
40 anon_mkdir_write_enable=YES
41
42 #
43 # Activate directory messages - messages given to remote users when they
44 # go into a certain directory.
45 dirmessage_enable=YES - 특정 폴더에 접속시 .message 파일의 메시지를 보여줄 것인지를 지정하는 설정이다.
46 #
47 # Activate logging of uploads/downloads.
48 xferlog_enable=YES - 업로드/다운로드 로그를 xferlog 에 기록하겠다는 설정이다.
49 #
50 # Make sure PORT transfer connections originate from port 20 (ftp-data).
51 connect_from_port_20=YES - ftp 데이터 전송시 20번 포트 사용을 설정한다.
52 #
53 # If you want, you can arrange for uploaded anonymous files to be owned by
54 # a different user. Note! Using "root" for uploaded files is not
55 # recommended!
56 #chown_uploads=YES - 익명 사용자가 업로드한 파일의 소유권을 변경할 때 설정한다.
57 #chown_username=whoever - chown_uploads=YES일 경우 지정한 사용자 이름으로 익명 사용자가 업로드한 파일의 소유자가 지정된다.
58 #
59 # You may override where the log file goes if you like. The default is shown
60 # below.
61 #xferlog_file=/var/log/vsftpd.log - 업로드/다운로드 로그파일을 지정한다.
62 #
63 # If you want, you can have your log file in standard ftpd xferlog format
64 xferlog_std_format=YES - xferlog를 표준 로그포맷으로 기록한다.
65 #
66 # You may change the default value for timing out an idle session.
67 #idle_session_timeout=600 - ftp접속의 타임아웃시간을 지정한다. (단위 : sec)
68 #
69 # You may change the default value for timing out a data connection.
70 #data_connection_timeout=120 - 데이터 전송의 타임아웃시간을 지정한다. (단위 : sec)
71 #
72 # It is recommended that you define on your system a unique user which the
73 # ftp server can use as a totally isolated and unprivileged user.
74 #nopriv_user=ftpsecure - vsftpd 데몬을 루트가 아닌 시스템에 존재하는 일반 사용자의 비특권권한으로 동작시킨다.
75 #
76 # Enable this and the server will recognise asynchronous ABOR requests. Not
77 # recommended for security (the code is non-trivial). Not enabling it,
78 # however, may confuse older FTP clients.
79 #async_abor_enable=YES - async_abor_enables 기능을 사용하겠다는 설정이다.
80 #
81 # By default the server will pretend to allow ASCII mode but in fact ignore
82 # the request. Turn on the below options to have the server actually do ASCII
83 # mangling on files when in ASCII mode.
84 # Beware that on some FTP servers, ASCII support allows a denial of service
85 # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
86 # predicted this attack and has always been safe, reporting the size of the
87 # raw file.
88 # ASCII mangling is a horrible feature of the protocol.
89 #ascii_upload_enable=YES - ASCII 모드로 업로드를 허락하겠다는 설정이다.
90 #ascii_download_enable=YES -ASCII 모드로 다운로드를 허락하겠다는 설정이다.
91 #
92 # You may fully customise the login banner string:
93 #ftpd_banner=Welcome to blah FTP service. - ftp 서버 접속시 안내메세지를 출력한다.
94 #
95 # You may specify a file of disallowed anonymous e-mail addresses. Apparently
96 # useful for combatting certain DoS attacks.
97 #deny_email_enable=YES - 익명사용자 접속시 패스워드를 e-mail 형식으로 받겠다는 설정이다.
98 # (default follows)
99 #banned_email_file=/etc/vsftpd/banned_emails - 허용하지 않을 e-mail 주소를 파일에 넣어두면 접속이 안된다. (banned_emails파일 생성시)
100 #
101 # You may specify an explicit list of local users to chroot() to their home
102 # directory. If chroot_local_user is YES, then this list becomes a list of
103 # users to NOT chroot().
104
105 chroot_local_user=YES - 전체 사용자가 chroot 기능을 사용하도록 설정한다.
106
107 #chroot_list_enable=YES - chroot_list에 등록된 사용자만 chroot 기능을 사용하도록 설정한다.
108 # (default follows)
109 #chroot_list_file=/etc/vsftpd/chroot_list - chroot 기능을 사용할 사용자 리스트 파일을 지정한다.
110 #
111 # You may activate the "-R" option to the builtin ls. This is disabled by
112 # default to avoid remote users being able to cause excessive I/O on large
113 # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
114 # the presence of the "-R" option, so there is a strong case for enabling it.
115 #ls_recurse_enable=YES - ls -R(서브디렉토리 파일 목록 출력) 명령 사용여부를 설정한다.
116 #
117 # When "listen" directive is enabled, vsftpd runs in standalone mode and
118 # listens on IPv4 sockets. This directive cannot be used in conjunction
119 # with the listen_ipv6 directive.
120 listen=YES - 단독 데몬일 경우 listen 을 YES로 지정한다.
121 # listen=NO - xinetd 로 설정할 경우 NO로 지정한다.
122 #
123 # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
124 # sockets, you must run two copies of vsftpd whith two configuration files.
125 # Make sure, that one of the listen options is commented !!
126 #listen_ipv6=YES
127
128 pam_service_name=vsftpd - pam 사용자 인증 설정
129 userlist_enable=YES - userlist 사용을 허가하겠다는 설정이다.
130 # userlist_deny=NO - userlist 에 등록된 사용자만 허가하겠다는 설정이다.
131 tcp_wrappers=YES - tcp_wrappers 기능을 사용하겠다는 설정이다. (host, ip 차단)
# vi /etc/vsftpd/vsftpd.conf
1 # Example config file /etc/vsftpd/vsftpd.conf
2 #
3 # The default compiled in settings are fairly paranoid. This sample file
4 # loosens things up a bit, to make the ftp daemon more usable.
5 # Please see vsftpd.conf.5 for all compiled in defaults.
6 #
7 # READ THIS: This example file is NOT an exhaustive list of vsftpd options.
8 # Please read the vsftpd.conf.5 manual page to get a full idea of vsftpd's
9 # capabilities.
10 #
11 # Allow anonymous FTP? (Beware - allowed by default if you comment this out).
12
13 anonymous_enable=YES - 익명 사용자의 접속을 가능하게 설정한다.
14 #anonymous_enable=NO
15
16 #
17 # Uncomment this to allow local users to log in.
18 local_enable=YES - 로컬 사용자의 접속을 가능하게 설정한다.
19 #local_enable=NO
20 #
21 # Uncomment this to enable any form of FTP write command.
22 write_enable=YES - 로컬 사용자의 쓰기 기능을 가능하게 설정한다.
23 #
24 # Default umask for local users is 077. You may wish to change this to 022,
25 # if your users expect that (022 is used by most other ftpd's)
26 local_umask=022 - 로컬 사용자의 파일 생성시 적용될 umask 값을 설정한다.
27 #
28 # Uncomment this to allow the anonymous FTP user to upload files. This only
29 # has an effect if the above global write enable is activated. Also, you will
30 # obviously need to create a directory writable by the FTP user.
31 #anon_upload_enable=YES - 익명 사용자의 파일 업로드를 가능하게 설정한다.
32
33 anon_upload_enable=YES
34
35 #
36 # Uncomment this if you want the anonymous FTP user to be able to create
37 # new directories.
38 #anon_mkdir_write_enable=YES - 익명 사죵자의 디렉토리 생성을 가능하게 설정한다.
39
40 anon_mkdir_write_enable=YES
41
42 #
43 # Activate directory messages - messages given to remote users when they
44 # go into a certain directory.
45 dirmessage_enable=YES - 특정 폴더에 접속시 .message 파일의 메시지를 보여줄 것인지를 지정하는 설정이다.
46 #
47 # Activate logging of uploads/downloads.
48 xferlog_enable=YES - 업로드/다운로드 로그를 xferlog 에 기록하겠다는 설정이다.
49 #
50 # Make sure PORT transfer connections originate from port 20 (ftp-data).
51 connect_from_port_20=YES - ftp 데이터 전송시 20번 포트 사용을 설정한다.
52 #
53 # If you want, you can arrange for uploaded anonymous files to be owned by
54 # a different user. Note! Using "root" for uploaded files is not
55 # recommended!
56 #chown_uploads=YES - 익명 사용자가 업로드한 파일의 소유권을 변경할 때 설정한다.
57 #chown_username=whoever - chown_uploads=YES일 경우 지정한 사용자 이름으로 익명 사용자가 업로드한 파일의 소유자가 지정된다.
58 #
59 # You may override where the log file goes if you like. The default is shown
60 # below.
61 #xferlog_file=/var/log/vsftpd.log - 업로드/다운로드 로그파일을 지정한다.
62 #
63 # If you want, you can have your log file in standard ftpd xferlog format
64 xferlog_std_format=YES - xferlog를 표준 로그포맷으로 기록한다.
65 #
66 # You may change the default value for timing out an idle session.
67 #idle_session_timeout=600 - ftp접속의 타임아웃시간을 지정한다. (단위 : sec)
68 #
69 # You may change the default value for timing out a data connection.
70 #data_connection_timeout=120 - 데이터 전송의 타임아웃시간을 지정한다. (단위 : sec)
71 #
72 # It is recommended that you define on your system a unique user which the
73 # ftp server can use as a totally isolated and unprivileged user.
74 #nopriv_user=ftpsecure - vsftpd 데몬을 루트가 아닌 시스템에 존재하는 일반 사용자의 비특권권한으로 동작시킨다.
75 #
76 # Enable this and the server will recognise asynchronous ABOR requests. Not
77 # recommended for security (the code is non-trivial). Not enabling it,
78 # however, may confuse older FTP clients.
79 #async_abor_enable=YES - async_abor_enables 기능을 사용하겠다는 설정이다.
80 #
81 # By default the server will pretend to allow ASCII mode but in fact ignore
82 # the request. Turn on the below options to have the server actually do ASCII
83 # mangling on files when in ASCII mode.
84 # Beware that on some FTP servers, ASCII support allows a denial of service
85 # attack (DoS) via the command "SIZE /big/file" in ASCII mode. vsftpd
86 # predicted this attack and has always been safe, reporting the size of the
87 # raw file.
88 # ASCII mangling is a horrible feature of the protocol.
89 #ascii_upload_enable=YES - ASCII 모드로 업로드를 허락하겠다는 설정이다.
90 #ascii_download_enable=YES -ASCII 모드로 다운로드를 허락하겠다는 설정이다.
91 #
92 # You may fully customise the login banner string:
93 #ftpd_banner=Welcome to blah FTP service. - ftp 서버 접속시 안내메세지를 출력한다.
94 #
95 # You may specify a file of disallowed anonymous e-mail addresses. Apparently
96 # useful for combatting certain DoS attacks.
97 #deny_email_enable=YES - 익명사용자 접속시 패스워드를 e-mail 형식으로 받겠다는 설정이다.
98 # (default follows)
99 #banned_email_file=/etc/vsftpd/banned_emails - 허용하지 않을 e-mail 주소를 파일에 넣어두면 접속이 안된다. (banned_emails파일 생성시)
100 #
101 # You may specify an explicit list of local users to chroot() to their home
102 # directory. If chroot_local_user is YES, then this list becomes a list of
103 # users to NOT chroot().
104
105 chroot_local_user=YES - 전체 사용자가 chroot 기능을 사용하도록 설정한다.
106
107 #chroot_list_enable=YES - chroot_list에 등록된 사용자만 chroot 기능을 사용하도록 설정한다.
108 # (default follows)
109 #chroot_list_file=/etc/vsftpd/chroot_list - chroot 기능을 사용할 사용자 리스트 파일을 지정한다.
110 #
111 # You may activate the "-R" option to the builtin ls. This is disabled by
112 # default to avoid remote users being able to cause excessive I/O on large
113 # sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
114 # the presence of the "-R" option, so there is a strong case for enabling it.
115 #ls_recurse_enable=YES - ls -R(서브디렉토리 파일 목록 출력) 명령 사용여부를 설정한다.
116 #
117 # When "listen" directive is enabled, vsftpd runs in standalone mode and
118 # listens on IPv4 sockets. This directive cannot be used in conjunction
119 # with the listen_ipv6 directive.
120 listen=YES - 단독 데몬일 경우 listen 을 YES로 지정한다.
121 # listen=NO - xinetd 로 설정할 경우 NO로 지정한다.
122 #
123 # This directive enables listening on IPv6 sockets. To listen on IPv4 and IPv6
124 # sockets, you must run two copies of vsftpd whith two configuration files.
125 # Make sure, that one of the listen options is commented !!
126 #listen_ipv6=YES
127
128 pam_service_name=vsftpd - pam 사용자 인증 설정
129 userlist_enable=YES - userlist 사용을 허가하겠다는 설정이다.
130 # userlist_deny=NO - userlist 에 등록된 사용자만 허가하겠다는 설정이다.
131 tcp_wrappers=YES - tcp_wrappers 기능을 사용하겠다는 설정이다. (host, ip 차단)
service vsftpd start 해준다.
vsftpd 를 실행후에도 설정해준 계정으로 접근을 할 수 없을 때 SELinux 때문인듯..
[root@serahero vsftpd]# setsebool -P allow_ftpd_full_access=1
[root@serahero vsftpd]# setsebool -P ftp_home_dir=1
을 통해 폴더의 접근을 가능하도록 해줘야 겠다.
Very Secure FTP Daemon Configuration 이라는 GUI 툴도 존재한다. ㅋ..
Tag | vsftpd