NFS & FTP
description
Transcript of NFS & FTP
NFS & FTP 2014 Wheel Seminar
I’m EGG
이 세미나에서는 무엇을 다루나요 ?
이 세미나에서는 무엇을 다루나요 ?
NFS 가 무엇이고 어떻게 쓰나요 ?
FTP 가 무엇이고 어떻게 쓰나요 ?
Special Thanks to Suckzoo( 휠장 ), Naldo, Whitegold
WikipediaGod Google
센 - 빠이 !
NFS 가 뭐임 ?
NFS:Network File System
NFS:네트워크 파일 시스템
NFS:Server/Client 기반
원격 파일 접근 프로토콜
NFS:1984 Sun 개발
NFS :서버에서 공유한 디렉토리를 마운트해서 ,
자기 것처럼 사용한다
Mount( 마운트 ) :파일시스템 구조 내에 있는 일련의
파일들을 사용자나 사용자 그룹들이 이용할 수 있도록 만드는 것
NFS :UNIX system 에서 주로 이용
NFS :RPC 기반 !
NFS :Remote Procedure Call 기반 !
RPC :원격 프로시저 호출
RPC :프로그램이 다른 주소 공간에서
원격 제어를 위한 프로그래머의 세사한 코딩 없이
함수나 프로시저의 실행을 허용하는 기술
Portmap(Port mapper):RPC 서비스에 이용되는 동적 포트 할당
기능
준비물 설치 :sudo apt-get install
nfs-commonnfs-kernel-server
portmap
서버설정부터 ㄱㄱ
/etc/exports/
NFS Server 에서 공유할 디렉토리 , 디렉토리별 옵션 설정하는 파일
/etc/exports/
[share-dir] [client] (option)[share-dir] : 공유 디렉토리의 절대경로
[client] : 공유 허가할 호스트 목록(host, domain, ip)
/etc/exports option
• ro(Read Only) – 읽기전용• rw(Read Write) – 읽쓰• no_root_squash – client 의 root 가 NFS 에서도 root
• root_squash – client 의 root 는 없는 놈 (nfsnobody)취급
• secure – client 의 지정 포트 사용• insecure – 모든 포트 허가• sync – client 가 파일 시스템 변경 할 때 즉시 동기화
/etc/exports/ 기분좋은예시
/srv/homes/ hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)
공유할 디렉토리에 권한을 안주면 큰일남chmod –R ugo+rwx [directory]
RPC 확인법rpcinfo -p
rpcinfo –pnfs : NFS 서비스 관련
portmap : RPC 연결 관련nlockmgr : 파일 잠금 , 동시 수정
방지기능
Client ㄱㄱ
마운트mount –t nfs [host]:[share dir] [mount
dir]
/etc/fstab/마운트를 영구적으로 하자
설정파일을 바꿔버림
/etc/fstab/Hostname:[share-dir] [mount-dir] nfs [option] [dump] [system_checking]
옵 션 기 능suid, nosuid 보안상 원격파일 시스템에서 nosuid 모드 권장
bgnfs 마운트가 처음에 실패할 경우 백그라운드 상태에서 계속 시도하게
되는 것으로 원격파일시스템이 허용되지 않을 경우 부트 시간을 단축시킨다 .
retry=n 포기할 때가지의 마운트 시도횟수로 기본은 100000 이다 .timeo=n 타임아웃 시간을 설정한다 .
retrans=n n 번 요구를 재전송하는 것으로 기본은 3 번이다 .
soft,hard
재시도 횟수가 끝이 났을 때 연결을 계속할지 말지를 결정한다 . 읽기전용으로 마운트될 경우엔 soft 가 , 읽기 / 쓰기가 가능하도록
마운트될 경우엔 hard 가 적합하다 . soft 로 마운트된 파일시스템은 프로세스가 멈추어지는 문제를 피할 수도 있다 .
intr정지 프로세서를 죽이기 위한 인터럽트를 허용한다 . 터미널에 대해
CTRL-C 를 누르고 백그라운드 프로세스인 경우 INT(2) 혹은 QUIT(3) 신호를 보내면 다시 동작된다 .
resize=n nfs 서버에 있는 읽기 버퍼의 크기 ( 바이트단위 )wsize=n nfs 서버에 있는 쓰기 버퍼의 크기 ( 바이트단위 )
/etc/fstab/192.168.0.2:/data /nfs nfs bg,soft,rw 0 0
showmountshowmount [server] : NFS 로 접속한 서버
조회showmount –e [server] : NFS 공유 가능
디렉토리 조회
unmount [dir]
NFS 마무으리
FTP 가 뭐임 ?
File Transfer Protocol
File Transfer ProtocolTCP/IP Protocol 을 이용하여
서버와 클라이언트 사이의 파일 전송을 하기 위한 프로토콜
FTP 의 종류
FTP 의 종류 -> 두가지
Anonymous FTP
Full Service FTP
Anonymous FTP계정이 없어도 누구나 접속 가능 ( 공개 )
Full Service FTP미리 발급된 계정이 있어야 함 ( 비공개 )
FTP 의 데이터 연결방법도 -> 두가지
Active
Passive
Active Mode
ClientServer
5151 로 쏴줘
오키
2120 5151
ㄱㄱ
오키
갓썩주
Passive Mode
ClientServer
패시브 할거임
오키 3267 포트 씀
213267 5151
3267 열었음 ㄱ
오키
갓썩주
Active VS Passive
Active VS Passive서버가 클라이언트에 접속하는 과정이
필요해서클라이언트가 방화벽 있을 때 문제 서버가 방화벽 쓸 때 사용하면 개굳
Active VS Passive포트를 많이 사용함 (1024~65536)클라이언트가 방화벽 사용할 때 개굳
FTP 패키지 종류
FTP 패키지 종류
1. wu-ftpWashington University 에서 개발한 Unix 용 FTP
데몬사용방법이 간단하고 편리하지만 보안이 취약하다
FTP 패키지 종류
2. ProFTPd유닉스 호환 운영체제를 위해 배포되고 있는 FTP 데몬
누구나 자유롭게 수정 , 배포 , 사용 가능하며 Anonymous FTP, 다양한 디렉토리별 설정 기능과 많은 명령어들을 제공
FTP 패키지 종류
3. vsftpdVery Secure ftp. 이거 써볼거임
두 설치sudo apt-get install vsftpd
설정파일은 /etc/vsftpd.conf/ 에 있답니다
Parameters of vsftpd.conf
• anonymous_enable = YES• Anonymous 의 접속 허용 여부
• local_enable = YES• 로컬 사용자의 계정 허용 여부
• listen = YES• standalone/xinetd 타입 결정 parameter
• pasv_enable = YES• passive mode 사용시 설정
• man 페이지 참조 !
FTP Damon 방식
Standalone VS Xinetd
Standalone VS Xinetd시스템에 독자적으로 프로세스가 구동되어
서비스를 제공하는 데몬상시로 일거리가 들어오는 데몬은 stand-
alone 으로 실행
Standalone VS Xinetd할 일이 끝나면 잠잠해지는 데몬
포트만 감시한다 .
FTP 콘솔 접속ftp [ 주소 ]
Full Service 라면 id, pw 다음에 침
FTP Commandcd, chmod, pwd, ls, exit
mkdir, rmdiropen [domain] : domain 에 접속 시도
get / delete / put [file] : [file] 을 가져옴 / 지움 / 올림
FTP Commandsize [file] : [file] 의 크기를 표시 (byte)status : ftp session 설정을 보여준다 .
lcd : local directory 를 변경한다 .
보안이 첨가된 FTPFTPS/SFTP
FTPSTLS/SSL 을 거쳐감다음 세가지 보장
Authentication : 누가 보냈는지 알 수 있음Encryption : 암호화됨
Integrity : 무결성
SFTP
SSH(Secure SHell) 에서 SCP(Secure Copy Protocol) 을 이용함
접속포트 22 번이다 (FTP 는 21 번 )