반응형

1.     삼바서버는 당채 무엇이란 말이냐?

파일서버라고도 하는데 서버의 특정공간(/home 아래의 계정홈디렉토리라든지 등등)을 같은 네트워크상에 있는 PC(Windows, Linux Server 등) 혹은 서버들에게 공유할수있도록 해주기위한 서버이다.

리눅스에서는 이런 파일서버역할이라 하면 아무생각없이 삼바를 떠올릴정도로 대중화 된 넘이다.

삼바서버에서는 설치후 프로세스확인할때 smbd, nmbd 두 녀석이 삼바 대몬들이다.

 

자 삼바서버는 같은 네트워크에서 특정자료를 같이 혹은 특정개인이 쓰기위해서 공유설정을 해놓은 서버라고 생각하고 설치에 들어간다.

설치 및 확인 그리고 간단하게 아무나 볼수있는 설정과 특정계정만이 ID, PASS를 사용해 들어가는 설정을 해보자.

 

 

2.     삼바를 우찌 확인하고, 설치하는가?

항상설치 전에 하는 것 삼바가 설치가 되어있는지 아래와 같이 알아본다.

pstree (현재 떠있는 프로세스들 보기)

 

nmbd

smbd

위의 두 데몬이 떠있으면 삼바서버가 설치가 되어있으면서 지금 서비스 되고있다는 것을 의미한다. 없더라도 데몬을 안띄워서 안보이는 것일수도 있으니 /etc/rc.d/init.d/smb start 로 삼바를 실행해보면 알수가있다.

 

더 확실한 방법은 rpm -qa | grep samba 로 직접 rpm이 설치되었는지도 쿼리할수있다.

정상적으로 설치된곳에서 이 명령어를 쳐보니 아래와 같이 나옴을 알수있다.

 

[root@SambaServer ~]# rpm -qa | grep samba

samba-common-3.0.10-1.4E.2

samba-swat-3.0.10-1.4E.2

samba-3.0.10-1.4E.2

samba-client-3.0.10-1.4E.2

필자는 SULinux 1.0 으로 지금 테스트하고 있는데 풀패키지로 설치하였기 때문에 이미 설치가 다 되어있다. 그래서 설치가 안되어있는 Fedora Core 에서 삼바를 패키지로 설치하는 것을 해보도록 한다.

netstat -anp | grep LISTEN (현제 리슨, 즉 대기하고 있는 서비스들 보기)

[root@SambaServer ~]# netstat -anp | grep LISTEN

생략 ... ...

tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 1933/smbd

tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 1933/smbd

생략 ... ...

위처럼 139와 445 의 삼바서버의 사용포트가 listen하고 있음으로 확인 할수있다.

 

... 설치는 아주 간단하다. 위에서 4가지의 패키지가 검출된 것처럼 자신의 OS의 맞는 삼바서버 rpm을 다운받아 동시에 rpm으로 설치하면 된다.

위에서 말한데로 Fedora Core 2 에서 하면 아래와 같이 설치, 확인할 수있다.

(Fedora core 6에서는 yum install samba만 해줘도 설치완료되는데 이하버전에서는 모름)

 

여기서부터는 필자가 삼바가 설치되지 않은(Fedora Core) 서버에서 작업하는 것이다.

필요한 rpm 4개.

samba-3.0.3-5.i386.rpm -----------> 삼바서버페키지

samba-client-3.0.3-5.i386.rpm -----> 삼바클라이언트 패키지

samba-common-3.0.3-5.i386.rpm ---> 삼바 서버와 클라이언트모두 사용하는 페키지

samba-swat-3.0.3-5.i386.rpm ------> 삼바서버 웹관리 페키지

 

[root@su202 root]# rpm -qa | grep samba

[root@su202 root]# <--------------------------samba 패키지가 설치되어 있지 않음을 확인

 

[root@su202 root]# wget http://firewolf.co.kr/download/linux/FC2/samba-3.0.3-5.i386.rpm

[root@su202 root]# wget http://firewolf.co.kr/download/linux/FC2/samba-client-3.0.3-5.i386.rpm

[root@su202 root]# wget http://firewolf.co.kr/download/linux/FC2/samba-common-3.0.3-5.i386.rpm

[root@su202 root]# wget http://firewolf.co.kr/download/linux/FC2/samba-swat-3.0.3-5.i386.rpm

[root@su202 root]#

[root@su202 root]# ll

-rw-r--r-- 1 root root 14954854 7¿u 13 14:46 samba-3.0.3-5.i386.rpm

-rw-r--r-- 1 root root 3479150 7¿u 13 14:47 samba-client-3.0.3-5.i386.rpm

-rw-r--r-- 1 root root 4314742 7¿u 13 14:48 samba-common-3.0.3-5.i386.rpm

-rw-r--r-- 1 root root 4427992 7¿u 13 14:50 samba-swat-3.0.3-5.i386.rpm

 

자 위와같이 다운로드를 다 받았으면 아래와 같이 통들어 한번에 설치한다.

 

[root@su202 root]# rpm -ivh samba*

 

이렇게 하면 특별히 의존성오류가 나지 않는한 쭉 설치가 된다.

의존성오류란 설치시 필요한 라이브러리나, 이전에 설치되었다가 지웠다거나 워낙 서버들의 환경이 다양하므로 의존성 오류가 날수도 있으니 그럴때는 그 에러메세지를 필자의 메일로 보내주면 처리 방법을 올리도록 할것이다.

 

