Samba 설치

1. Samba 란?
 

SMB(Server Message Block) 프로토콜을 통해 지역 네트워크(LAN) 환경에서 UNIX-like 서버와 윈도우 클라이언트간에 파일이나 프린터간의 공유를 가능하게 해주는 패키지를 말한다.

SMB는 OS/2, NT, WIN9x를 사용하는 컴퓨터끼리 파일 공유등의 서비스를 구현하는데 사용되는 프로토콜로 IBM PC와 MS의 윈도우가 DOS 3.0 이후부터 지속적으로 지원하고 있다.

TCP/IP 기반하의 NetBIOS 프로토콜을 이용하기 때문에 이 프로토콜은 NFS, NIS, lpd 와 같은 유닉스의 분산인증구조와 유사하며 UNIX-like 시스템뿐 아니라 OpenVMS, OS/2, AmigaDOS, 그리고 Netware같은 다양한 플랫폼에서도 지원된다.

이것은 한가지 프로그램으로 프린터와 파일을 여러 플랫폼에서 손쉽게 공유할 수 있는 장점을 의미하는 것이다.

삼바가 시스템에 설치되어 있는지 아래와 같이 확인합니다.

# rpm -qa | grep samba

삼바의 설정파일은 /etc/samba 디렉토리 아래에 있으며,
smb.conf 가 설정파일입니다.

삼바 서버는 /etc/init.d/smb 스크립트에 의해 구동됩니다.
시작은 아래와 같이합니다.
# /etc/init.d/smb start
 
만약 서버를 멈추고 싶다면,
# /etc/init.d/smb stop

삼바서버 세팅

1. useradd samba

2. passwd samba
   패스워드 : samba

3. mkdir /home/samba

4. chmod 755 /home/samba

5. chown samba.samba /home/samba

6. /etc/samba/smbpasswd -a samba
    패스워드 : samba

7. vi /etc/samba/smb.conf

8. service smb restart   <-- smb.conf 수정후

<설정파일의 예> [global]

# NT 도메인 네임, 또는 workgroup명. 윈도우에서 작업그룹에 해당된다.
   workgroup = WORKGROUP
 
# 액세스 허용 IP대역. 지정된 네트웍에서만 접근이 가능하도록 설정한다.
;   hosts allow = 192.168.1. 192.168.2. 127.
 
# guest 사용자를 허가하고 싶을 때 사용한다. 주석을 풀게 되면 이 값의 
# 계정(여기서는 guest)이 /etc/passwd에 등록되도록 한다.
;  guest account = guest

# Security mode. 자세한 것은 security_level.txt 참조.
# share는 사용자 인증을 거치지 않고 자원에 접근할 수 있게 한다.
   security = user     //share  로 입력시 패스워드없이 접근가능

# 한국어를 보기 위해 코드 페이지를 949로 설정한다.
   client code page = 949

#================== Share Definitions =============

자신의 홈 디렉토리이므로 파일 목록이 탐색 가능하도록 browseable과 과 쓰기 옵션인 writable과 같은 옵션들은 반드시 사용 가능하여야 하고

루트 디렉토리를 삼바로 공유하는 것은 보안상 위험하므로 root는 invalid users로 설정

[public]
   comment = Public Stuff
   path = /home/samba
;  public = yes
   valid users = samba, min, hong  //디렉토리에 접근하기 위해서는  사용자 모두 입력해줘야 한다.
   invalid users = root           //접근을 제외 할 사용자
   writeable = yes
;  read only = no
   read list = min
   write list = samba
;  guest only = yes   //패스워드없이 게스트접속 허용

#읽기 권한만 줄 유저는 read list에, 쓰기 권한을 줄 유저는 write list에 명시한다.
#이때 각 유저는 ,로 구분하고 그룹의 경우에는 앞에 @를 붙인다.

윈도우 클라이언트에서 리눅스 머신 접근시 "네트워크 경로를 찾지 못했습니다."라는 오류가 난다면
일단 공유 설정에서 공유 디렉토리 경로가 제대로 지정되어 있는지 확인하고 이상이 없다면 방화벽이 접근을 막고 있을 공산이 크다.

$ipchains -F 옵션을 주어서 방화벽 구동을 중지시켜 본다. (또는 lokkit에서 방화벽 해제)

'WebDevelop > MySQL' 카테고리의 다른 글

phpmyadmin  (0) 2007.10.19
MySQL 함수  (0) 2007.09.03
mysql함수 [숫자열, 문자열, 집계, 날짜, 기타함수...]  (0) 2007.09.03
Return top