# ===============================================================================
# 1. 이 파일은 알짜 리눅스5.2a 버전에 들어 있는 삼바설정 파일을
#
# 2.알아보기 쉽게 수정한(빨간색부분) 파일입니다....
#
# 3.원 파일은 /etc/smb.conf 입니다. 버전은 1.9.18p10-5kr입니다.
#
# 4.먼저확일할 일은 /etc/smb.conf파일이 있으면 일단 삼바데몬이 설치되어 있다는
#    뜻이다.또는 # rpm -qi samba 명령으로 설치여부를 알 수 있다.
#
# 5.셀명령으로 # ntsysv 해보아 [*]smb 가 체크되어 있는지 확인한다.
#
# 6.모든 설정이 끝났으면 삼바데몬을 재가동해야한다.. 재부팅하지않고
#    /etc/rc.d/init.d 디렉토리에서 # ./smb restart 명령을 가해준다.
#
# 이 설정파일에 추가한 목적 +++++++++++++++++++++++
# 왕초보자도 리눅스 삼바서버를 설정할 수 있다.
#
# 이 설정파일에 추가한  목적 ++++++++++++++++++++++
# 가장 기초적인 리눅스와 윈도우9x/NT간의 파일, 프린터 공유
# 즉 guest 로 접속한 윈9x?NT에 읽기와 쓰기권한을 가질 수
# 있는 공유폴더(이하 "디렉토리")를 만든다.
#
# 수준 : 왕초보용
#
# 주의 : 여기에서 소개한 설정은 가장 기초적인 설정뿐입니다.
# 그리고 보안에도 문제가 있는 경우입니다.
# 따라서 삼바에 관한 How-to문서를 꼭 읽어보시길 바람..
#
# 이 설정에 따른 개인적 불이익에 대한 본인은 책임 없음.
# 학습목적으로 사용하시길 바랍니다..
#
# 제가 잘못이해하고 있는 부분에 대해서는 메일을 보내주세요.
#-------------------ⓒSan2(san2(at)urban.suwon.ac.kr)
#
# ===============================================================================
# 2번째 수정한 부분
#
#
# 이 파일은 삼바의 주요 설정 파일입니다.  앞으로 나오는 옵션들을 이해하기
# 위해서는 smb.conf(5) 맨 페이지를 꼼꼼히 읽어보시기 바랍니다.
# 삼바에는 방대한 양의 설정 옵션이 있지만(어떻게 보면 너무 많다고 생각하실
# 수 있습니다) 다음 예에서는 보여지지 않는 것들이 많습니다.
#
# ; (세미 콜론) 또는 # (해쉬) 로 시작하는 줄은 모두 주석이며 무시합니다.
# 다음 예에서는 주석에 대하여 # 를 사용하며 여러분이 작동시기킬 원할 지
# 모르는 옵션에 대해서는 ; 문자로 구별하여 처리하였습니다.
#
# 주의: 설정 파일을 수정하고 나서는 기본적인 문법 오류 여부를 검사하기
# 위해 "testparm" 명령을 실행해보십시오.
#
# 번역자 : 이 만 용 <geoman@nownuri.net>
#
# 제공 : 알짜 팀
#
# 버전 : 알짜 리눅스 5.1
#
# 오역을 발견하시거나 추천할 사항이 있으시면 위 메일 주소로 연락을 주십시오.
# 그 이외의 일반적인 질문에 대해서는 답변하지 않습니다.
#
#======================= 전체 설정 ===========================================
[global]

# workgroup = NT 도메인 이름 또는 워크그룹 이름

   workgroup = 11자료실
# 설명 : 윈9x/NT의 네트웍크환경에 나타난 작업그룹명입니다.

# server string 은 란 NT 설명 필드와 같은 것입니다.

   server string = "산이꼬 리눅스 삼바서버"
# 설명 : 리눅스박스에 대한 설명을 적어놓았습니다.
# 개인에 맞게 설정바람.

# 클라이언트 코드 페이지 (한국어 = 949)

   client code page = 949

# 이 옵션은 보안과 관련하여 중요한 것입니다.  이 옵션을 통해 여러분의 근거리
# 네트웍에 있는 호스트에게만 접근을 허용할 수 있습니다.
# 다음 예는 2 개의 C 클래스 네트웍과 "loopback" 인터페이스에 대해서만
# 접근을 허용하고 있습니다.  문법 예는 smb.conf 맨페이지를 참고하시기 바랍니다.

   hosts allow = 210.123.59. 210.123.58. 210.123.57. 210.123.56. 210.123.55. 210.123.55. 210.123.54. 210.123.52. 210.123.51. 210.123.49. 127.