자 역시나 아래와 같이 라이브라리가 없다면서 설치가 않된다.

이럴때는 흥분하지말고 필요하다고 하는 libcups.so.2 놈을 설치해주면 된다.

[root@su202 root]# rpm -ivh samba*

°æ°i: samba-3.0.3-5.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2

¿A·u: Failed dependencies:

libcups.so.2 is needed by samba-3.0.3-5

libcups.so.2 is needed by samba-common-3.0.3-5

libcups.so.2 is needed by samba-swat-3.0.3-5

 

[root@su202 root]# wget http://ftp.superuser.co.kr/pub/fedora/core2/update/cups-libs-1.1.20-11.11.i386.rpm

[root@su202 root]# rpm -Uvh cups-libs-1.1.20-11.11.i386.rpm

°æ°i: cups-libs-1.1.20-11.11.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2

Aغn Aß... ########################################### [100%]

1:cups-libs ########################################### [100%]

 

이렇게 요구사항을 충족시켜주고 다시 해보자

 

[root@su202 root]# rpm -ivh samba*

°æ°i: samba-3.0.3-5.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2

Aغn Aß... ########################################### [100%]

1:samba-common ########################################### [ 25%]

2:samba ########################################### [ 50%]

3:samba-client ########################################### [ 75%]

4:samba-swat ########################################### [100%]

 

자 이와같이 설치가 잘 되는것을 확인할수있다.

 

그럼 위에서 설치가 되었는지 확인하는 방법을 소개하였다.

다시한번 설치가 잘 되었는지 확인해보자.

 

/etc/rc.d/init.d/smb start 로 실행을 하고

pstreenetstat -anp | grep LISTEN 명령어로 확인해본다.

 

 

3.     기본적인 삼바서버 셋팅하기

 

설정이라해봤자 별거 없다. 여타 서비스처럼 [global]설정부분개별사용자설정부분 두 개로 구분한다면 할 수있다. 글로벌설정이 중복 되는게 있으면 개별사용자설정이 우선하는 점을 알고 먼저 가장기본적으로 삼바를 사용하기 위해 이거만 딱 해부면 된다는 설정을 먼저 하고 옵션적인 설정은 그 뒤에 보자. 먼저 결과를 봐야 감이 쏴~아 오기 때문이다.

 

뭘 설정해야 가장 기본적으로 내피씨에서 삼바서버로 바로 접속해서 파일을 쓰고 읽고 할수있을까?

 

이렇게만 하면 된다.

 

자 먼저 공간이 있어야 한다.

보통 public 로 많이 쓰므로 적당한 위치에 디렉토리를 만들고 그에 대해 설정파일을 열어 초간단 설정을 하고 바로 PC에서 접속해 봅시다.

 

cd /home

mkdir samba

cd samba

mkdir public

chmod 777 public

 

vi /etc/samba/smb.conf <----- 삼바설정파일 입니다.

 

생략 ... ...

 

[global]

# 언어셋 서포트 부분 그냥 아래 3줄 적어준다.

unix charset = cp949

dos charset = cp949

display charset = cp949

 

#윈도우의 workgroup 와 같게 맞추어야 윈도우에서 인식함

workgroup = MYGROUP

 

#윈도우에서 네트워크환경을 클릭했을이 이 삼바서버의 이름

server string = Samba Server

 

#요거는 다른 호스트(다른 네트워크 즉 워크그룹이 다를 때) 허용할 호스트를 #지정하는 부분이지만 설정해도 실제 외부에서는 잘 접속이 안된다.

#우리나라 통신사에서 해당포트를 오픈하고 있지 않기 때문이다.

hosts allow = 192.168.0. 192.168.1. 이렇게 한다.(주석가능)

 

#이것을 꼭 User 라고 되어있는 것을 share로 바꾼다.

#특정공간을 사용자인증을 받게 하고 싶으면 세부설정에서 옵션을 user 로

#해버리면 위에서 세부설정이 우선한다고 했기 때문에 user로 사용자인증으로

#접근할수있다.

security = share

 

생략 ... ...

 

젤 아래부분으로 이동하여 .. ^^ ; 다음을 입력한다. (주석은 빼고 ㅋㅋ 굵은 글씨만 적어본다.)

[public]

      comment = 누구나접근가능한 디렉토리

      path = /home/samba/public <------- 위에서우리가 미리 만들어 두었죠!?

       #valid users = testuser1 <--------------- user인증일때 인증사용자정의 여기선필요없음

      read only = no <---------------------- 여길 단순히 읽기만 되도록 하겠느냐?

     writable = yes <----------------------- 여기에 쓰기를 허용하겠느냐?

      security = share <-------------------- 보안보드 설정 share(다오픈), user(윈도우와같은 ID)

      public = yes <------------------------ 공동사용 디렉토리로 할 것이냐?

      create mask = 0755 <-------------------- 파일이나 디렉토리생성시 퍼미션값

 

이것으로써 초 간단 삼바서버 만든 후 모두 공유해서 쓸수 있는 public 방을 만든셈이다.

 

셋팅한것을 적용하기 위해서 삼바 restart를 한다.

/etc/rc.d/init.d/smb restart

반응형

'Linux > Linux 일반' 카테고리의 다른 글

BSD  (0) 2007.04.24
Samba service 설치  (0) 2007.04.13
리눅스 글꼴 설정  (0) 2007.03.14
Posted by Real_G

댓글을 달아 주세요