[강좌] samba를 이용한 NeXT Laser Printer 공유
이름: capri91[삭제] [수정] 2001-04-26 22:43:02


0. 설치에 앞서서...

이 강좌는 NetBIOS 또는 LanManager라고도 불리는 Session Message Block(SMB) 프로토콜 이용하여 NeXT Laser Printer가 연결된 블랙머신을 프린터 서버로 설정하는 방법을 설명합니다.

설치에 앞서서 프린터 서버로 사용될 NeXT 머신에 네트웍 설정이 되어있고 NeXT Laser Printer가 이상없이 동작하고 있어야 합니다. 클라이언트는 Windows 95, Windows 98, Windows NT 4.0, Windows 2000 을 사용하는 경우를 예로 들어서 강좌를 진행하도록 하겠습니다.


1. 프린터 서버에 samba 패키지 설치하기

NeXTSTEP/OPENSTEP용으로 포팅되어 있는 samba 패키지는 다음과 같습니다.


모두 pkg 형식으로 압축되어 있으므로 Installer.app을 사용해서 인스톨하면 /usr/local/samba 폴더 밑으로 설치됩니다. 그 다음 단계로, samba 설치를 완료하기 위해서 터미날에서 /usr/local/samba/install_samba 스크립트를 실행합니다. 물론 이 과정은 모두 root 권한으로 진행되어야 합니다.

이때 install_samba 스크립트의 역할을 설명하자면 다음의 4가지 과정을 실행합니다.

1) /usr/local/samba/var 디렉토리가 존재하지 않으면 생성합니다.
2) /usr/local/samba/lib/smb.conf 설정 화일이 존재하지 않으면 example 설정 화일을 복사합니다.
3) /etc/inetd.conf 화일에 samba 서비스 엔트리를 추가하고 inetd를 재시작합니다.
4) niutil 명령을 사용하여 local NetInfo domain에 samba 서비스를 추가합니다.

위의 3), 4)번 과정은 추가적인 설명이 필요하므로 2장에서 자세하게 다루도록 하겠습니다.


2. samba 데몬 실행시키기

일반적으로 samba를 실행시키는 방법은 두가지가 있습니다. 시스템 부팅시 /etc/rc 스크립트에 추가하여 독립된 과정으로 실행하는 것과, /etc/inetd.conf 설정 화일에 추가하여 inetd 에 의해서 요청이 있을 때마다 실행되도록 하는 것입니다.

프린터 서버만으로 사용하려면 3)번에서와 같이 넥스트용 samba 패키지 디폴트 설정으로 되어있는 inetd로 실행하는 것이 좋습니다. 자주 사용하지 않으면서 클라이언트에서 요청이 있을 경우에만 실행되기 때문입니다. 그러나 넥스트를 파일 서버와 프린터 서버로 동시에 사용하는 경우와 같이 항상 떠있도록 하고 싶은 경우에는 /etc/rc 스크립트에 추가하여 독립된 과정으로 실행되도록 하면 됩니다.

inetd로 실행하는 3)번의 디폴트 설정을 사용하지 않고 독립된 과정으로 항상 실행하고자 한다면 다음의 과정을 따라하면 됩니다.

먼저 /etc/inetd.conf 화일에 추가된 smbd, nmbd 실행 라인을 주석 처리해 줍니다.

#
# Samba services
#
netbios-ssn     stream  tcp     nowait  root    /usr/local/samba/bin/smbd smbd -d 0
netbios-ns      dgram   udp     wait    root    /usr/local/samba/bin/nmbd nmbd -d 0

그런 다음 /etc/rc 스크립트에 다음과 같이 추가합니다.

#
# Start samba daemon
#
if [ -f /usr/local/samba/bin/smbd ]; then
    /usr/local/samba/bin/smbd -D && (echo -n ' smbd')      >/dev/console
fi
if [ -f /usr/local/samba/bin/nmbd ]; then
    /usr/local/samba/bin/nmbd -D && (echo -n ' nmbd')      >/dev/console
fi

위와 꼭 같지 않더라도 상관없습니다. smbd, nmbd 를 실행할때 -D 옵션으로 daemon 모드로 실행하기만 하면 됩니다.

설정이 모두 끝나면 inetd 데몬을 재시작하고 수동으로 smbd, nmbd 를 -D 옵션으로 실행합니다. 귀찮으면 걍 재부팅하세요.

그럼 이제 4)번 항목을 설명하고 3장으로 넘어가도록 하겠습니다.

원래 unix에서는 각종 tcp, udp 포트를 /etc/services 화일에서 관리합니다. 그러나 NeXTSTEP/OPENSTEP에서는 NetInfo에서 관리하도록 되어 있습니다. 혹시 그냥 unix처럼 /etc/services 화일에 samba 서비스 포트를 추가하시고 삽질하시는 분이 없으시길...