# 설명 : 위는 접속가능한 C클래스 호스트이고, 뒤에 dot(.) 주의
# 자세한 문법내용은 /usr/man/smb.conf(5) 파일을 참고.

# 프린터 설정을 개별적으로 하지 않고 자동으로 프린터 목록을 포함시키길
# 원한다면 다음 옵션을 사용합니다.
# printcap 에서 정의한 프린터 목록이 자동으로 등록됩니다.
# load printers = no 이면 하나하나 정해주셔야 합니다.

   load printers = yes

# printcap 파일의 위치를 새롭게 지정하고 싶을 때 사용하십시오.

;   printcap name = /etc/printcap

# SystemV 시스템에서는 printcap name 을 lpstat 으로 해주면 SystemV 스풀
# 시스템으로부터 프린터 목록을 자동으로 얻게 해줍니다.

;   printcap name = lpstat

# 여러분의 프린팅 시스템이 표준에서 벗어난 것이 아니라면 다음 옵션의 주석을
# 풀 필요가 없습니다.  현재 지원하고 있는 프린트 시스템은
# bsd, sysv, plp, lprng, aix, hpux, qnx 등입니다.
;   printing = bsd

# 손님 사용자를 허가하고 싶을 때는 다음 행의 주석을 풀어줍니다.
# nobody 가 아닌 경우에는 /etc/passwd 항목에 설정한 손님 사용자 계정을 추가
# 해야 합니다.
# useradd 명령으로 설정하십시오.

  guest account = pcguest
# 설명 : 위의 설정은 기본값에 앞에 주석(;)을 제거한 상태입니다.
# /etc/smbusers 파일을 보시면
# nobody = guest pcguest smbguest
# 3개의 nobody 계정이 있습니다.
# 즉 이 중에서 한개를 위와 같이 설정하고 주석제거하면
# 윈9x/NT에서 네트웍크로고온한 모든 users(여기에서는 pcguest 로 간주)에게
# 아래 공유폴더에 guest 권한을 준 디렉토리에는 접근할 수 있습니다.
# 다만 위의 예라면 리눅스박스에서 root가 adduser pcguest 명령으로
# "pcguest" 라는 계정을 만들어 줘야하고 passwd는 입력하지 않아야 한다.
# 보안에 심각한 문제를 줄수 있으므로 중요한 디렉토리에 공유디렉토리로 만들지 말것.
# 본 예제는 "11자료실"이라는 특수성때문에 윈9x/NT의 모든 유저에게
# 특정디렉토리에 한하여 읽기 및 쓰기 권한을 주었다.

# 다음은 삼바로 하여금 자신에 접속하는 호스트 별로 개별적인 기록 파일을
# 만들도록 지시합니다.
# "/var/log/samba/log.접근호스트이름"과 같은 파일명을 가집니다.
# %m 은 삼바 설정에서 사용되는 특수한 변수입니다.

   log file = /var/log/samba/log.%m

# 로그 파일 크기의 상한선을 Kb 단위로 설정합니다.

   max log size = 50

# 보안 모드입니다.  대부분의 사람들에겐 user 레벨의 보안이 맞습니다.
# 자세한 내용은 security_level.txt 문서를 참고하십시오.
# 참고로 user 는 유닉스 계정이름/패스워드 방식의 보안 등급이며
# share는 워크그룹 포 윈도우즈(WfW)와 윈도95의 기본 모드입니다.
# server의 경우에는 인증을 위해 NT 서버가 필요합니다.

;   security = user
# +++++++++++++++++++++++++++++++++
    security = share
# 설명 : share 로 바꾸어야 윈9x/NT의 모든 유저들이 접속할 수 있음.
# user 옵션은 리눅스박스계정과 윈9x/NT의 계정이 같은 경우만
# 접속할 수 있다.
# 위의 share옵션으로 리눅스박스의 자신의 계정인 디렉토리로
# 접근하기 위해서는 윈9x/NT의 계정을 리눅스박스의 계정과
# 동일하게 로그온한 다음 리눅스박스로 접속할 수 있다.

# security = server 인 경우에만 패스워드 서버를 설정합니다.

;   password server = <NT 서버 이름>

# 패스워드 레벨에서는 대소문자 모든 조합에 대하여 _n_ 개의 문자로 이뤄진
# 패스워드를 사용하도록 합니다.

;  password level = 8

