IT/리눅스

[Linux] ftp 설치 방법 (vsftpd)

몬스터r 2023. 1. 12. 20:32

[Linux] ftp 설치 방법 (vsftpd)

 

오늘은 시스템 간 파일 전송에 도움을 주는 ftp를 사용해보도록 하자.

ftp는 File transfer protocol의 준말로, 말 그대로 파일 전송에 도움을 주는 프로토콜이다.

 

바로 한 번 설치 해보자.

 

 

설치 방법

먼저 yum 명령어를 사용하여 ftp를 설치한다. 데몬 이름은 'vsftpd'이다.

# yum install -y vsftpd

 

설치 후 데몬 상태를 확인하면 다음과 같다.

[2023-01-12 01:47:17 ~]
[root@haechan ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

 

이 상태에서 바로 데몬을 start 하지 않고 설정 파일부터 수정해줘야 한다.

# vim /etc/vsftpd/vsftpd.conf

 

파일을 열어보면 다음과 같이 나온다.

 

위 사진과 같은 형태로 나오는데, 우리가 사용 할 설정 값은 다음과 같다.

 

anonymous_enable=NO
# 익명 계정 허가 유무 지정

chroot_lsit_enable=YES
# 지정 사용자의 홈 디렉토리를 최상위 디렉토리로 지정

chroot_lsit_file=/etc/vsftpd/chroot_list
# chroot_list_enable을 적용할 사용자 리스트를 기재하는 파일 설정

listen=YES
# ipv4 사용 시 반드시 YES

listen_ipv6=YES
# ipv6 사용 시 반드시 YES

 

listen이 제대로 설정되어 있지 않다면 vsftpd 실행 시 failed 상태로 되기 때문에 제대로 확인해야 한다.

 

다음은 chroot_list 파일을 만들어서 위에서 설정한 chroot를 사용할 사용자를 지정한다.

cat /etc/vsftpd/chroot_list
root

 

하지만 root의 경우에는 접속 거부 리스트에 속해있기 때문에 다음 파일에서 주석처리(#) 혹은 지워줘야 한다.

[2023-01-12 03:29:21 /etc/vsftpd]
[root@haechan vsftpd]# grep root user_list ftpusers
user_list:#root
ftpusers:#root

 

위 과정들이 전부 끝나면 enable 후 start 해주면 된다.

[root@haechan vsftpd]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.

[root@haechan vsftpd]# systemctl start vsftpd

[root@haechan vsftpd]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2023-01-12 03:31:00 PST; 3s ago
  Process: 2414 ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/SUCCESS)
 Main PID: 2415 (vsftpd)
    Tasks: 1
   CGroup: /system.slice/vsftpd.service
           └─2415 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Jan 12 03:31:00 haechan.test systemd[1]: Starting Vsftpd ftp daemon...
Jan 12 03:31:00 haechan.test systemd[1]: Started Vsftpd ftp daemon.