고로 4)번 항목에서 niutil 명령을 사용해서 local NetInfo domain에 samba 서비스 포트를 추가하게 됩니다.

niutil -create . /services/netbios-ssn
niutil -createprop . /services/netbios-ssn name netbios-ssn
niutil -createprop . /services/netbios-ssn protocol tcp
niutil -createprop . /services/netbios-ssn port 139

niutil -create . /services/netbios-ns
niutil -createprop . /services/netbios-ns name netbios-ns
niutil -createprop . /services/netbios-ns protocol udp
niutil -createprop . /services/netbios-ns port 137

install_samba 스크립트를 실행하지 않고 수동으로 터미날에서 설정하고자 한다면 위와 같이 하면 됩니다.


3. smb.conf 설정 화일 세팅하기

NeXTSTEP/OPENSTEP에서 samba 서버는 /usr/local/samba/lib/smb.conf 에 위치한 설정 화일에 의해서 세팅됩니다. smb.conf 설정 화일은 클라이언트와 공유시킬 화일이나 프린터 등의 시스템 자원을 조절하고, 어떤 제약을 둘 것인지를 결정하기 때문에 가장 주의해서 세팅해야 합니다.

smb.conf 설정 화일을 보면 각 영역은 global, homes, tmp, public, printers 등으로 구분됩니다. global 영역은 samba에서 공유할 모든 시스템 자원의 기본 옵션을 정의합니다. homes 영역은 클라이언트의 유저가 원격으로 서버에 있는 자신의 홈 디렉토리를 억세스하는 것을 허용합니다. tmp 영역은 보통 클라이언트 유저간의 임시적인 공유 공간으로 사용됩니다. public 영역 또한 tmp 설정과 비슷하지만 대부분 특정 유저간의 공유를 위한 목적으로 사용되는 공간을 정의합니다. 그리고 printers 영역은 프린터 서버의 공유 옵션을 정의합니다.

아래의 smb.conf 예제 화일은 실제로 제가 사용하고 있는 설정 화일입니다.

# This is the main Samba configuration file. You should read the
# smb.conf(5) manual page in order to understand the options listed
# here. Samba has a huge number of configurable options (perhaps too
# many!) most of which are not shown in this example
#
# Any line which starts with a ; (semi-colon) or a # (hash)
# is a comment and is ignored. In this example we will use a #
# for commentry and a ; for parts of the config file that you
# may wish to enable
#
# NOTE: Whenever you modify this file you should run the command "testparm"
# to check that you have not many any basic syntactic errors.

[global]
   workgroup = WORKGROUP
   server string = NeXTcube Samba Server
   hosts allow = 10.0.0. 127.

   load printers = yes
   printing = bsd
   print command = lpr -r -PNeXT_400_dpi_Level_II_Printer %s
   lpq command = lpq -PNeXT_400_dpi_Level_II_Printer
   lprm command = lprm -PNeXT_400_dpi_Level_II_Printer %j

   log file = /usr/local/samba/var/log.%m
   log level = 3
   max log size = 50

   security = user
   socket options = TCP_NODELAY
   dns proxy = no

   locking = no
   share mode = no
   oplocks = False

[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[public]
   comment = Public Stuff
   path = /LocalUsers/ftp
   public = yes
   writable = yes
   printable = no
   write list = @staff

[printers]
   comment = NeXT 400dpi Laser Printer
   path = /usr/local/samba/var/spool
   browseable = yes
   guest ok = no
   writable = no
   printable = yes

각 영역의 옵션에 대한 자세한 설명은 samba 관련 페이지에서 쉽게 찾아볼 수 있으므로 생략하고, NeXT Laser Printer 공유 설정에 관련된 주의해야 할 옵션만을 살펴보도록 하겠습니다.

[global]
   load printers = yes
   printing = bsd
   print command = lpr -r %s           <--
   lpq command = lpq                   <--
   lprm command = lprm %j              <--

samba의 디폴트 옵션은 아래와 같습니다. print command 관련 옵션을 주지않은 상태에서 /usr/local/samba/bin/testparm 명령으로 확인해 볼 수 있습니다.

    print command = lpr -r -P%p %s
   lpq command = lpq -P%p
   lprm command = lprm -P%p %j

그러나 NeXTSTEP/OPENSTEP에서는 print command 에 -P%p가 들어가면 스풀에 쌓이기만 하고 출력되지 않기 때문에 -P%p 옵션을 빼고 새로 지정해 주어야만 합니다.

[printers]
   comment = NeXT 400dpi Laser Printer
   path = /usr/local/samba/var/spool   <--
   browseable = yes
   guest ok = no
   writable = no
   printable = yes

대부분의 unix에서 스풀 디렉토리가 /var/spool/samba 등으로 지정되지만 NeXTSTEP/OPENSTEP용 samba 패키지의 경우에는 디폴트로 /usr/local/samba/var/spool 입니다. 생성되지 않을 경우에는 1777 퍼미션으로 만들어주면 됩니다.


4. WinDogs 클라이언트에서 samba 세팅하기

WinDogs 클라이언트에서 네트워크 환경으로 samba 서버로 설정된 NeXT 머신에 접속하면 유저의 아이디와 암호를 물어옵니다. 이때 암호 인증이 안되어서 접근이 불가능한 경우가 발생합니다. Windows 95(빌드번호 945)를 제외한 Windows 95, Windows 98, Windows NT, Windows 2000 에서 encrypt된 암호를 전송하기 때문입니다. 이를 해결하기 위해서는 WinDogs 클라이언트가 plain-text 패스워드를 사용하도록 설정해야 합니다. 즉, samba 공유를 위해서 아래와 같이 WinDogs 버젼에 따른 각각의 registry 설정이 우선입니다.

Windows 95의 경우에 registry 설정은 다음과 같습니다.

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001

Windows 98의 경우에 registry 설정은 다음과 같습니다.

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD\VNETSUP]
"EnablePlainTextPassword"=dword:00000001

