CentOS7 vsftpd 설치

참고 A. [VMware] CentOS 7 설치 및 기본셋팅 (64bit)

1. centos를 설치 후 yum으로 전체 시스템을 update한다.
# yum update -y

2. vsftpd가 설치되어 있는지 확인한다.
# yum list installed vsftpd

3. vsftpd가 설치되어 있지 않으면 vsftpd를 설치한다.
# yum install vsftpd -y

4. yum으로 vsftpd 업데이트
# yum update vsftpd

5. /etc/vsftpd/vsftpd.conf 파일 수정

# 로컬계정 사용자의 접속허용여부
local_enable=YES

# 쓰기(upload) 허용여부
write_enable=YES
local_umask=022
dirmessage_enable=YES

# 파일전송 결과 로깅 여부
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

6. systemctl 명령어로 vsftpd를 시작/중지/상태확인한다.
# systemctl status vsftpd.service <– vsftpd 상태확인
# systemctl start vsftpd.service <– vsftpd 시작
# systemctl stop vsftpd.service <– vsftpd 중지
# systemctl restart vsftpd.service <– vsftpd 재시작

7. yum으로 ftp client설치
# yum install ftp -y

8. vsftpd 자동실행
# systemctl enable vsftpd.service

** 에러처리
A. # systemctl restart vsftpd.service 명령어로 vsftpd서버를 시작할때 Job for vsftpd.service failed. See ‘systemctl status vsftpd.service’ and ‘journalctl -xn’ for details. 라는 메세지가 나온다면 vsftpd.conf설정파일에 문제가 있어서 발생하는 경우가 있다, 예를 들어 잘못된 키워드가 있다던가 특수 문자가 편집중에 입력이 되었을 경우.

B. vsftpd 서버에 접속하여 파일을 업로드하거나 다운로드할 때 550 Failed to open file. 라는 메세지가 나올 경우가 있다. 이는 SELinux의 보안 정책에 의해 업로드/다운로드 할 수 없을 경우이다. SELinux를 비활성화 하고 서버를 재부팅하면 파일 업로드/다운로드를 할 수 있다.
– SELinux 비활성화 방법
/etc/selinux/config 파일을 열어서 SELINUX=enforcing 를 SELINUX=disabled로 변경후 재부팅 하고 다시 활성화 하려면 SELINUX=enforcing으로 변경하고 리눅스 시스템을 재부팅 한다.
– SELinux 상태보기
sestatus
getsebool -a | grep ftp

C. 로컬에서 vsftpd서버에 접속해서 업로드/다운로드가 잘 되는데 원격에서는 접속조차 되지 않는 경우가 있다. 이는 firewalld 방화벽 때문일수도 있다. firewalld가 실행중인지 확인하고 실행중이라면 firewalld를 중지하고 원격에서 vsftpd서버에 접속해 본다.
— firewalld 실행 상태 확인
# systemctl status firewalld.service
— firewalld 중지
# systemctl stop firewalld.service
— firewalld 자동중지(시스템시작시 자동시작 안함)
# systemctl disable firewalld.service

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다