상세 컨텐츠

본문 제목

[30] Linux 연속된 파일 생성 | FTP 실습 (2) | FileZilla | TCP Wrapper

IT/Linux

by o_zeew 2022. 3. 17. 20:18

본문

(1) 연속된 파일 생성

(2) FTP 실습 (Active Mode)

(3) File Zilla 

(4) FTP 실습 (Passive Mode)

(5) TCP Wrapper


1. 연속된 파일 생성

 

<문제>

1. 일일업무보고서 폴더 생성
2. 1월~12월 폴더 생성
3. 각 월의 매일보고서 파일 생성 ex) 2월10일.txt


1. 업무보고서 디렉토리 생성

2. 월 별 디렉토리 생성

업무보고서 디렉토리 내부에 각 월별 디렉토리 생성

3. 매일보고서 파일 생성

파일 생성할 월로 이동
반복되는 문장 : '&nbsp; &nbsp;' / 순서대로 : {첫번째 숫자 .. 마지막 숫자}

 


 

2. FTP 실습 (Active Mode)

 

1. vsftpd 설치

yum install -y 명령어를 사용해 설치

 

2. ftp 디렉토리 생성

 

3. 설정 파일 변경

vi 편집기로 설정 파일 열기
설정 파일 명령모드에서 / + 찾을 단어 를 입력
banner을 file로 사용하기 위해 해당 명령어 편집
명령모드에서 :!bash 를 입력하면 잠시 파일 설정에서 쉘로 나갈 수 있음

 

  * 설정 파일 변경대로 파일 생성 후 편집

banner을 만들기 위해 vi 편집기를 사용해 파일 생성
banner 화면 편집
vi 편집기로 chroot 리스트 작성을 위해 파일 생성
사용자 a를 chroot에 추가
다시 설정 파일로 돌아가기 위해 exit
Enter
anonymous 계정은 게스트 계정이기 때문에 주석 처리
로컬 사용자 허용
anonymous 사용 금지를 했기 때문에 주석 처리
디렉토리간 이동시 성공 여부 메세지 출력
xferlog 사용
20번 포트 사용
xferlog 파일 경로 지정
ftp에 접속하여 120초(2분)동안 아무 동작 없을 시 접속 끊음
데이터 전송 중 60초(1분)이 넘으면 끊음 (너무 오래 점유 못하도록)
chroot list 사용 / chroot list file 경로 설정
userlist에 있는 사용자들은 ftp 접속 불가
쓰기 기능을 할당해야 로그인 가능

 

4. 방화벽 설정

list all 명령어로 방화벽 상태 확인
list service 명령어 사용 시 service로 열려있는 목록 확인 가능
get zones 명령어로 zone 리스트 확인 가능
기본적인 zone은 public
port 20, port 21 방화벽을 열어준 뒤 방화벽 reload

 

5. 파일 생성

  - /home/a 와 /home/b 디렉토리 밑에 각각 500MB 짜리의 파일 생성

 

6. 시스템 활성화

vsftpd와 dhcpd 시스템 활성화

  * 시스템 시작시 자동으로 시작되게 하려면 enabled 명령어 사용

  * 해제 시 disabled

 

7. Windows 방화벽 열기

제어판 - Windows Defender 방화벽
고급 설정
인바운드 규칙 우클릭 - 새 규칙
프로그램
ftp 파일 경로 설정
연결 허용
다음
이름 설정

 

8. W11-1에서 사용자 A로 FTP 접속

사용자 a로 접속 가능

  * dir 명령어 : 서버의 디렉토리 확인

dir 명령어로 디렉토리 내부 확인

  * Linux에서 각 사용자 디렉토리에 test.txt 파일 생성

 - 다시 ftp로 접속

dir 명령어로 서버의 test.txt 파일 생성 확인

 * 서버쪽의 파일을 로컬로 가져올 때는 get 명령어 사용

get 명령어를 사용해 서버의 test.txt 파일을 로컬 서버로 가져오기

 * !dir : 로컬의 디렉토리 확인

test.txt가 다운받아진 것을 확인

 - 사용자 a는 chroot가 적용되어있기 때문에 자신의 디렉토리가 최상위 디렉토리

현재 위치를 확인하는 pwd 명령어로 / 확인

 * 로컬쪽 디렉토리를 이동할 때는 lcd 명령어 사용

lcd 명령어를 사용하여 바탕화면인 desktop으로 이동 후 확인
get 명령어를 사용하여 a.txt 이름으로 test.txt 파일 가져오기
!dir로 로컬 디렉토리 확인 - a.txt 생성 확인

 * 로컬에서 서버로 파일을 올릴 때는 put 명령어 사용

put 명령어를 사용해 로컬의 파일 a.txt을 aa.txt 이름으로 서버에 올리기
dir 명령어로 서버의 디렉토리 확인 - aa.txt 생성 확인
서버에서도 확인 가능

 * 모든 파일을 한번에 가져올 때는 mget 명령어 사용

 ftp> mget *.txt   :  모든 .txt 파일을 한꺼번에 가져옴 

명령 옵션에 해당하는 모든 파일을 가져올지 물어봄
!dir 명령어로 로컬 디렉토리 확인
내 PC - C: - 사용자 - Test에서 확인 가능

 

9. W10-1에서 사용자 B로 FTP 접속

dir 명령어로 서버 디렉토리 확인

 * 사용자 b는 chroot 적용이 안되어 있기 때문에 상위 디렉토리를 인식함