Windows NT의 경우에 registry 설정은 다음과 같습니다.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters]
"EnablePlainTextPassword"=dword:00000001

Windows 2000의 경우에 registry 설정은 다음과 같습니다.

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation\Parameters]
"EnablePlainTextPassword"=dword:00000001

위의 registry 설정이 제대로 이루어졌다면, 다음으로 잊지 말아야 할 것이 있습니다. 윈도우98의 경우에는 윈도우의 로그인 인증 절차를 제대로 지켜주어야 Linux의 파일 서버의 자료들을 억세스 할 수 있습니다. 윈도우를 로그인 할 때 반드시 자신의 ID와 같은 이름으로 들어와야 자신의 디렉토리와 public 공유 디렉토리를 사용이 가능합니다. 로그인시 다른 이름으로 들어오게 되면 파일 서버에서 허락된 사용자가 아닌 것으로 간주하여 Samba 서비스를 허용하지 않기 때문입니다. NT와 2000의 경우에는 상관없습니다.


5. WinDogs 클라이언트에서 printer 공유하기

이제 마지막 장입니다. WinDogs 클라이언트에서 블랙머신에 연결된 NeXT Laser Printer로 포스트스크립트 프린팅을 하기 위해서는 다음의 소프트웨어를 설치하기만 하면 끝입니다. 한가지는 PostScript printer driver for WinDogs이고, 다른 한가지는 PPD(PostScript printer description) 파일입니다.


먼저 PostScript 프린터 드라이버를 설치하고, 드라이버를 구동하는데 필요한 NeXT Laser Printer용 PPD 파일을 선택해주면 됩니다. 참고로 원본 PostScript 프린터 드라이버 및 PPD 파일은 아래의 Adobe 사이트에서 다운로드 할 수 있습니다.

http://www.adobe.com/support/downloads/pdrvwin.htm


긴 글 읽으시느라 수고하셨습니다. 이것으로 samba를 이용한 NeXT Laser Printer 공유 강좌를 마치겠습니다...
등록파일 없음

  이 름  암 호  보안코드  
번호작성자날짜조회제    목
180onion2001-04-29793   [tip] 블랙머신에서의 삼바와 프린터 (2)
179onion2001-04-29645   삼바 사용기 올렸습니다 (2)
178Ashita2001-04-27625   [질문] Sparc머신에서 하드 추가시가 안되요... (1)
177Ashita2001-04-27667   [질문] Sparc에 openstep을 깔아서 쓰는데.. 한글사용을 어케하죠? (1)
176onion2001-04-27623   제가 에러시 주의하는부분..... (1)
175capri912001-04-261139   [강좌] samba를 이용한 NeXT Laser Printer 공유
174onion2001-04-26762   [정식질문(?)] 제 사용현황입니다.. (2)
173LineRoh2001-04-26711   북간도? (2)
172onion2001-04-26631   [닭질] NeXT Laser Printer 기사회생작전!!!
171onion2001-04-25621   next laser printer 롤러교체기 올렸습니다...-.-; (2)
170dance2001-04-24699   오픈스텝 잘 받았습니다..... (2)
169capri912001-04-24846   [알림] 오늘 4월 24일 벙개 한 사발 (6)
168전외솔2001-04-23651   HPUX 10.20 7xx B-, C- & J class 용 드립니다. (3)
167damotori2001-04-23550   오늘 벙개 안 때리냐?
166한호성2001-04-23580   결혼식 공지 띄워줘요 >_<
 [41] [42] [43] [44] [45] [46] [47] [48] [49] [50] 
[목록보기] [글쓰기]