rocky linux 9 버전에서 ftp 구성 및 설정에 대해 알아보겠습니다.
1. 설치 확인
# rpm -qa|grep vsftpd
2. vsftpd 설치
# dnf install vsftpd
3. 설치 재 확인
# rpm -qa|grep vsftpd
4. ftp 서비스 상태확인
# systemctl status vsftpd
5. 서비스 실행 및 적용
# systemctl start vsftpd
# systemctl enable vsftpd
6. 서비스 상태확인
# systemctl status vsftpd
7. 계정 생성 및 패스워드 설정
# adduser
# passwd
8. 방화벽 설정
# firewall-cmd –add-service=ftp –permanent –zone=public
# firewall-cmd –reload
9. FileZilla 를 통한 테스트
anonymous_enable=NO | 익명 사용자로 FTP 허용 여부 설정 보안에 취약하니 NO 로 변경 |
local_enable=YES | Local 계정으로 FTP 허용 여부 설정 Local 계정 = /etc/passwd 에 존재하는 사용자 |
write_enable=YES | Local 계정이 FTP 를 이용해 쓰기(업로드) 가능 여부 설정 |
local_umask=022 | Local 계정으로 파일 업로드 시 만들어진 파일의 허가권을 의미합니다. local_umask는 FTP에서 파일 생성/업로드시 기본 권한을 설정하는 Mask입니다. 예를 들어, 이 값이 022일 때 적용 규칙은 다음과 같습니다. 폴더 : 777 – 022 = 755 파일 : 666 – 022 = 644 |
anon_upload_enable=YES | 익명 계정으로 업로드 허용 여부 write_enable=YES 로 설정되어 있어야 한다 |
anon_mkdir_write_enable=YES | 익명 계정으로 디렉터리 생성 할 수 있는 권한 부여여부 |
dirmessage_enable=YES | 디렉터리 이동 시 메세지 파일 생성을 허용 여부 설정 |
xferlog_enable=YES | 파일 전송 시 발생하는 로그 정보를 기록할지 여부 설정 |
connect_from_port_20=YES | 연결할 포트 설정(20번 – 전송포트) |
chown_uploads=YES | 익명 사용자의 업로드 된 파일의 소유권자를 변경할지 여부 anon_upload_enable=YES 27번이 허용되어 있어야 한다. |
chown_username=whoever | 위의 내용 중 소유권자를 변경한다면 누구로 변경할 지 설정 |
xferlog_file=/var/log/xferlog | 로그 정보를 기록할 파일의 위치 설정 |
xferlog_std_format=YES | 로그 정보 기록을 xferlog 로 할 지 vsftpd 로 할지 설정 (YES=xferlog , NO = vsftpd) |
idle_session_timeout=600 | 사용자가 FTP 접속 후 600초 동안 아무런 작업을 하지 않는다면 자동접속종료 설정 |
data_connection_timeout=120 | FTP 서버로 부터 데이터 전송이 끝난 후 다음 전송이 없을 시 접속 끊는 시간(단위 초) |
ftpd_banner=Welcome to blah FTP service. | FTP 접속 시 사용자에게 보이는 배너 설정 |
chroot_local_user=YES | Local 계정으로 접속 시 다른 디렉토리로 이동 허용 여부 설정 YES = 모든 local 계정 다른 디렉토리 이동 불가 NO = 모든 local 계정 다른 디렉토리 이동 가능 |
chroot_list_enable=YES | 100 번의 설정이 YES 라면 모든 local 계정이 디렉터리를 이동할 수 없다. 이 중에서 제외 시킬 사용자 목록을 만들지 여부의 설정 |
chroot_list_file=/etc/vsftpd/chroot_list | chroot_list_enable 설정을 YES 로 한 경우 사용자 목록을 만들 파일과 경로. 만들어져 있지 않기 때문에 직접 관리자가 파일을 만들어 줘야 한다. |
userlist_enable=YES | 접근을 거부할 계정의 목록을 사용할지 묻는 설정 |
userlist_deny=YES | userlist_enable 사용시 YES = 거부자 목록 생성 NO = 허용자 목록 생성 |
userlist_file=/etc/vsftpd/user_list | 해당 목록을 적용시킬 파일 및 파일 경로 설정 |