현재 위치를 확인하는 pwd 명령어를 사용 시 상위 디렉토리 확인 가능
cd 명령어로 상위 디렉토리로 이동 후 디렉토리 확인 가능
자신의 디렉토리로 이동 후 !dir 명령어로 로컬 디렉토리 확인 - desktop 확인 가능

 * desktop = 바탕화면

lcd 명령어로 로컬 디렉토리 이동
get 명령어로 서버에 있는 test.txt 파일 가져오기
!dir 명령어로 바탕화면에 생성된 test.txt 파일 확인 가능
put 명령어로 test.txt 파일을 서버에 bb.txt 이름으로 올린 후 dir 명령어로 확인 가능

 


 

3. File Zilla

  : FTP 프로그램

 

1. 설치

 - 클라이언트 다운로드

Download FileZilla Client
Download
Download

 - 다운로드 된 파일을 각 가상머신의 바탕화면에 드래그

 

 - 아래와 같이 설치

바로가기 생성 완료

 

2. W10-1, W11-1 방화벽에 client program 등록

원본 파일의 위치
제어판 - Windows Defender 방화벽
고급 설정
인바운드 규칙 우클릭 - 새 규칙
프로그램
내 PC - C: - Program Files - FileZilla FTP Client - filezilla
프로그램 경로 설정
연결 허용
다음
이름 설정
방화벽 설정 완료

3. FileZilla 설정 (W10-1)

사용자 a 설정
Active mode 실습을 위해 전송 설정=능동형
비밀번호 저장 안함

 - 사용자 a는 chroot가 적용되어있기 때문에 상위 디렉토리가 보이지 않음

자신의 디렉토리가 최상위 디렉토리

 

4. FileZilla 설정 (W11-1)

사용자 b 설정
Active mode 실습을 위해 전송 설정=능동형
사이트 관리자의 화살표 클릭 - 200.200.200.5
비밀번호 입력

 - 사용자 b는 chroot가 적용되어있지 않기 때문에 상위 디렉토리 확인 가능

 


 

4. FTP 실습 (Passive Mode)

 

  * Pasive Mode 실습을 위해 이전 설정 삭제

vsftpd 삭제
삭제 완료
/ftp 디렉토리 삭제

  - 방화벽은 원본파일설정을 변경하기 때문에 원본파일을 열어서 수정

vi 편집기로 원본 파일 열기
Active Mode 실습 때 추가한 20, 21 포트
삭제한 모습
원본 파일 수정 후 재시작

 

1. vsftpd 설치

vsftpd 설치
설치 완료

 

2. 관련 파일 생성

 - ftp 실습에 필요한 파일을 모아둘 디렉토리 생성 (banner, chroot, log)

디렉토리 생성

 - banner 파일 생성

banner 화면 설정

 - chroot list 생성

사용자 a list에 추가

 

3. 설정 파일 편집

vi 편집기로 설정파일 열기
anonymous 사용 불가
local 사용 가능
쓰기 가능
xferlog 사용 가능

  * passive mode에서는 port 지정해야함

20번 port 사용 X, 주석 처리
xferlog 파일 경로
접속 후 120초 동안 사용 없을 시 연결 끊김
데이터 전송 시간이 60초를 넘기면 끊기
banner file로 사용, 경로 설정
chroot 사용
chroot list의 경로
쓰기 허용 / passive 허용 / 최소 포트 65000 / 최대 포트 65100
설정 파일 변경 후 vsftpd 실행

 

4. 방화벽 열기

  - 제어 포트 : 21

제어포트와 지정한 포트의 방화벽을 열어준 뒤 방화벽 재시작

 

5. FileZilla 설정 변경

  - Pasive Mode 사용을 위해 사용자 a,b 모두 전송 설정을 수동형으로 변경

사용자 a
사용자 b

 

6. FileZilla에서 설정 적용 확인

로그인

 - 리모트 사이트의 파일을 로컬 파일로 끌고 오면 전송 시작

파일 전송중

 - cmd 창에서 [netstat -na -p tcp] 명령어를 사용하여 tcp 상태 확인

   * 지정해놓은 65000~65100 사이의 포트를 사용하는 모습 확인 가능

사용자 b 65011 port 사용
사용자 a 65027 port 사용

 


 

5. TCP Wrapper

hosts.allow에 입력하면 접속 가능 / hosts.deny에 입력하면 접속 불가능

 

<allow와 deny의 권한 비교>

1. 접속 허용할 사용자 추가

vi 편집기로 파일 열기

 - 서비스명(데몬 이름) : 허용할 IP

W10-1 : 200.200.200.150 / W11-1 : 200.200.200.240

 

2. 접속 차단할 사용자 추가

vi 편집기로 파일 열기

 - 서비스명(데몬 이름) : 차단할 IP

W11-1 : 200.200.200.240

 

3. filezilla 접속으로 확인

  * allow에는 W10-1, W11-1 모두 등록, deny에는 W11-1만 등록

    allow의 권한이 더 강하다면 W11-1 접속 가능 / deny의 권한이 더 강하다면 W11-1 접속 불가능

X 표시로 접속 끊은 후 체크 표시로 재접속
사용자 a 접속 가능
사용자 b 접속 가능

  ※ allow의 권한이 deny의 권한보다 강하다는 걸 알 수 있음 

 

4. allow에서 w11-1 제거

vi 편집기로 파일 열기
w11-1 삭제
사용자 b 접속 불가

 

관련글 더보기