삼바(Samba)란?

삼바란 리눅스에서 동작하면서 윈도우의 랜 매니저 기능을 흉내내는 소프트웨어입니다. 윈도우쪽에서 리눅스 서버의 하드디스크와 네트웍 프린터 자원을 공유하도록 환경을 설정할 수 있고, 삼바를 통해 리눅스 쪽에서 윈도우쪽 파일시스템과 프린터로도 접근할 수 있습니다. 이러한 것은 모두 삼바서버가 SMB(Server Message Block)/CIFS(Common Internet File System) 프로토콜을 흉내냄으로써 가능해집니다.

- 삼바는 기존 네트워크 환경에 물려있는 이종 운영체제를 하나로 통합해서 관리하며 사용할 수 있도록 허용한다. 윈도우 NT, 윈도우 98만이 사무실이나 연구실에서 사용하는 운영체제의 전부가 아니다. 매킨토시, 윈도우 98, 윈도우 ME, 솔라리스, 리눅스, FreeBSD, HP-UX와 같은 운영체제가 혼재할 경우 삼바가 유일한 대안이다.

- 삼바는 파일서버 뿐 아니라 인쇄 서버로서 중요한 구실을 맡는다. 오라일리에서 나온 "Network Printing"을 살펴보면 유닉스(리눅스) 서버에 프린터를 물려 놓고, 중앙 집중식으로 관리하는 방법을 소개하는데, 여기서 윈도우 기계와 통신을 삼바로 처리한다.

- 삼바는 주 도메인 관리기로 동작할 수 있다. 삼바를 사용하면 윈도우 98/ME나 윈도우 NT 워크스테이션 그룹을 묶기 위해 더 이상 윈도우 NT 서버가 필요 없다.
삼바를 사용하면 여러 윈도우 NT 서버를 두는 대신 강력한 유닉스 기계 하나로 대체할 수 있다.


삼바는 서로 연관되어 있지만 약간씩 다른 목적으로 동작되는 몇 개의 프로그램들의 집합으로 이루어져 있다.

- smbd : 삼바 서버와 클라이언트 사이의 공유된 리소스를 운영하는 역활을 담당하는 데몬 프로그램. 네트워크를 통해 접근하는 클라이언트에 대해 파일, 프린터, 탐색 서비스를 제공한다. 그외 사용자 인증, SMB 프로토콜을 통한 데이타 공유, 리소스 락을 수행한다.
- nmbd : WINS와 NetBIOS의 네임서버 기능을 모방하여 간단한 네임서비스를 제공하는 데몬이다.

이 외에 삼바는 다음 여러가지의 unix 명령어 툴들을 포함하고 있다.
* smbclient : 공유되어 있는 삼바 디렉토리에 접근하는 유닉스 커맨드
* smbtar : 공유되어 있는 디렉토리를 백업하기 위한 커맨드. tar와 비슷한 형태로 동작한다.
* nmblookup : NetBIOS 네임서비스를 제공해주는 유틸
* smbadduser : 삼바 계정을 추가하는 유틸
* smbpasswd : 삼바 프로그램에 의해 사용될 패스워드를 설정하는 툴
* smbstatus : 현재 네트웍에 연결되어 있는 삼바 공유 디렉토리 정보를 삼바 서버로부터 가져와서 출력해주는 유틸
* testparm : 삼바설정파일(smb.conf)의 적합성 여부를 테스트하는 유틸
* testrns : smbd에 의해 사용 가능한 프린터를 검색할 때 사용되는 유틸

삼바을 설치 하는 방법에는 소스 방식과 패키지 방식이 있는데 여기서는 패키지 방식으로 삼바을 설치 해 보겠습니다.

---------------------------------------------------------------------------------

삼바 서버를 설치 하기 위해서는 몇가지 패키지 가 더 필요 합니다.

-------패키지 확인-----
#pkginfo | grep ncurses
#pkginfo | grep popt
#pkginfo | grep gcc
#pkginfo | readline

등이 설치 되는있지 확인해보고 없으면 samba 를 설치 하기전에 위에 나와 있는 것들을
설치 해야 합니다.

---------------------------------------------------------------------------------

-------삼바 다운로드------
삼바 및 패키지 다운로드......

www.sunfreeware.com
samba-3.0.10-sol9-sparc-local.gz
readline-5.0-sol9-sparc-local.gz
popt-1.7-sol9-sparc-local.gz
ncurses-5.4-sol9-sparc-local.gz

---------------------------------------------------------------------------------

