📝 FTP 개요
- FTP(File Transfer Protocol)는 파일을 전송하기 위한 서비스이다.
- 웹에서 FTP의 고유 기능인 파일 전송을 편리하게 할 수 있게 되어 예전보다 자주 사용하지는 않는다.
- 파일 전송자체를 위해서는 뛰어난 성능을 보여준다.
- CentOS에서는 vsftpd를 제공한다.
- vsftpd(Very Secure FTPD)는 CentOS에서 기본적으로 제공되며, 리눅스와 유닉스 환경에서 보안성고 성능이 우수한 FTP 서버로 인정받고 있다.
- 추가로, 외부에서 제공하는 pure-ftpd도 많이 사용된다.
📝 FTP 설치 및 운용
- 서버에 vsftpd를 설치한 뒤, 파일 업로드 및 설정법을 알아보자.
📜 패키지 설치
- 아래 명령어를 통해 vsftpd를 설치한다.
# dnf -y install vsftpd
📜 vsftpd 설정
- 이후 vsftpd의 홈 디렉터리인
/var/ftp
로 이동하여 폴더를 확인해본다.
- 일반적으로는 위와 같이
pub
폴더가 생성되어 있으며, 해당 폴더에 파일을 업로드하여 배포하는 방식을 주로 사용한다. - 만약 위 폴더가 없다면 따로 만들어 사용하는 것을 권장한다.
- 이후 해당 폴더로 이동하여 적당한 파일을 하나 복사해주었다.
- 다음으로 vsftpd 서비스를 시작시킨다.
# systemctl restart vsftpd
# systemctl enable vsftpd
- 다음으로 외부 접속을 허용하기 위해 방화벽 기능을 잠시 중단시켰다.
# systemctl stop firewalld
- 일반적으로 FTP는 파일 배포용으로 사용하기 때문에 따로 사용자 계정 없이 익명으로도 누구나 접근이 가능하도록 하기 위해 파일 수정을 통해 익명 사용자를 허용시켜주겠다.
- 이를 위해
/etc/vsftpd/vsftpd.conf
파일을 열어 12행의 내용을 아래와 같이 수정해준다.
anonymous_enable=YES
- 설정이 변경되었으니 이를 적용시키기 위해 서비스를 재시작한다.
# systemctl restart vsftpd
📄 vsftpd.conf 옵션
anonymous_enable
: anonymous(익명) 사용자의 접속을 허가할 것인지를 설정local_enable
: 로컬 사용자의 접속 허가 여부를 설정write_enable
: 로컬 사용자가 저장, 삭제, 디렉터리 생성 등의 명령을 실행하게 할 것인지를 설정(익명 사용자는 해당 없음)anon_upload_enable
: 익명 사용자의 파일 업로드 허가 여부를 설정anon_mkdir_write_enable
: 익명 사용자의 디렉터리 생성 허가 여부를 설정dirlist_enable
: 접속한 디렉터리의 파일 리스트를 보여줄지 설정download_enable
: 다운로드의 허가 여부를 설정listen_port
: FTP 서비스의 포트 번호를 설정(기본: 21번)
📜 FTP 클라이언트
- 이후 클라이언트 PC에 FTP 클라이언트 프로그램을 설치한 후 서버와 연결하면 아래와 같이 pub 폴더가 보이며, 폴더를 열어보면 위에서 저장했던 파일이 보이는 것을 확인할 수 있다.
- 즉, 왼쪽은 클라이언트, 오른쪽은 서버의 저장소이며 단순히 드래그만으로도 서버의 파일을 가져오거나 서버에 파일을 업로드 할 수 있는 것이다.
- 다만 서버쪽에서 설정을 따로 수정하지 않으면 업로드에는 제한이 걸린다.
- 그도 그럴것이 클라이언트에서 서버쪽으로 파일을 업로드한다는 것이 보안상으로는 좋게 볼 수는 없을 것이다.
- 그럼에도 불구하고 이를 허용하겠다고 한다면
vsftpd.conf
파일의 29행과 33행의 주석을 해제해주면 된다.
anon_upload_enable=YES
anon_mkdir_write_enable=YES
- 추가로 pub 폴더의 소유자를 ftp 사용자로 변경해준다.
# chown ftp.ftp pub
- 설정을 변경했다면 서비스를 다시 시작해주자.
- 클라이언트 연결 또한 끊고 다시 연결해야 한다.
'🐧 Linux > 이것이 리눅스다(CentOS 8)' 카테고리의 다른 글
[이것이 리눅스다(CentOS 8)] 15장. Samba 서버 설치와 운영 (0) | 2023.04.06 |
---|---|
[이것이 리눅스다(CentOS 8)] 14장. NFS 서버 설치와 운영 (0) | 2023.04.05 |
[이것이 리눅스다(CentOS 8)] 12장. 웹 서버 설치와 운영 (0) | 2023.04.05 |
[이것이 리눅스다(CentOS 8)] 10장. 메일 서버 설치와 운영 (0) | 2023.04.03 |
[이것이 리눅스다(CentOS 8)] 09장. 네임 서버 설치와 운영 (0) | 2023.04.03 |