|
|
|
|
|
|
|
 |
 |
게시판 문의상담 |
|
|
1 : 1 문의하러가기
|
|
 |
서버 / IDC |
|
|
신청/운영 : 02-6959-3661
서버요금/결제 : 02-6959-3660
|
|
 |
클라우드 |
|
| 031-724-4846
|
|
 |
문자메세지 |
|
| 031-698-4744
|
|
|
|
 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| vsftp 설치 방법과 실행방법
1. FTP 설치
1) yum install vsftpd -y
2) 시작시 자동 시작
- chkconfig vsftpd on
2. FTP 설정
1) 조건
- anonymous 금지
- 접속한 사용자는 자기 디렉토리 상위로는 접근 불가
- 기본 home directory는 /home/ftp-users/
- 사용자: studygroup1 그룹: studygroup home:/home/ftp-users/studygroup1
- CentOS 6.3
3. vsftpd기본설정
1) 설정파일 위치
vi /etc/vsftpd/vsftpd.conf
2) 자기 폴더 상위 폴더 접근금지
ㄱ. 모든 사용자가 지정 폴더에서만 검색
- chroot_local_user=YES
# chroot_list_enable =YES
# chroot_list_file=/etc/vsftpd/chroot_list
ㄴ. 리스트에 있는 사용자만 이동 가능(chroot 적용)
# chroot_local_user=YES
- chroot_list_enable =YES
- chroot_list_file=/etc/vsftpd/chroot_list
ㄷ. chroot_list에 등록된 사용자를 제외한 나머지 사용자만의 계정 지정 폴더 검색(접근금지 적용)
- chroot_local_user = YES
- chroot_list_enable =YES
- chroot_list_file=/etc/vsftpd/chroot_list
ㄹ. 사용자 폴더 변경 및 root 폴더 지정[사용자마다 다름]
- usermod -d /home/ftp-users/studygroup1 studygroup1 설정
- vi /etc/passwd ==>
studygroup1:x:500:502: :/home/ftp-users/studygroup1/./:/bin/bash
ㅁ. 사용자 기본 root 폴더 지정
- local_root=/home/ftp-users/
- passwd_chroot_enables=YES // passwd에서 user별로 지정
ㅂ. anonymous 금지
- anonymous_enable = NO
ㅅ. local 사용자 접속 가능
- local_enable=YES
ㅇ. ftp user의 쓰기 가능
- write_eable=YES
ㅈ. FTP 사용자 설정
- 추가: vi /etc/vsftpd/vsftpd/user_list -> studygroup1 추가
- vsftpd.conf -> userlist_file = /etc/vsftpd/user_list
userlist_enable=YES
userlist_deny=NO
ㅊ. passive mode 설정
- pasv_enable=YES
- pasv_min_port=30000
- pasv_max_port=30100
2.2.8.1 방화벽에서 포트 open
- iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 30000:30100 -j ACCEPT
3) 적용
- service vsftpd restart
4. vsftpd 외 설정
1) 방화벽
- vi /etc/sysconfig/iptables
- iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
- iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
2) 사용자 등록
- useradd -d /home/ftp-users/studygroup1 -s /usr/sbin/nologin studygroup1
- chown -R /home/ftp-users/studygroup1 studygroup1
- chmod 775 /home/ftp-users/studygroup1
3) troubleshooting
ㄱ. 550 SELINUX
- vi /etc/sysconfig/selinux -> SELINUX=disabled
- init 6
ㄴ. 500 OOPS meessage 해결
- vi /etc/shells -> /usr/sbin/nologin 추가
- addgroup ftp-users
- usermod -G ftp-users studygroup1
4) Active/passive mode
- 21번 포트는 접속용, 데이터 전송은 20번 혹은 1024 이후 번호
ㄱ. active mode
- 21번 포트 접속 후 클라이언트가 서버에게 데이터전송 포트 알려줌
- 서버는 ack로 응답, 서버에서 클라이언트로 접속 시도, 클라이언트 ack 응답
- 클라이언트에서 방화벽이 막혀 있을 경우 제대로 작동하지 못함
- 접속: PC → FTPd(TCP 21), FTPd(TCP 21) → PC(TCP 1023 ~ 65535)
- 데이터 교환: FTPd(tcp 20) → PC(tcp 1023 ~ 65535), PC(tcp 1024 ~ 65535) → FTPd(TCP 20)
ㄴ. passive mode
- 21번 포트 접속 후 서버가 클라이언트에게 데이터전송 포트(1024~65535) 알려줌
- 클라이언트는 이 포트로 접속 시도하여 서버에서 ack
- 접속: PC → FTPd(TCP 21), FTPd(TCP 21) → PC(TCP 1023 ~ 65535)
- 데이터 교환: PC(tcp 1023 ~ 65535)→ FTPd(tcp 1023 ~ 65535)
3. 일반 사용자 등록[기본설정후 사용자 추가시]
1) 사용자 등록
ㄱ. 사용자
useradd TEST -g ftp-users -d /home/ftp-users/TEST
#usermod TEST -d /home/ftp-users/TEST //홈디렉토리 설정
#userdel TEST
passwd TEST
mkdir /home/ftp-users/TEST
vi /etc/vsftpd/user_list
TEST 추가
2) 사용자 폴더만 이동
vi /etc/vsftpd/chroot_list
TEST 추가
3) 사용자 FTP접속시 폴더(chroot)
vi /etc/passwd
TEST/./ 추가(chroot적용)
4) 사용자 폴더 및 권한 설정
cd /home/ftp-users
ls -al
chmod 700 폴더이름
usermod -G ftp-users TEST
5) service vsftpd restart
|
|
|
|
|
|
|
 |
|
|
|
|
|
|