[Linux]삼바설정가이드

컴퓨터 팁/OS 2008. 6. 24. 15:00 posted by 야매코더
삼바(samba)설정 가이드 (2.X & 3.X) Linux

http://blog.naver.com/lovinghc/30015211906

★★삼바(samba)설정 가이드 (2.X & 3.X)
=================================================
        updated by lim geun sik lon 2006.09.30

■  1. 삼바 서버 유저 생성방법
■  2. 삼바 서버의 네트웍 속도 항샹 기법
■  3. 삼바 클라이언트 작동법
■  4. 삼바 마운트작동법(3.0.11이상버젼부터는 mount -t cifs이용)
■  5. swat 을 이용하여 웹으로 설정하는 방법
■  6. MS의 프린터 이용하기
■  7. 삼바 실행파일 설명
■  8. 삼바(samba)서버 환경 화일 ( smb.conf )
■  9. 윈도우즈 컴퓨터 사용자에게 netbios 메세지 전달
■ 10. 삼바 버젼(2.X , 3.X)별 한글 지원(공유) 처리 설정
■ 11. nautilus로 리눅스에서 윈도우 파일서버(\\) 접근하기
■ 12. xSMBrowser(samba Utility)로 네트웍 브라우징  
■ 13. 윈도우에서 삼바서버 접근시 "동일한 사용자가 ..." 에러메세지 나올 경우
■ 14 .리눅스에서 시스템계정 및 삼바계정을  한줄 명령어로 처리하기

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

■ 1. 삼바 서버 유저 생성방법
  A. /etc/samba/smb.conf 에 아래의 8. 파일 내용을 Drag&Drop할것.

  B. 삼바유저 생성
      B-1.  samba 2.X      
          #> smbadduser leemgs:Administrator   <--- (Linux ID: win ID)
           - Window's ID:  Windows's LoginID
           - smbpasswd:  Window's Password

      B-2.  samba 3.X
             #>smbpasswd -a linux.system.id   <---  ( Linux ID)
             #> vi /etc/samba/smbusers  <---------  ( Linux ID = Wind ID)
    ---[samba 3.X]--------------------------------------------------
    #> smbpasswd -a test                               ## 삼바유저 비밀번호 생성
    #> grep test /etc/samba/smbpasswd          ## 확인
    #> smbpasswd  test                                  ## 삼바유저 비밀번호 변경
    #> smbpasswd -d test                               ## 삼바유저 사용중지
    #> smbpasswd -e test                               ## 삼바유저 다시사용하기
    #> smbpasswd -x test                               ## 삼바유저 삭제하기
    ------------------------------------------------------------------

  C. /etc/rc.d/init.d/smb restart
     주의) 1. 환경 파일을 수정후에 반드시 smb를 재시작하여 적용시킬것.
             2. /etc/group에 특정그룹아이디에 유저아이디 추가시에  smb재시작해야함.

  D. Windows Client에서 리눅스 삼바서버 접근( UDP: 137, 138   TCP:139, 445 )
     방법1) 시작-실행에서 \\삼바서버IP Address\디렉토리명
            예) \\192.168.0.3\myshare [enter]
     방법2) 시작-찾기-컴퓨터에서 리눅스IP를 적으면 다음부터 네트웍 환경에서
            바로 찾는다.

  E. password부분에 삼바계정의 user와 password를 기입하고 엔터를 칠것.

  F. 인증이 통과하면 탐색기가 나온다. 이제 사용하면 된다.


■ 2. 삼바 서버의 네트웍 속도 항샹 기법
  #> vi /etc/samba/smb.conf <-- (Redhat 7.0 Series)

  #> vi smb.conf ( 아래 줄을 수정 또는 추가할것.)
    socket options = TCP_NODELAY IPTOS_LOWDELAY SO_SNDBUF=4096 SO_RCVBUF=4096

  저장을 하신후에 삼바를 재실행하면, 재실행후에 크기가 큰 파일(약 8M)을 전송해보면
  전송속도가 향상된것을 확인해 보시기 바랍니다.



■ 3. 삼바 클라이언트 작동법
  가. 특정 호스트(IP주소) 공유  내역 보기
            #>/usr/bin/smbclient -L skuld -U invain
        or #>/usr/bin/smbclient -L 211.189.127.5 -U invain
  나. 특정 호스트(IP주소) 삼바로 FTP처럼 접근하기
             #>/usr/bin/smbclient //skuld/appzone -U invain
        or  #>/usr/bin/smbclient \\\\skuld\\appzone -U invain
        or  #>/usr/bin/smbclient '\\skuld\ppzone' -U invain

  다. smbclient 외부 네트워크에 있는 컴퓨터일 경우
   #>smbclient -L 컴퓨터이름 -I 컴퓨터의 IP주소


