리눅스 ftp 설정으로 한 시간 넘게 삽질하였지만 리눅스 완전 쌩 초보라는 이유로 위안을 삼는다.
Linux centOS ftp 설정 정리
1. ftp포트 (21) 오픈 확인 및 설정
2. vsftp 설치 및 config설정
3. ftp접속 계정 권한 설정
상세설명
1. 우선 linux 서버 내에서 방화벽 iptables 서비스에 ftp서버(21) 포트를 등록 해줘야 한다.
(이때 포튼 오픈은 ftp 뿐만 아니라 다른 포트들도 번호 부분만 변경하면 동일하다)
명령어는
#iptables -I INPUT 1 -p tcp --dport 21 -j ACCEPT
#iptables -I OUTPUT 1 -p tcp --dport 21 -j ACCEPT
와 같이 입력 한 후에
#service iptables save
#service iptables restart
로 서비스를 재시작 하면 적용 된다.
에디터로 iptables config에 직접 입력도 가능
vi /etc/sysconfig/iptables 로 확인을 해보면 21 포트 input, output 부분이 추가 되어 있을 것이다.
2. 두 번째로 yum 명령어로 vsftp를 설치해아 한다.
여기서 yum 명령어는 온라인 저장소의 패키지들을 다운로드하고 설치해주는 텍스트 기반 update명령어이다.
# yum install vsftpd
이게 설치 입력 명령어이다. 엄청 간단.
그런데 우선 나는 완전 쌩초보라는 것을 한 번 더 강조하면서, yum ftp설치부터 에러가 난다.
Can not retrieve mirrorlist http://mirrorlist.centos.org/bla bla~~~~
해당 주소가 검색이 안된다라고 하는 것 같은데, 검색해보니 또 설정 문제다ㅠㅠ
# vi /etc/resolve.conf
로 위 config파일을 열어보자. 아마 아무내용도 없을 것이다.
한국통신 ip주소를 입력해주라고 하네...
nameserver 168.126.63.1
을 추가 한 후 우선 따라 해보니 된다. 설치 중간에 확인 메시지가 나오면 y를 누르고 진행한다.
음 이제 ftp되겠군~~~ 흠흠 이라고 생각했지만 또 안됨ㅜㅠ 슬슬 짜증이 나지만..
아무튼 vsftpd 추가로 설정이 필요함.
#chkconfig 를 입력한 후 vsftpd 항목의 권한을 보면 모두 해제 처리가 되어있다.
#chkconfig vsftpd on 이라는 명령어로 2,3,4,5 권한을 활성화 시킨다.
그리고 # reboot 로 재부팅을 시켜주면 ftp 연결이 가능해진다.
3. ftp 접속 계정 설정
vsftpd 까지 설치 후에 ftp 연결하면 계정명 입력이 뜬다~~ 오 좋군 이제 되겠어 ㅎㅎ 라고 생각하면 오산임.
우선 root 계정으로는 계정명 치자마자 permission denied 에러가 발생한다.
왜냐?? vsftpd는 default로 접근 불가 가능 계정리스트를 허용하고 있다.
확인은 아래 명령어로
# cat /etc/vsftpd/vsftpd.conf
를 보면 맨 아래줄에 userlist_enable=YES 라는 부분이 있다.
이것은 /etc/vsftpd/user_list 라는 파일의 포함된 계정들의 접근을 허용안한다는 의미이다.
user_list를 열어보면 root권한이 포함되어 있다.
보안적인 이슈가 크기 때문에 default로 들어있으므로 ftp로 접근하는 계정은 걍 root를 쓰지 말자!!
그러면 ftp 접속을 새로운 계정을 만들어서 해보자.
permission denied는 뜨지 않는다. 비번을 입력하니 또 안된다ㅠㅠㅠㅠ
아 진짜 너무 하네,,,,라고 하면서 다시 한번 나는 linux 쌩초보
에러는 500 OOPS: cannot change directory
OOPS라니,, 의성언가??풋.. --;; 진지하게 받지 맙시다.
또 검색 검색... -> SELINUX 정책 문제??
최초에 home 디렉토리의 쓰기를 막아놓는다고 함.
그래서 또 설정 변경을 합니다. 요렇게
# setsebool -P ftp_home_dir=1
여기까지 하면
드디어 드디어 접속 성공!! 아 힘들다=,.=