본문 바로가기
  • 반가워요 : )
전기기사/리눅스

[리눅스1] 리눅스 FTP서버 추가내용

by 교육의 기울기 2019. 1. 3.
반응형

● ftp 서버 (File Transfer Protocol)

파일 전송 프로토콜로서 서버와 클라이언트 사이에서 파일을 전송하기 위한 서버이다.





※ Vmware Workstation 12와  putty  사용하고 있습니다.
※ 탭키 설정을 해놓은 상태입니다.
※ Cent Os cd 삽입상태 입니다.
※ 빨간색이 서버 흰색이 클라이언트입니다.


1. 패키지 설치 유무 확인
    rpm -qa | grep vsftpd




2. 패키지 설치   서버 : rpm -ivh vsftpd ~
                      클라 : rpm -ivh ftp~


 

 

 

 



3. 데몬 실행 (설치 후에 실행 )
   /etc/rc.d/init.d/vsftpd restart  ( restart 나 start 나 거기서 거기 )



4. 방화벽 설정
   
   A.selinux
   B.firewall          포트번호 21,20번 : tcp

A. selinux

vi /etc/sysconfig/selinux

SELINUX=disabled 로바꿈
리부팅하고 getenforce  하면은


됫다.

B.firewall

system-config-firewall


 

 

사용자 설정에들어간다.

ftp 체크 해주고 종료 ->ok ->예예  누르면 된다.
  
5. 설정파일 수정
  
   vi /etc/vsftpd/vsftpd.conf

   : 12  anonymous_enable=YES    →→    익명계정 활성화 여부
   : 15 local_enable=YES                →→    로컬계정 활성화 여부
   : 18 write_enable=YES               →→    쓰기 권한 여부
   : 22 local_umask=022                →→    기본 umask
(기본 파일이나 디렉토리 권한) 값  
    777 - 022 =755 의 권한이 기본 (클라가 서버 접속해서 만들어지는 파일이나 디렉토리의 권한의 값)
   : 27 #anon_upload_enable=YES →→   익명 계정 업로드 허용
   : 31 #anon_mkdir_write_enable=YES →→ 익명 계정 디렉토리 생성
   : 35 dirmessage_enable=YES      →→    디렉토리 접근 시 메세지 출력 여부.
   : 39 xferlog_enable=YES             →→   로그 기록 여부 ( /var/log/xferlog )
   : 42 connect_from_port_20=YES →→  데이터 전송 포트 지정
   : 47 #chown_uploads=YES          →→  업로드시 소유권자 변경 활성화.  (누구의소유권?)
   : 48 #chown_username=whoever →→  업로드시 소유권자 지정 여부 (root나 heath?)
   : 56 xferlog_std_format=YES           
   : 59 #idle_session_timeout=600     →→ 접속후 600초 동안 대기시 로그아웃
   : 62 #data_connection_timeout=120 →→  데이터 전송후 120초 대기시 로그아웃
   : 96 #chroot_local_user=YES         →→   접속디렉토리를 최상위로 보이도록
                                                                     ( 상위디렉토리 접근제한 )
   : 97 #chroot_list_enable=YES      →→   디렉토리 제한 예외 계정 활성화
   : 99 #chroot_list_file=/etc/vsftpd/chroot_list →→   디렉토리 제한 예외 계정 리스트파일 지정.
   : 105 #ls_recurse_enable=YES        →→  ls -R 활성화 여부
   : 110 listen=YES                              →→  Standalone 활성화 여부 옵션
   : 118 userlist_enable=YES              →→ 유저리스트 활성화 여부 옵션 ( /etc/vsftpd/user_list )
                                                                    허용목록이든 거부목록이든 쓸 건지에 대한 것
   : 119 tcp_wrappers=YES                tcp wrapper 활성화
                                                                  ( /etc/hosts.allow   ,   /etc/hosts.deny 둘중하나. )
                                                                    특정 ip 막는 옵션 ( no_access )
                                                                    ex> vsftpd : 192.168.1.20:deny


그 외 옵션

userlist_deny=YES     유저리스트를 허용리스트 로 만들건지 거부리스트로 만들건지에 대한 여부
                                    YES=거부목록,  NO=허용목록

user_list  →→  계정단위 거부           계정 칠떄 부터 거부하는 옵션
ftpusers  →→   pw단위 거부            패스워드 칠때 부터 거부하는 옵션
vi /etc/vsftpd/ftpusers

userlist_files=/etc/vsftpd/user_list       유저리스트 파일 위치

anon_root=/var/ftp             익명  계정의 접속위치 지정

max_client                         최대 접속자 수

max_per_ip                        ip 당 최대 접속 개수


6. 데몬 재실행
/etc/rc.d/init.d/vsftpd restart

7. ftp 클라이언트 접속

ftp [ ip주소 ]



※다운로드 명령어 : get  
   업로드 명령어 : put



===============================================================

- 실습
/export/sdb/home /heath (홈디렉토리 이동)
                               /ftpuser/pub/1.gz
                                                     2.bzip2
                                                     3.tar.gz
   (1,2,3 파일을 각 압축방법으로 압축하

고 계정생성과 동시에 자동생성 되도록)
                               /anonymous(계정X)/anontest(file)

 

 

 

 

 

 


 

 




① /export/sdb/home/ftpuser 디렉토리 권한
 => ftpuser사용자 (모든권한), heath그룹(읽기권한), 다른사용자(접근권한)




② itbank 계정을 ftpuser 그룹에 포함



③ /export/sdb/home/ftpuser/pub  => itbank 계정 접속위치
※※※아래부터 FTP 서버 설정※※※

④ 홈디렉토리가 최상위 디렉토리로 보이도록 할 것(ftpuser 계정은 제외)


vi /etc/vsftpd/vsftpd.conf

 

 


96 97 99 앞에있었던 주석처리를 없애준다.


vi /etc/vsftpd/chroot_list  를 만들어서 ftpuser를 적고 저장 후 나가준다.
그리고 데몬재시작.

heath 계정으로 접속하여 현재 위치를 확인해보니 계속 최상위에 있는것을 알 수 있다.

반면 예외 계정에 추가해둔  ftpuser로 접속시 현재위치를 확인할수있다.


⑤ 익명계정의 FTP 접속위치가 /export/sdb/home/anonymous 가 되도록

vi /etc/vsftpd/vsftpd.conf
맨아래줄에 anon_root=/export/sdb/home/anonymous 추가해준다



⑥ heath 계정은 pw에서 차단되도록 하고 ftpuser itbank anonymous를
 제외한 계정은 id에서 차단되도록 설정할 것

vi /etc/vsftpd/vsftpd.conf
userlist_deny=NO  추가 시킨다.

 

 

vi /etc/vsftpd/user_list 로 들어간후
위와 같이 편집해 준다.

vi /etc/vsftpd/ftpuser 로 들어간다 그리고 heath 계정을 추가.
그리고 id test1 test2 를 만들어주고 
데몬 재시작을 해준다.

heath 계정으로 접속하려하니 비밀번호를 치니까 막힌다.


ftpuser는 잘 들어가 진다.

test1 으로 들어가려니 아이디부터 막혀버린다.



⑦ 윈도우 호스트OS 에서 vsftpd 서비스 접속 차단할 것



⑧ vnc 해상도 설정
세션 1 : root (1280x720)
세션 2 : heath (800x600)



반응형

댓글