■ 4. 삼바 마운트 사용방법(3.0.11이상버젼부터는 mount -t cifs이용)
#> smbmount[마운트하고자 하는하드][마운트할위치][옵션]

#> smbmount //skuld/incoming /backup -o username=invain,codepage=cp949,iocharset=euc-kr
    OR
#> smbmount //210.118.56.230/incoming /backup -o username=invain,workgroup=SSM
    OR
#> mount -t smbfs -o username=backup, password=back896332 //210.118.56.230/incoming /backup/210.118.56.230/home

* 참고) samba-3.0.11 이상을 쓰는 페도라 코어 4이상 버젼부터는 smbmount명령이
제공되지 않으므로 아래와 같이 "#>mount -t cifs (or #>mount.cifs " 또는 커널의 smbfs을 체크하여
빌드하여 "#>mount -t smbfs ......"을 사용해야 한다.
fc5#>mount -t cifs //168.219.177.78/share /mnt/cass.server/share -o username=invain,password=ekqlscl98,codepage=cp949,iocharset=euc-kr


■ 5. swat 을 이용하여 웹으로 설정하는 방법
  #>vi /etc/inetd.conf
    swat    stream   tcp   nowait.400 root /usr/sbin/swat  swat

  #>vi  /etc/services
     swat    901/tcp

  #> killall -HUP inetd  (inetd  데몬 재시작)

  웹브라우저로 접속하여 테스트
  http://ipaddress:901/


■ 6. MS의 프린터 이용하기
  A. 사용가능한 공유확인
     #>  /usr/sbin/smbclient -L host
  B. 윈도우즈 드라이버 공유
     #> /usr/sbin/smbclient serice
  C. 윈도우즈 프린터 사용
      #> /usr/bin/smbclient \\\\rie\\hp  password -U invain -N -P
         -N:  패스워드를 묻지 말라는 뜻.
         -P:  프린터로의 접속을 의미.


■ 7. 삼바 실행파일 설명
  A. smbclient     : 유닉스를 위한 삼바 클라이언트
  B. smbprint      : 삼바 호스트의 프린터에 프린트를 하기 위한 스크립트
  C. smbprint.sysv : 위 smbprint와 같지만 SVR4유닉스를 위한것임.
  D. smbstatus     : 현재의 삼바 연결 상태를 보여줌
  E. smbrun        : 삼바 호스트의 응용 프로그램 실행을 용이하게 하는 스크립트



■ 8. 삼바(samba)서버 환경 화일 ( smb.conf )

# Last modified by geun sick , lim
# 2002.01.03
# OS:Redhat 7.1 Kernel 2.4.16
# samba Server Config file (/etc/samba/)
#  
# --------------- 환경 설정 파일 -------------------------------------------
[global]
workgroup     = Workgroup            
               #네트웍 환경설정시 자신의 그룹
netbios name  = invain_231(LINUX)
               #실제 윈도우에서 보이는 이름
netbios alias = invain_231(LINUX-SERVER)

server string = "근식이의 리눅스 삼바 서버"
               # 삼바 서버명
client code page = 949      
                  # EUC_KR(CP949)
load printers = yes
log file      = /var/log/samba/log.%m
max log size  = 50
security      = share      
               # 윈도에서 디스플레이 하려면 반드시 설정.(보안제거: share)    
encrypt passwords = yes
username map      =/etc/samba/smbusers
                  # 리눅스아이디와 윈도우 아이디가 다를경우 이용
smb passwd file   = /etc/samba/smbpasswd
                 #삼바에 계정과 암호를 확인하는 파일정보
socket options    = TCP_NODELAY
remote announce   =  192.168.74. 192.168.0.  
                  #윈도에서 잘 보이게 하는 설정
dns proxy         = no
preserve case     = yes
short preserve case = yes

#--------------- 네트웍 공유 정의--------------------
#  주의사항:  아래의 네트웍 공유를 설정한후 윈도우즈 컴퓨터에서 접속을 시도하다가
# 아래의 삼바설정내용을 다시 변경하는 경우에 동기화 문제로 인하여 윈도우즈에서
# 해당 공유 삼바 디렉토리로 접근하면 아무런 내용이 보이지 않을수 있다. 이때 윈도우즈
# 컴퓨터를 다시 리부팅하면 된다. -  2005.11.30   임근식 trouble report
#
[home]
# 공유하고자 하는 디렉토리를 설정 (개인)  
comment = Home Directories
browseable = no
writable = yes
valid users = %S
create mode = 0664
directory mode = 0775
             
[data]
# 공유하고자 하는 디렉토리를 설정 (공용)
comment = /data 디렉토리
path = /data
browseable = yes
public =  yes
writable = yes
printable = no

# cat /etc/group
# share:x:2407:djshin,jyhwang,msjang,omegak,toselfa,ykchoe,invain,jounggj
[share]
       comment = shared directory
       path = /home/share
       public = yes
       writeable = yes
       guest ok = yes
       write list = @share

