Linux에 FTP 서버를 설치하고 설정하는 과정은 다음과 같습니다. 일반적으로 vsftpd
(Very Secure FTP Daemon)가 Ubuntu/CentOS에서 많이 사용됩니다. 아래 단계에 따라 FTP 서버를 설치하고 설정할 수 있습니다.
1. vsftpd 설치
먼저, vsftpd
패키지를 설치합니다.
Ubuntu 사용의 경우
sudo apt update
sudo apt install vsftpd -y
CentOS 사용의 경우
sudo yum install -y vsftpd
2. vsftpd 설정
설치가 완료되면 /etc/vsftpd/vsftpd.conf
파일을 열어 FTP 서버 설정을 변경할 수 있습니다. 주요 설정 옵션은 다음과 같습니다.
설정 파일을 수정하여 FTP 서버를 설정합니다.
sudo nano /etc/vsftpd.conf
기본 설정
아래 설정을 찾아서 변경하거나 추가합니다:
- 익명 사용자 비활성화: FTP 서버의 익명 액세스를 비활성화하려면 아래 설정을 확인합니다.
anonymous_enable=NO
- 로컬 사용자 접근 허용:
local_enable=YES
- 파일 업로드 허용:
write_enable=YES
- chroot 설정: 사용자가 자신의 홈 디렉터리만 접근할 수 있도록 설정합니다.
chroot_local_user=YES
- Passive 모드 포트 범위:
Passive 모드를 사용할 경우 포트 범위를 설정합니다.
pasv_min_port=10000
pasv_max_port=10100
사용자별 접근 설정
user_sub_token
설정을 통해 사용자가 자신의 홈 디렉터리로 접속하도록 설정할 수 있습니다. 예를 들어, 다음과 같이 설정합니다:
user_sub_token=$USER
local_root=/home/$USER/ftp
파일을 저장하고 nano
를 종료합니다 (Ctrl + X
→ Y
→ Enter
).
3. FTP 사용자 계정 생성
FTP에 접속할 사용자 계정을 생성합니다. 아래 명령어로 새로운 사용자를 추가할 수 있습니다.
sudo adduser ftpuser
sudo passwd ftpuser
여기서 ftpuser
는 새로 생성할 사용자 이름입니다. 비밀번호와 기타 정보를 설정합니다.
4. 홈 디렉터리 권한 설정
사용자의 FTP 홈 디렉터리 권한을 설정합니다.
sudo mkdir -p /home/ftpuser/ftp/upload
sudo chown nobody:nogroup /home/ftpuser/ftp
sudo chmod a-w /home/ftpuser/ftp
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/upload
위 설정은 ftp
폴더는 읽기 전용으로, upload
폴더는 업로드 권한을 부여합니다.
5. vsftpd 서비스 재시작
설정을 반영하기 위해 vsftpd
서비스를 재시작합니다.
sudo systemctl restart vsftpd
sudo systemctl enable vsftpd
6. 방화벽 설정 (필요한 경우)
방화벽이 활성화된 경우 FTP 포트를 열어야 합니다. 기본적으로 21번 포트를 사용합니다.
ufw 사용할 경우
sudo ufw allow 21/tcp
sudo ufw allow 10000:10100/tcp # Passive 모드 포트 범위
sudo ufw reload
Firewalld 사용 시
FTP 포트(기본 21번 포트)를 열어야 합니다.
sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --reload
7. FTP 서버 테스트
FTP 클라이언트를 사용하여 서버에 접속해봅니다.
ftp localhost
설정이 제대로 완료되었다면, 지정한 사용자 이름과 비밀번호로 접속할 수 있습니다.
'Linux Unix > Command' 카테고리의 다른 글
[ Linux ] nmap - 호스트 및 서비스 탐지하기, 포트 확인하기 (0) | 2024.11.01 |
---|---|
[ Linux ] systemctl - service 목록 보기 (0) | 2024.10.31 |
[ Linux ] cp - 파일 복사하기 (0) | 2024.10.21 |
[ Linux ] tail - 파일 뒷부분 내용 보기 (0) | 2024.10.21 |
[ Linux ] more - 한 화면씩 데이터 내용 보기 (0) | 2024.10.21 |