# 패스워드 암호화를 사용하고 싶을 때가 있을 겁니다.  삼바 문서 중에서
# ENCRYPTION.txt, Win95.txt, WinNT.txt 를 꼭 읽어보시기 바랍니다.
# 이 문서를 착실히 읽지 않은 상태에서 다음 옵션을 설정하지 마십시오.
# 윈도우즈NT 4.0 서비스 팩 3 번 이상인 시스템에서는 패스워드 암호화가
# 필요합니다.

  encrypt passwords = yes
  smb passwd file = /etc/smbpasswd

# 주석제거했음.(윈98에서 자신의 계정에 접속하기 위해서)
# 수정후 다음과 같이 계정을 주어야 한다.
# # smbadduser san2:san2 <---------1번
# # smbpasswd san2 <--------2번
# # New password : ********
# # Retype : ********
# #
# 1번에서 앞의 'san2'는 리눅스 계정이고 뒤의 'san2'는 윈도우 사용자이다.
# 2번은 암호를 설정하는 법
# 위와 같은 경우 윈도우에서 사용자를 'san2'로 로고온하면
# 삼바에서 자신의 계정이 보인다.........
#

# 유닉스 사용자 이름과 SMB 사용자 이름이 달라 둘 간의 연관 테이블을
# 필요할 때 사용합니다.

;  username map = /etc/smbusers

# 다음 옵션은 접속하는 각 머신마다 서로 다른 설정을 원할 때 사용합니다.
# 여기서 %m 은 접속하는 호스트의 NetBIOS 이름으로 대체됩니다.

;   include = /etc/smb.conf.%m

# 대부분의 경우 다음 옵션을 주면 성능 향상 효과를 볼 수 있습니다.
# 자세한 사항은 speed.txt 와 맨 페이지를 참고하십시오.

   socket options = TCP_NODELAY

# 삼바가 여러 개의 인터페이스를 사용하도록 설정합니다.
# 여러 개의 네트웍 인터페이스를 가지고 있다면 그 인터페이스들을 모두
# 나열하십시오.  자세한 사항은 맨 페이지를 참고하십시오.

# 다음 예는 삼바 서버가 192.168.12.2, 192.168.13.2 이렇게 두 개의 주소를
# 가지고 있고 24 비트 즉 넷매스크 255.255.255.0 를 사용하여
# 192.168.12.0, 192.168.13.0 네트웍의 호스트에 대해서 받아들입니다.

;   interfaces = 192.168.12.2/24 192.168.13.2/24

# 원격 브라우즈 목록과의 동기화에 관한 설정입니다.
#  공표 요청을 하거나 또는 브라우즈 목록 동기화해 줄 대상:
#       특정 호스트 또는 전체 서브넷을 지정할 수 있습니다.
#       (아래 참고)

;   remote browse sync = 192.168.3.25 192.168.5.255

# 지역적인 서브넷에 자기 자신을 공표하도록 설정합니다.
# 윈도우즈 네트웍 환경에서 삼바 서버가 잘 보이도록 할 때 유용합니다.

;   remote announce = 192.168.1.255 192.168.2.44
# 브라우져 제어 옵션:
# 삼바가 네트웍에 대한 매스터가 되길 바라지 않으면 local master 설정을
# no 로 하십시오.  그렇지 않은 경우에는 일반적인 선거 규칙을 따릅니다.

;   local master = no

# OS 레벨은 매스터 브라우져 선거 과정에서 서버의 우선권을 결정합니다.
# 기본값이 적절합니다.  따라서 특별히 바꿀 이유가 없습니다.

;   os level = 33

# domain master 는 삼바로 하요금 도메인 매스터 브라우져가 되도록 해줍니다.
# 삼바는 서브넷들로부터 브라우즈 목록을 모으는 작업을 하게 됩니다.
# 이미 이 기능을 담당하고 있는 윈도우즈 NT 도메인 컨트롤러가 있다면 이것을
# 사용해서는 안됩니다.

;   domain master = yes

# preferred master 옵션을 켜두면 시동할 때 지역 브라우져 선거를 하도록
# 만들고 선거에서 이길 수 있는 좀 더 높은 기회를 부여받습니다.

;   preferred master = yes

# 설치할 때 주 도메인 컨트롤러로 설정된 NT 서버가 존재할 때만 사용합니다.

;   domain controller = <NT 도메인 컨트롤러 SMB 이름>

# 삼바가 윈도우즈95 워크스테이션에 대한 도메인 로그온 서버 역할을 하길
# 원하는 경우 켜둡니다.

;   domain logons = yes

# 도메인 로그온을 선택했고 각 머신 별로 또는 각 사용자 별로 로그온 스크립트를
# 구분하여 특정 배치 파일을 작동시키길 원하는 경우 사용합니다.

;   logon script = %m.bat