--------패키지 gzip 압축 풀기 -----
#gunzip * 및
#gunzip samba-3.0.10-sol9-sparc-local.gz


---------------------------------------------------------------------------------

--------패키지 설치 -------

다음 패키지등을  설치 할경우 속성 변경에 대해 물음을 확인 하는데
모두 y 를 누르면 된다.

#pkgadd -d readline-5.0-sol9-sparc-local
#pkgadd -d ncurses-5.4-sol9-sparc-local
#pkgadd -d popt-1.7-sol9-sparc-local
#pkgadd -d samba-3.0.10-sol9-sparc-local


---------------------------------------------------------------------------------

삼바을 패키지로 설치 할 경우

디렉토리는      :/usr/local/samba 디렉토리로 생성이 됩니다.
환경 설정 파일 :/etc/sfw/smb.conf
                      smb.conf 파일은 ../sfw/ 폴더 안에 smb.conf-example 파일로
                      복사 해서 만들거나 새로 touch 명령으로 생성 할수 있습니다.
실행스크립트  :/etc/init.d/samba {start|stop}


---------------------------------------------------------------------------------

--------/etc/services , /etc/inetd.conf 파일 수정 ---------

#vi /etc/services

swat            901/tcp    추가

#vi /etc/inetd.conf

swat stream tcp nowait.400 root /usr/sfw/sbin/swat swat 추가

 

시작할때 마다 삼바 데몬을 띄우기 위한 파일 수정.



---------------------------------------------------------------------------------


---------스크립트 재 실행 ------

#ps -ef | grep inetd
    root  154    1  0 08:27:14 ?        0:00 /usr/sbin/inetd -s
    root  948  475  0 10:07:27 pts/3    0:00 grep inet
#pkill -HUP 154


---------------------------------------------------------------------------------

---------smb.conf 파일 설정-------

경로 : /etc/sfw/smb.conf

#touch /etc/sfw/smb.conf 생성
#vi /etc/sfw/smb.conf

[global]
                workgroup = WORKGROUP  -- 네트웍크 그룹 (윈도우의 그룹과 일치시켜야함)
                server string = samba test1  -- 컴퓨터 이름(그룹의 컴퓨터 이름 없을시
                                                           (Samba X.x.x 버전표시)
                guest account = samba ---- 컴퓨터 설명
                printing =sysv ---- 프린터 공유가 아니라면 필요없음
                printcap name = /etc/printcap --- 프린터 공유가 아니라면 필요없음
                mangle case = no 
                load printers = no
                short Preserve case = yes
                preserve case = yes 
                        client code page = 949
                socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
                security = SHARE 

 

퍼온글에 나중을 위해 색칠을 한다.

빨간색은 꼭 필요, 녹색은 없어도 되나 있음 좋은것

빨간색만 있음 나머지는 없어도 파일공유용으로는 전혀 문제 없다.

여기서 파일공유용이란 누구나에게나 파일을 공유한다는 말이다.



  [data] <---- 공유한 디렉토리 별명.
                comment = news ------- 공유 폴더 설명
                path = /export/home/samba  -------공유 디렉토리
                                                 (하고싶은 디렉토리로)            
                writeable = yes
                guest ok = yes
 - data 에 guest ok =yes 하면 모든 사람이 접근 해서 읽고 쓰기가 가능 합니다.
또는 public = yes

---------------------------------------------------------------------------------


-------------- 공유 디렉토리 접근 계정 생성 ------
단순 위에서 말한 파일공유용이라면 필요없다.

삼바 서버 계정 : samba
삼바 서버 그룹 : sambagrp
삼바 서버 디렉토리 : /export/home/samba

#groupadd sambagrp
#useradd -m -d /export/home/samba -G sambagrp -s /bin/false samba

---------------------------------------------------------------------------------

 삼바 실행

#/etc/init.d/samba {start|stop}

실행데몬 확인

#ps -ef | grep bd
    root  719    1  0 09:17:16 ?        0:00 /usr/sfw/sbin/nmbd -D
    root  720  717  0 09:17:20 ?        0:00 /usr/sfw/sbin/smbd -D

자동스크립트 확인

#vi /etc/rc3.d/S90samba 

[출처] http://blog.naver.com/cuttin/80047632532

'IT > Unix' 카테고리의 다른 글

/etc/vfstab  (0) 2008.12.08
Data 이관  (0) 2008.12.08
TCP Wrapper  (0) 2008.10.01
Crontab 설명  (0) 2008.09.29
솔라리스 어드민 요약 문서  (0) 2008.08.21

+ Recent posts