# Only invain id can write permission.
[share2]
       comment = shared2 directory
       path = /home/share2
       public = yes
       writeable = no
       guest ok = yes
       write list = invain
#-------------------------------------------

(참고) samba 에서 공유디렉토리를 지정할 때 사용하는 옵션 설명
- read only : 공유 디렉토리를 읽기만 가능하게 할 것인지를 결정
- writable, write ok : 공유 디렉토리를 쓰기 가능하게 할 것인지를 결정
- valid users : 공유 디렉토리에 로그인할 수 있는 사용자를 결정
- public, guest ok : 다른 사용자들이 이용하게 할 지를 결정
- browseable : 공유 디렉토리의 리스트를 보여줄 지를 결정
- printable : 공유 디렉토리에 스풀 파일을 지정할 것인지를 결정

- path : 공유할 디렉토리의 절대경로를 지정
- comment : 간단한 설명을 적음
- create mask, create mode : 파일을 생성할 때의 모드를 umask 결정.
- write list : 쓰기가 가능한 특정 사용자를 지정



■ 9. 윈도우즈 컴퓨터 사용자에게 netbios 메세지 전달
  #> smbclient -M Windows-HostName(Winpopup)
  - winpopup.exe 프로그램에 간단한 메시지 전달
  - 윈도 서버에 winpopup.exe가 실행되고 있어야 함
  - 예) $ smbclient -M windowsserver

■ 10. 삼바 버젼별 한글 지원(공유) 처리 설정
# for samba 2.x
client code page = 949
coding system = KS8
client code page = 949

# for samba 3.x
client code page = 949
dos charset = cp949
unix charset= euc-kr



■ 11. nautilus로 리눅스에서 윈도우 파일서버(\\) 접근하기

- 테스트 환경: Fedora Core 2
- 작성일: 2004.12.06

1). X-windows환경에서 터미널을 작동시켜 컹커러 또는 노틸러스 실행

#> /usr/bin/konqueror [Enter]  
또는
#> /usr/bin/nautilus -> 파일 -> 폴더 찾아보기 클릭


2). 접근하려는 윈도우 파일서버 주소록 입력

예1) smb://fsroot/upload$/
예2) smb://211.189.127.11/c$/


3). 접근한 주소 사용



■ 12. samba Browser(samba Utility)로 네트웍 브라우징  

2) Komba  
http://komba.sourceforge.net/
Komba is a samba share browser for KDE. It can mount and unmount shares.

3) AutoScan
http://autoscan.free.fr/
A utility for network exploration (samba and Nessus client).
AutoScan is an application designed to explore and manage your network.
Entire subnets can be scanned simultaneously without human intervention.

4) Smb4K
http://smb4k.berlios.de
Smb4K is a SMB and CIFS (Windows) share browser for KDE.
It uses the samba software suite to access the SMB and CIFS shares of the local network neighborhood.



■ 13. 윈도우에서 삼바서버 접근시 "동일한 사용자가 ..." 에러메세지 나올 경우

에러메세지:
동일한 사용자가 둘 이상의 사용자 이름으로 서버 또는 공유 리소스에 다중 연결할 수 없습니다.
서버나 공유 리소스에 대한 이전 연결을 모두 끊고 다시 시도하십시오.

해결방법:
C:\>net use
새 연결 정보가 저장됩니다.
상태         로컬      원격                         네트워크
-------------------------------------------------------------------------------
연결 끊김    X:        \\cass.servehttp.com\share2  Microsoft Windows 네트워크
연결 끊김    Y:        \\cass.servehttp.com\share   Microsoft Windows 네트워크
연결 끊김    Z:        \\10.88.165.50\doc           Microsoft Windows 네트워크
-------------------------------------------------------------------------------

* net use 연결 제거 : c:\> net use //서버이름/공유이름 /d

■ 14 .리눅스에서 시스템계정 및 삼바계정을  한줄 명령어로 처리하기
#> adduser -d /home/USERNAME -pPASSWORD USERNAME
#> echo "USERNAME:PASSWORD" | chpasswd
#> (echo PASSWORD; echo PASSWORD;) | smbpasswd -as USERNAME


■ 15. 시스템 및 삼바의 암호 변경을 위한 웹 Client(C Cgi)

ChangePassword modifies the passwords of passwd, samba, and Squid through the Web.
All passwords are syncronized and changed in real time over a browser like Mozilla,
Netscape, IE, Opera, and others.
#> tar xvzf ./changepassword-0.9.tar.gz
#> vi ./info.h
#> ./configure --enable-cgidir=/var/www/html/smbmanage --enable-language=English \
--enable-smbpasswd=/etc/samba/smbpasswd --disable-squidpasswd --enable-logo=./smbmanage/opentech.jpg
#> make
#> make install