# 사용자 이름에 의거하여 서로 다른 로그온 배치 파일을 실행시킬 때

;   logon script = %U.bat

# 로우빙 프로파일(roving profile)을 어디에 저장할 것인가?
#        (Win95와 WinNT에만 해당됩니다.)
#        %L 은 서버의 NetBIOS 이름으로, %U는 사용자 이름으로 대체됩니다.
#        뒤에 나오는 [Profiles] 공유에 있는 주석을 풀어주는 것을 잊지
#        않도록 하십시오.

;   logon path = \\%L\Profiles\%U

# 윈도우즈 인터넷 네임 서비스 WINS 지원 섹션:
# 주의: /etc/lmhosts를 만들어 마치 /etc/hosts와 같이 적습니다.

# 예)
# 192.168.0.1   ANNA

;   wins support = yes

# WINS 서버 - 삼바의 NMBD 로 하여금 WINS 클라이언트가 되도록 합니다.
#       주의 : 삼바는 WINS 서버 또는 클라이언트 중 하나만 될 수 있다.

;   wins server = w.x.y.z

# WINS 프록시 - 삼바로 하여금 WINS 기능을 갖추지 못한 클라이언트를 대신하여
# 이름에 해당하는 주소 찾기 질문을 대신 답하도록 합니다.
# 이를 위해서는 네트웍 상에 적어 한 개 이상의 WINS 서버가 있어야 합니다.
# 기본값은 NO

;   wins proxy = yes

# DNS 프록시 - 삼바로 하여금 DNS nslookup 을 사용하여 NetBIOS 이름을 찾을
# 것인지 아닌지 지시합니다.
# 1.9.17 버전에서는 내부 기본값이 yes 였으나 1.9.18 버전에서는 no 로
# 변경되었습니다.

   dns proxy = no

# 대소문자 보존이 필요할 때가 있습니다.  시스템 기본값은 NO 입니다.
# 주의: 각 공유별로 설정할 수 있습니다.
# 한글을 제대로 보기 위해서는 구별해야 합니다.

# ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
   preserve case = yes
   short preserve case = yes
# 설명 : 한글문제인 관계로 yes로 설정함

# 도스 파일에 대한 기본 문자는 대문자입니다.

;  default case = lower

# 대소문자 구별은 주의를 요합니다. - 문제를 일으킬 수도 있습니다!

;  case sensitive = no

#============================ 공유 정의 ======================================
[homes]
   comment = 홈 디렉토리
   browseable = no
   writable = yes

# 도메인 로그온을 위한 netlogin 디렉토리를 만들고 주석 해제합니다.
# 물론 도메인 로그온 기능을 지원할 때만 필요합니다.
; [netlogon]
;   comment = Network Logon Service
;   path = /home/netlogon
;   guest ok = yes
;   writable = no
;   share modes = no
 

# 특정한 로우빙 프로파일(roving profile) 공유를 제공하고자 한다면 다음의
# 주석을 풀어주십시오.
# the default is to use the user's home directory
# 기본값은 사용자의 홈 디렉토리입니다.
;[Profiles]
;    path = /home/profiles
;    browseable = no
;    guest ok = yes
 

# 주의: BSD 스타일의 프린트 시스템(현재 대부분의 리눅스 시스템이 그러함)
# 이라면 각각의 프린터를 정의해 줄 필요 없이 자동으로 이뤄집니다.
[printers]
   comment = 모든 프린터
   path = /var/spool/samba
   browseable = no
# guest ok = yes 라고 하면 'guest account'로 지정한 사용자들이 프린팅을
# 할 수 있습니다.  public = yes 도 같은 표현입니다.
   guest ok = yes
   writable = yes
;   writable = no
   printable = yes
# 설명 : 위의 설정예는 guest에게도 프린터사용할 권한을 줌.
# 보안문제가 있으므로 writable list 로 가능한 계정만 설정바람.

# 다음은 사람들이 파일을 공유할 수 있도록 할 때 유용합니다.
# 주의: /tmp 는 시스템의 임시 작업 공간이므로 /var/tmp 와 같은 곳에
# 커다란 파티션을 마운트하고 그곳을 사용하도록 하는 것이 좋습니다.

# 지금부터는 임의로 정의 가능한 공유 설정의 예입니다.  다음 설정들을 보면서
# 여러분이 원하는 공유를 정의해보시기 바랍니다.

;[tmp]
;   comment = 임시 파일 공간
;   path = /tmp
;   read only = no
;   public = yes

# 공개적으로 접근 가능한 디렉토리이지만 읽기만 가능하고 "staff" 그룹에
# 속한 사용자들만이 쓰기를 할 수 있는 설정의 예입니다.

