파일관련 서비스
삼바 SAMBA 서비스 사용하기
1) 삼바 서비스의 개요
1. 삼바 서비스의 특징
- GPL 기반 자유소프트웨어로 리눅스와 윈도우 간 디렉터리, 파일, 프린터 등 공유하는데 사용
- TCP/IP 기반 NetBIOS 상에서 동작하는 SMB Server Message Block 프로토콜을 이용
- 삼바에서 설정한 그룹과 호스트명이 윈도우의 Network Neighborhood 에 컴퓨터 이름으로 표시.
상대 호스트의 IP 주소 대신 컴퓨터 이름을 이용하여 접속할 수있음. WINS (Windows Internet Name Service) - CIFS (Common Internet File System)는 SMB 를 인터넷까지 확장한 표준 프로토콜로 유닉스와 윈도우 환경을 동시에 지원.
2. 삼바 서버의 구성 요소
nmbd | - UDP 137,138 번 포트를 이용해 호스트를 브로드 캐스팅 방식으로 검색한 후 , TCP 139번 포트를 이용하여 컴퓨터 이름으로 접속. - nmbd를 이용하지 않고 삼바 서비스를 구성할 수 있으나 Network Neighborhood에 표시되지 않고 컴퓨터 이름으로 접속할 수 없게 됨. WINS 서비스를 위한 데몬. |
smbd | - 삼바 프로토콜 주요 기능을 담당. TCP 445 포트를 이용 - 삼바 서버의 IP 주소만 알고 있어도 IP 주소를 이용한 직접 접속 방법으로 삼바 서비스를 사용. |
2) 삼바 서비스 설치와 구성
1. 삼바 관련 패키지 설치
yum 이용해 삼바 관련 패키지를 설치
$yum -y install samba samba-common samba-client |
2. 삼바 서비스 실행
주요 서비스인 데몬인 smb와 nmb를 시작
$service smb start $service nmb start |
/etc/rc.d/init.d 디렉터리에 smb 및 nmb를 위한 스크립트를 이용해도 됨.
chkconfig 명령을 이용하면 시스템 부팅과 함께 서비스 데몬을 자동으로 실행
$chkconfig smb on $chkconfig nmb on |
3. smb.conf를 이용한 삼바 서비스 설정
삼바 서버는 /etc/samba/smb.conf 환경설정 파일로 이용
-윈도우에 접근하라 때 표시되는 폴더 이름은 www로 설정
-간단한 설명은 Web Directory
-공유 디렉터리 경로는 /user/local/apache/htdocs
-접근 가능한 사용자는 ihduser 및 kaituser만 가능. 두사용자 모두 파일 생성 및 삭제 권한을 부여
[www] comment = Web Directory path = /usr/local/apache/htdocs vaild users = ihuser kaituser writable = yes |
4. 삼바를 이용할 사용자 등록과 패스워드 설정
삼바를 이용할 리눅스 계정을 등록
$adduser smbuser $passwd smbuser |
smbpasswd 명령을 이용해 삼바 계정과 패스워드 설정. 이때 삼바계정은 리눅스 시스템에 등록된 계정이어야 함.
-a 삼바 사용자 계정을 추가하고 패스워드 설정.
$smbpasswd -a smbuser |
pdbedit 명령을 이용해 삼바 사용자 목록 및 세부 내용을 확인
$pdbedit -L $pdbedit -v -u smbuser |
3) 삼바 서비스 이용하기
1. 삼바 클라이언트 패키지 설치
삼바 서버에 접속하여 서비스를 이용할 클라이언트 호스트에 패키지 설치
$yum -y install samba-common samba-client |
2. 삼바 서버에 접속
smbclient 명령어를 이용해 공유 디렉터리 정보를 확인하고 서버에 접속
smbclient [옵션][호스트명] 형식. 접속후 ? 명령 입력하면 사용가능한 명령 리스트 확인 가능
호스트의 공유폴더이름은 //172.30.1.12/[공유폴더]/ 같이 지정가능
$smbclient -L172.03.1.12 -U smbuser |
3. SMB 파일 시스템 마운트
mount 명령을 사용해 삼바 공유 디렉터리를 로컬 시스템에 마운트하여 로컬 디렉터리인 것처럼 사용
먼저 마운트할 디렉터리 만든 후 mount 명령을 사용해 마운트 진행
df 명령으로 파일시스템 확인
$mkdir /smbuser $mount -t cifs //172.30.1.12/smbuser /smbuser -o user=smbuser,password=패스워드 $df |
4) 삼바 관련 기타 명령어
smbstatus | 삼바의 현재 접속 정보를 확인하는 명령어 |
testparm | 삼바의 설정 정보를 확인하는 명령어 |
nmblockup | 삼바 서버의 NetBIOS 이름으로 IP주소를 조회할 수 있는 명령어 |
smbcontrol | 삼바 데몬에 메시지를 보내 제어 |
NFS Network File System 서비스 사용하기
1) NFS 서비스의 개요
1. NFS 서비스의 특징
TCP/IP를 이용해 원격 호스트의 파일 시스템을 마치 로컬 호스트에 있는것처럼 마운트하여 사용할 수 있는 서비스.
RPC (Remote Procedure Call) 을 이용해 NFS 관련 명령어를 전달, rpcbind 데몬이 필요
2. NFS 서비스를 위한 주요 패키지
rpcbind : rpcbind, rpcinfo 등 명령어 포함하며 RPC 서비스를 위해 사용
nfs-utils : NFS 관련 데몬 및 명령어를 포함
2) NFS 서비스 설치와 구성
1. NFS 관련 패키지 설치
yum을 이용해 NFS 관련 패키지 설치.
$yum -y rpcbind nfs-utils |
2. NFS 서버 설정
/etc/exports 파일을 이용하여 NFS 서비스 설정
[공유 디렉터리][접속 허가 호스트](옵션) ...
접속허가 호스트는 IP 주소, 도메인 이름등을 사용 가능.
/home/youngjin-nfs 172.30.1.0/24(rw,no_root_squash) |
3. NFS 관련 데몬 실행
rpcbind와 nfs 데몬을 실행
$service rpcbind start |
3) NFS 서비스 이용하기
1. NFS 서버에 접속
mount 명령을 이용하여 NFS 서버에 접속
mount -t nfs [NFS 서버] : [대상 디렉터리][마운트 디렉터리]
$mkdir /var/youngjin-local $mount -t nfs 172.30.1.12:/var/youngjin-nfs /var/youngjin-local $df /var/youngjin-local/ |
2. /etc/fstab 을 이용한 마운트
/etc/fstab 파일은 장치를 마운트할 때 참조하는 파일로 관련 정보를 설정해 부팅시 자동으로 마운트 되도록 구성
172.30.1.12:/var/youngjin-nfs /var/youngjin-local nfs timeo=15,soft,retrans=3 0 0 |
주요 설정 옵션
파일시스템 장치명 | 파티션 혹은 장치의 위치 지정 |
마운트 포인트 | 어떠한 디렉터리로 연결할 것인지 지정 |
파일 시스템 종류 | nfs, NTFS, ext3, iso9660 등 지정 |
마운트 옵션 | timeo : 타임아웃 후 첫번째 재전송 요구시간 지정 retrans : 타임아우 후 재전송 요청 회수 지정 soft : retrans에 설정하나 값만큼 요청 hard : 무한반복하여 요청 auto : 부팅시 자동 마운트로 지정 rq, nouser,exec 등 추가지정 |
덤프 | 백업 여부를 지정 0 불가능 1 가능 |
무결성 검사 | fsck에 의하나 무결성 검사 우선순위를 지정. 0 하지않음 |
4) NFS 관련 기타 명령어
rpcinfo | 메모리에 로딩된 RPC 기반 서비스 테이블을 관리하는 명령어 서비스 테이블이란 프로그램과 포트 번호를 매핑한 테이블 의미 |
exportfs | NFS 서버의 익스포트된 디렉터리정보, 공유목록을 관리하는 명령어 |
showmount | 클라이언트에서 서버의 익스포트된 정보를 확인하는 명령. showmont [옵션][호스트명] |
nfsstat | NFS 및 RPC 연결에 대한 통계 정보를 표시하는 명령어 |
FTP ( File Transport Protocol ) 서비스 사용하기
1) FTP 서비스의 개요
1. FTP 서비스의 특징
- FTP는 TCP/IP 이용해 FTP 서버와 클라이언트 간 파일을 전송하기 위한 프로토콜.
- 등록된 사용자만 접속하여 사용. 익명사용자를 지원하기도 하나 보안에 취약하므로 권장하지 않음.
- vsftpd는 가자아 대표적인 FTP 프로그램. 보안을 중시
2) FTP 서비스 설치와 구성
1. FTP 관련 패키지 설치
yum -y install vsftpd 명령을 이용하여 vsftpd 패키지를 설치
vsftpd 관련파일 목록
/etc/vsftpd/vsftpd.conf | 주 설정파일 |
/etc/rc.d/init.d/vsftpd | 데몬 실행을 위한 스크립트 파일 |
/etc/pam.d/vsftpd | PAM(Pluggable Authentication Module) 설정 파일 |
/etc/vsftpd/ftpusers | PAM과 연관된 설정 파일로 FTP 서비스에 접근할 수 없는 계정을 지정 |
/etc/vsftpd/user_list | - 주 설정 파일 wsftpd.conf 설정 내용에 따라 다르게 동작 - userlist_enable=YES 로 설정되어야 user_list 사용 - userlist_deny=YES 로 설정하면 user_list 등록된 계정은 FTP 서비스에 접근할 수 없게 됨. 기본설정값은 YES 이며, user_list는 거부 목록으로 적용됨. - userlist_deny=NO 로 설정되면, user_list 에 등록된 사용자는 FTP 서비스를 사용가능. |
2. FTP 서버 설정
/etc/vsftpd.conf 파일을 이용해 vsftpd 의 동작 환경 설정.
anonymous_enable=YES | 익명 사용자의 접속을 허가 |
anon_upload_enable=YES | 익명 사용자의 업로드를 허가 |
local_enable=YES | 로컬 계정 사용자의 접속을 허가 |
write_enable=YES | FTP 쓰기 명령을 허가 |
local_umask=022 | 기본 umask 값인 077을 지정한 값(022)으로 변경 |
chroot_local_user=YES | 접속한 사용자의 홈 디렉터리를 최상위 디렉터리가 되도록 지정 |
chroot_list_enable=YES | 홈 디렉터리의 상위 디렉터리로 이동할 수 있는 사용자 목록을 사용 |
chroot_list_file=[파일명] | 상위 디렉터리로 이동할 수 있는 사용자 목록을 담은 파일 지정. |
chown_upload=YES | 익명 사용자가 업로드한 파일의 소유권을 변경 |
chown_username=[계정명] | 익명 사용자가 업로드한 파일의 소유권을 갖게 될 사용자 설정 |
pam_service_name=[이름] | PAM 인증에 사용할 설정 파일의 이름을 지정. |
userlist_enable=YES | /etc/vsftpd/user_list를 사용 |
tcp_wrapper=YES | tcp_wrapper를 이용하여 접근 제어를 수행 |
session_support=YES | wtmp에 로그를 남겨 last 명령으로 접속여부를 확인 |
ftpd_banner=[메시지] | FTP 접속시 표시될 환영 메시지 설정 |
xferlog_file=[경로명] | FTP 관련 로그를 기록 |
xferlog_std_format=YES | 로그 파일이 표준 포맷을 사용하도록 설정 |
listen_port=[포트번호] | 21과 같이 vsftpd의 접속 포트를 지정 |
ftp_data_port=[포트번호] | 20과 같이 데이터 전송에 사용할 포트를 지정 |
listen=YES | standalone 모드로 동작 시 설정하는 항목 |
idle_session_timeout=[초] | Idle 상태에서 접속을 유지할 최대 시간을 설정. 기본 300초 |
data_connetion_timeout=[초] | Data connection을 끊기 전까지의 대기시간을 설정. 기본 60초 |
max_clients=[최대값] | 접속할 수 있는 클라이언트의 최대 허용건수를 지정 |
max_per_ip=[최대값] | 한 IP 주소당 접속할 수 있는 최대 허용건수를 지정 |
3. vsftpd 데몬 실행
service vsftpd start 명령으로 데몬을 실행
3) FTP 서비스 이용하기
1. FTP 클라이언트 설치
$yum -y install ftp |
2. vsftpd 서버에 접속 및 명령 확인
- 접속 후 help 로 ftp 관련 명령어 확인
$ftp 172.30.1.12 ftp> help |