솔라리스 10 08/07 에서 기본적으로 제공되는 삼바 서비스는 오직 smb 데몬에만 접근을 제공합니다. 만약 머신에서 제공되는 공유 디렉토리에 접근 하길 원한다면 nmbd(1m) 대몬이 실행되고 있어야 합니다.
이 것은 따로 서비스를 추가 함으로써 가능합니다. 그러나 우리는 현존하는 삼바 서비스를 변경하여 두개의 데몬을 각각 삼바 서비스의 분리된 인스턴스로 제공하도록 할 것입니다.
현재 manifest 를 확인하기 위해서는 이것을 리파지토리로 부터 익스포트 해야 합니다.
참고: 기본 manifest 는 /var/svc/manifest/network/samba.xml 로 배포 되고 이것을 시작점으로 사용할 수 있습니다.
# svccfg export samba > samba.xml
이 파일이 우리가 작업할 파일입니다.
우리가 변경할 것은:
- 변경 후에 기본 인스턴스를 가지지 않을 것이기 때문에 그리고 두개의 인스턴스를 사용할 것이기 때문에(하나는 smb 그리고 하나는 nmb) 우리는 create_default_instance 와 single_instance 줄을 지울 것입니다.
- 현존하는 인스턴스의 시작 및 정지 메소드를 래핑(wrapping)할 것입니다.
- nmbd 데몬을 고유의 시작 및 정지 메소드와 함께 인스턴스로서 추가해야 합니다.
- nmbd 데몬의 멘페이지를 참고하는 문서 링크로 변경해야 합니다.
우리가 할 수 있는 또 다른 변경사항으로는:
- 설정 파일에 의존성을 추가합니다, 왜냐하면 데몬의 기본 종료 값인 nmbd(1m)는 smf 의 SMF_EXIT_ERR_CONFIG 코드 96 와 일치 하지 않기 때문입니다.
- 킬 메소드를 :kill 로 변경합니다. 그러므로써 모든 데몬은 서비스가 비활성화 되면 죽게 됩니다. 이 것은 새로운 새션뿐만 아니라 현존하는 세션에도 적용됩니다.
수정된 samba.xml
samba.xml
<?xml version='1.0'?> <!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'> <service_bundle type='manifest' name='export'> <service name='network/samba' type='service' version='0'> <!-- Remove the create_default_instance and single_instance lines --> <dependency name='net-loopback' grouping='require_any' restart_on='none' type='service'> <service_fmri value='svc:/network/loopback'/> </dependency> <dependency name='net-service' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/network/service'/> </dependency> <dependency name='net-physical' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/network/physical'/> </dependency> <dependency name='filesystem-local' grouping='require_all' restart_on='none' type='service'> <service_fmri value='svc:/system/filesystem/local'/> </dependency> <!-- Add a dependancy for the config file --> <dependency name='config_data' grouping='require_all' restart_on='none' type='path'> <service_fmri value='file://localhost/etc/sfw/smb.conf'/> </dependency> <dependent name='samba_multi-user-server' restart_on='none' grouping='optional_all'> <service_fmri value='svc:/milestone/multi-user-server'/> </dependent> <!-- Move the smbd daemon startup methods into an instance. We'll call this instance smbd --> <instance name='smbd' enabled='false'> <exec_method name='start' type='method' exec='/usr/sfw/sbin/smbd -D' timeout_seconds='170'> <method_context/> </exec_method> <!-- change the stop method to kill all the daemons, including existing sessions --> <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'> <method_context/> </exec_method> </instance> <!-- Add the nmbd instance --> <instance name='nmbd' enabled='false'> <exec_method name='start' type='method' exec='/usr/sfw/sbin/nmbd -D' timeout_seconds='170'> <method_context/> </exec_method> <exec_method name='stop' type='method' exec=':kill' timeout_seconds='60'> <method_context/> </exec_method> </instance> <stability value='Unstable'/> <template> <common_name> <loctext xml:lang='C'>SMB file server</loctext> </common_name> <documentation> <manpage title='smbd' section='1m' manpath='/usr/sfw/man'/> <manpage title='nmbd' section='1m' manpath='/usr/sfw/man'/> <manpage title='smb.conf' section='4' manpath='/usr/sfw/man'/> </documentation> </template> </service> </service_bundle>
수정사항 반영하기
# svcadm disable samba # svccfg import samba.xml # svccfg delete svc:/network/samba:default # svcadm refresh samba:smbd # svcadm refresh samba:nmbd # svcadm enable samba:smbd # svcadm enable samba:nmbd
결과 확인하기
svcs 커맨드는 현재 실행중인 서비스를 확인할 수 있습니다. 그리고 nmblookup 커맨드는 머신이 브라우즈 그룹에 속해 있는지 확인 할 수 있습니다.
# svcs samba
STATE STIME FMRI
online 8:34:16 svc:/network/samba:smbd
online 8:35:00 svc:/network/samba:nmbd
# svcs -p samba
STATE STIME FMRI
online 8:34:16 svc:/network/samba:smbd
8:34:16 2038 smbd
8:34:16 2039 smbd
online 8:35:00 svc:/network/samba:nmbd
8:35:00 2066 nmbd
# /usr/sfw/bin/nmblookup SMBGROUP
querying SMBGROUP on 192.168.1.255
192.168.1.138 SMBGROUP<00>
192.168.1.134 SMBGROUP<00>
192.168.1.2 SMBGROUP<00>
192.168.1.76 SMBGROUP<00>
192.168.1.1 SMBGROUP<00>
192.168.1.51 SMBGROUP<00>
이 글의 원본은 http://wikis.sun.com/display/bigadmin/e ··· date%2B4
에서 보실 수 있습니다.
"관리자코너" 카테고리의 다른 글
- 맥북 13인치 코어 2 듀오에 솔라리스10 설치하기 (댓글 2개 / 트랙백 0개) 2008/06/16
- 썬 버추얼 데스크탑 커넥터 1.0(베타)을 사용한 VDI 데모 구축 (댓글 0개 / 트랙백 0개) 2008/01/23
- 솔라리스 Tip Of The Week:SMF (댓글 0개 / 트랙백 0개) 2009/01/23
- GlassFish 를 프로덕션 환경으로 설치하기 (댓글 0개 / 트랙백 0개) 2009/11/23
- 솔라리스 레디 애플리케이션 및 솔루션 (댓글 0개 / 트랙백 0개) 2008/03/13
- 솔라리스 10 에서 TCP Wrapper 사용하기 (댓글 1개 / 트랙백 0개) 2006/01/23
- 시만텍 베리타스 넷백업과 ZFS 스냅샷 통합하기 (댓글 0개 / 트랙백 0개) 2009/07/17
- ZFS, 썬의 최신 파일 시스템(Part 1: 스토리지 무결성, 보안성 및 확장성) (댓글 3개 / 트랙백 1개) 2006/11/23
- USB로 부팅하기 - 설치 (댓글 31개 / 트랙백 1개) 2007/08/20
- 파일과 디렉토리를 안전하게 옮기거나 카피 할 수 있는 방법 (댓글 6개 / 트랙백 0개) 2007/04/23
2007/12/14 09:49
2007/12/14 09:49
댓글을 달아 주세요