[public]
   comment = "공유내용"
   path = /home/samba
   public = yes
   writable = no
   printable = no
;   write list = @staff
# 설명 : 기본적으로 설정되어 있는 부분에 모든유저에게 읽기권한만 주는 설정임
# 경로지정인 /home/samba 에서 "samba"라는 폴더가 윈도우상에서는 보이질 않고
# [public]에서 "public"이 보임. 이 부분은 임으로 수정가능함.
# 즉 [*]에 들어간 서비스명이 윈도우상에 보임............
# 기타 다른 예.
# 조금은 특정 용도에 맞는 상세한 설정 예입니다.

#
# fred 라는 사용자만 이용할 수 있는 개인적인 프린터 설정.
# 스풀 자료는 fred 의 홈 디렉토리에 씌여집니다.
# fred 는 지정한 스풀 디렉토리에 쓰기 권한을 가지고 있는 상태여야 합니다.

;[fredsprn]
;   comment = Fred 전용 프린터
;   valid users = fred
;   path = /homes/fred
;   printer = freds_printer
;   public = no
;   writable = no
;   printable = yes

# fread 만이 이용할 수 있는 개인적인 디렉토리 설정입니다.
# 디렉토리에 대하여 fred 의 쓰기 권한이 있는 상태여야 합니다.

;[fredsdir]
;   comment = Fred 개인 서비스
;   path = /usr/somewhere/private
;   valid users = fred
;   public = no
;   writable = yes
;   printable = no

# 접속하는 머신에 따라 서로 다른 디렉토리를 제공하는 서비스의 좋은 예입니다.
# 이렇게 함으로써 접속 머신에 따라 실제 설정 내용이 달라지는 효과를 얻을 수
# 있습니다.  사용자 이름으로 구별하려면 %u 옵션을 대신 사용하면 됩니다.
# %m 은 접속하는 머신의 이름으로 치환됩니다.

;[pchome]
;  comment = PC 디렉토리
;  path = /usr/pc/%m
;  public = no
;  writable = yes

# 모든 사용자가 읽고 쓸 수 있는 공개 접근 디렉토리의 예입니다.
# 생성되는 모든 파일은 기본 사용자의 소유가 되므로 다른 사용자가 여러분이 만든
# 파일을 지울 수 있습니다.  당연히 주어진 디렉토리에 대하여 기본 사용자가
# 쓰기 권한을 가지고 있어야 합니다.  다른 사용자를 명시하면 기본 사용자가 아닌
# 그 사용자의 소유가 됩니다.

[자유게시판]
   comment = 쓰기가능
   path = /home/smbboard
   public = yes
   only guest = yes
   writable = yes

[리눅스QA]
    commnet = 리눅스관련질문
    path = /home/linuxboard
    public = yes
    only guest =yes
    writable = yes

[리눅스팁]
    commnet = 리눅스팁
    path = /home/linuxtip
    public = yes

# 설명 : 위의 3개의 서비스는 직접 추가한 서비스임
# 각자 해석해보길 바라며,
# 주의 할 점은 위의 [자유게시판]을 예를 들면
# public = yes 설정으로 모든 유저(위의 global에서 정의한 "pcguest")
# 에게 /home/smbboard 디렉토리에 읽기와 쓰기 권한을 정의함.
# 또한 권한을 주기위해서는
# # pwd
# # /home
# # chmod 755 smbboard
# # chown pcguest smbboard
# 로 설정하면 된다.

# 실제 적용 예

# 다음 항목은 두 사용자가 어떻게 한 디렉토리를 공유하여 사용하게 할 수 있는지
# 예시하고 있습니다.  이 설정이 제대로 작동하려면 디렉토리는 두 사용자에 의해
# 쓰기 가능해야 하며 스틱키(sticky) 비트를 설정하여 서로의 파일에 대하여
# 악의적인 행동을 취할 수 없도록 해줘야 합니다.  이런 방법으로 여러 사용자가
# 한 디렉토리를 안전하게 공유하도록 확장할 수 있습니다.

;[myshare]
;   comment = Mary와 Fred의 것
;   path = /usr/somewhere/shared
;   valid users = mary fred
;   public = no
;   writable = yes
;   printable = no
;   create mask = 0765

# 마지막 ++++++++++++++++++++++++++++++
# 이 설정파일을 수정했으면
# # testparm
# 명령으로 문법이 틀렸나 확인해보길 바람.
# 또한 /etc/rc.d/init.d 디렉토리상에서
# # ./smb restart
# 로 삼바데몬을 재 시작해야 한다.