macsplex.com 로그인

검색

2006.04.28 01:56

삼바 설치 및 운영

조회 수 118 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 게시글 수정 내역 댓글로 가기 인쇄
Extra Form
컴파일과 설치 방법



직전 버전(1.9.x대)의 경우 GNU에서 제공하는 configure와 같은 자동 환경 설정 프로그램이 없으므로, 전적으로수작업에 의해서 Makefile을 갱신해야 하는 불편함이 있었다. 하지만 이제는 상황이 완전히 달라졌다. 삼바 2.x대의 버전은configure 스크립트를 통하여 완전 자동으로 Makefile을 생성하기에 처음 설치부터 세련되어 보인다. 컴파일 방법은다음과 같다.







1. 이 문서(삼바 설치 및 활용 가이드)의 최신 버전을 다음 URL로부터 구한다:



http://www.kies.co.kr/~jhpark/Samba/samba.htm l





2. 삼바 파일을 구해서 다음 순서에 의거하여 압축을 푼다.



% gzip -d samba-2.0.2.tar.gz; tar xf samba-2.0.2.tar; gzip samba-2.0.2.tar



1999년 2월 현재 최신 버전인 ``samba-2.0.2.tar.gz''는 다음 URL



ftp://ftp.samba.org/pub/samba/samba-2.0.2.tar. gz



에서 구할 수 있다.

3. configure 수행: 디렉토리를 samba-2.0.2/source로 옮긴 다음,



% ./configure



명령을 내려 Makefile을 생성시킨다.

4. 이진 파일 생성:



% make



명령을 이용해서 컴파일한다.

5. 이진 파일 설치: 먼저 시스템 관리자 자격을 얻은 다음



# make install



명령을 통해서 설치 과정을 밟는다. Makefile을 특별히 변경하지 않았다면 ``/usr/local/samba''에 각종 필요한 파일들이 설치되었을 것이다.



# make revert





명령을 내리면 직전 버전으로 돌아가며,



# make uninstall





명령을 내리면 설치가 해제되게 된다.



6. smbtar, mksmbpasswd.sh, smbadduser 쉘 스크립트는 설치시에 자동으로 복사되지 않으므로 다음과 같이 수작업으로 설치해야한다.



# cp samba-2.0.2/source/script/smbtar /usr/local/samba/bin/



# cp samba-2.0.2/source/script/mksmbpasswd.sh /usr/local/samba/bin/



# cp samba-2.0.2/source/smbadduser /usr/local/samba/bin/



# chmod +x /usr/local/samba/bin/smbtar



# chmod +x /usr/local/samba/bin/mksmbpasswd.sh



# chmod +x /usr/local/samba/bin/smbadduser





7. 만일 컴파일에 자신이 없다면 다음 URL을 한번 살펴보기 바란다. 1999년 2월 현재 AIX, BSDI,Bull, Caldera, Debian, Digital UNIX, IRIX, OSF, SCO, Slackware, SuSE,TurboLinux, HPUX, MVS, Novell, RedHat, Solaris, VMS등의 바이너리가 제공된다.



http://au2.samba.org/samba/ftp/Binary_Packages/





8. HP10.0x의 경우에 컴파일이 제대로 되지 않는 문제가 있다. passdb 디렉토리 내부의 pass_check.c에서 오류가 발생하므로 다음 URL에서 pass_check.c를 가져온다.



http://www.kies.co.kr/~jhpark/Samba/ftp/pass_ch eck.c



SWAT 설치 방법



필자가 samba-2.0.x 패키지를 풀고나서 가장 만족스러웠던 개선사항은 바로 SWAT였다.



도대체 얼마나 많은 사람들이 잘못 설정된 smb.conf를 보여주면서 불쌍한 필자를 괴롭혔던가?



SWAT는 경찰특공대라 아니라 Samba Web Administration Tool의 약어로 smb.conf 설정을



비롯한 기존 samba 관리의 문제점을 한번에 날려버릴 그야말로 가공할 무기이다. 웹 인터페이스를



사용하여 smb.conf를 자유자재로 수정할 수 있으며, 도움말이 항목별로 나와있어 정말 편리한



도구라고 볼 수 있다. SWAT를 사용하여 활동 상황을 감시할 수 있을 뿐더러 smbd와 nmbd를



시작-중지-재시작시킬 수도 있으므로 삼바가 설치된 호스트에 원격 로그인하지 않고서도 모든 일을



중앙집권식으로 처리할 수 있다.



삼바를 설치했다면 SWAT도 기본으로 설치되었다고 볼 수 있다. 삼바 설치 디렉토리(/usr/local/samba)로



가서 swat 디렉토리가 존재하는지 확인하기 바란다.



"웹 인터페이스? 제 워크스테이션은 웹 서버가 없는데요?"라고 벌써부터 걱정이 생기는 분들이 분명히 계실



것이다. 하지만 SWAT는 901번 포트를 사용하여 별도의 웹 서버가 필요없이 독자적으로 동작하도록



설계되어 있다.



1. /etc/services 파일에 다음 한줄을 추가시켜보자:



swat 901/tcp



2. /etc/inetd.conf 파일에 역시 다음 한줄을 추가시켜보자:



swat stream tcp nowait.400 root /usr/local/samba/bin/swat swat



3. 이제 관리자 권한으로 inetd를 재시동한다. 여기서 PID는 inetd의 프로세스 번호이다.



# kill -HUP PID



4. PAM(Pluggable Authentication Module)을 사용하는 RedHat이나 FreeBSD등의 운영체제에서는

5. PAM 관련 설정을 별도로 추가해야 한다. PAM 환경에서 Samba 2.x의 SWAT는 /etc/pam.d/samba

6. 파일이 있어야 root의 로그인을 허용하는데, samba 2.x를 설치할 경우 자동으로 이 파일이

7. 만들어지는 것이 아니므로 많은 분들의 항의(?) 편지가 있었다. shadow password를 사용할 경우

8. 다음 파일(/etc/pam.d/samba)을 생성시키면 된다.



---------- /etc/pam.d/samba ----------------------------



#%PAM-1.0



auth required /lib/security/pam_pwdb.so shadow



account required /lib/security/pam_pwdb.so



password required /lib/security/pam_pwdb.so shadow use_authtok



session required /lib/security/pam_pwdb.so



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



만일 shadow password를 사용하지 않을 경우 동일한 방법으로 다음 파일을 생성시키면 된다.



---------- /etc/pam.d/samba ----------------------------



#%PAM-1.0



auth required /lib/security/pam_pwdb.so



account required /lib/security/pam_pwdb.so



password required /lib/security/pam_pwdb.so use_authtok



session required /lib/security/pam_pwdb.so



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



이제 당신이 좋아하는 웹 브라우져를 동작시킨 다음



http://samba_server_URL:901/



을 지정해서 관리도구로 들어가자. 방화벽이 존재할 경우 901번 포트를 열거나 포트 번호를 변경해야 하는



상황에 직면할 수도 있다. 포트 번호를 변경해야 하는 상황이라면 1024번 아래에서 현재 사용하지 않는



포트 번호를 하나 지정하면 된다.



SWAT를 시동할 경우 별도의 로그인 절차가 필요한데, 삼바 호스트의 관리자 계정인 root를



그대로 써서 로그인하면 된다.



SWAT는 기존 수작업으로 생성시킨 smb.conf 파일을 고치므로 직전에 사용하던 애지중지



smb.conf 파일을 안전한 곳으로 한부 복사해두고 문제가 생기면 이를 원상복구하는 방법을



사용하도록 적극 권장한다.

조절파일 설정 방법



SWAT를 설치했는가? 수동으로 smb.conf를 고치는 일은 이제 본 가이드에서 더 이상 설명하지 않을



생각이므로, 혹시 설치하지 않으신 분은 약간의 수고를 들여, 앞으로의 고생길을 피하기 위해서라도,



지금 당장 SWAT를 설치하기 바란다.



이제 조절파일을 손대기에 앞서 커피 한잔을 준비한다. 왜냐하면, 이후 설명할 과정이 고도의 (?)



트릭과 순발력을 요구하기 때문이다. 특히 samba-2.x 버전에 들어와서는 조절파일이 과거 1.9.x 버전에



비해 그야말로 획기적으로 개선되었으므로 그야말로 정신을 바짝차려야 한다. 비록 SWAT의 힘을 빌어 각종



설정값을 변경하겠지만, 도구가 아무리 좋더라도 사용을 잘못하면 오히려 쓰지않은 경우만 못하므로



방심은 금물이다.



조절파일 설정에 관련된 중요한 내용은 별도의 section으로 분리해서 뒤에 설명할 것이나, 성질이 급하신



분들을 위해 여기서는 가장 단순한 - 그야말로 삼바가 간신히 동작하는 - 조절방법을 소개한다.



호기심에 이것저것 부수적인 사항까지 손대기 시작하면 재앙이 닥친다는 사실을 미리 경고한다.



시스템 관리에 정말로 능숙한 사람(최소한 자신이 하는 일이 무엇인지 알고 있는 사람)이 아니면



시스템에 설정되어있는 기본값을 유지하도록 노력하라!



SWAT는 자동으로 smb.conf를 생성시키므로 예전과 같이 smb.conf를 디렉토리 한 구석에서 찾아내어



복사할 필요가 없음을 주지하기 바란다.



아까 동작시킨 SWAT화면을 보면 위쪽에 아이콘이 줄을 서 있을 것이다. 각 아이콘을 간단하게 소개한다.



* [HOME]: 첫화면이다. 각종 메뉴얼 링크가 달려있다.

* [GLOBALS]: smb.conf의 전역 인수를 설정할 수 있다.

* [SHARES]: 각종 공유 디렉토리를 설정할 수 있다.

* [PRINTERS]: 프린터를 설정할 수 있다.

* [STATUS]: 현재 삼바의 동작 상황을 일목요연하게 알 수 있다.

* [VIEW]: smb.conf의 내용을 표시한다.

* [PASSWORD]: 관리자를 포함한 각종 사용자의 암호를 관리한다.



대충 무엇을 하는지 판단이 섰다면 이제 본격적으로 smb.conf 파일을 뜯어고쳐보자. 아래에 소개하는



절차는 공유 레벨(share mode)로 암호화되지 않은 암호를 삼바 서버가 다루도록 하는 설정방법이다.



앞서 언급한 바와 같이 Windows 98NT의 암호화된 암호를 지원하는 user mode, SMB 서버로 하여금



암호를 인증하도록 만드는 server mode, 도메인 로그온을 지원하는 domain mode는 여기서 설명할 경우



배보다 배꼽이 커지므로, 별도의 section에서 분리해서 다루도록 한다.



1. [GLOBALS] 아이콘을 눌러 다음 항목에 대해 전역 인수를 설정한다:

* Base Options의 workgroup: 당신의 웍 그룹 이름으로 변경한다.

* Security Options의 security: SHARE - 여기서 다른 선택사양에 대한 호기심이

* 불같이 일어도 일단은 참야야 한다.

* Logging Optioins의 log file: /usr/local/samba/var/log.%m

* client code page: 949

변경이 끝나면 [Commit Changes] 버튼을 눌러 변경 사항을 저장한다.

2. 계속해서 [SHARES] 아이콘을 눌러 공유 디렉토리를 설정한다:

* 먼저 테스트 목적의 공유 디렉토리 tmp를 생성시킨다. [Create Share] 버튼 옆의 글자 상자에

* tmp를 입력하고 [Create Share] 버튼을 누른다. 그리고 다음 항목을 설정한다.

o Base Options의 comment: Temporary File Space

o Base Options의 path: /tmp

o Security Options의 guest ok: Yes

* 동일한 방법으로 공유 디렉토리 homes를 생성시킨다. 이 디렉토리는 일반 사용자의 홈

* 디렉토리를 실행중에 사상(mapping)시키는 방법을 정의하는 특별한 의미를 지니고 있으므로

* 반드시 설정해두어야 한다.

o Base Options의 comment: Home Directories

o Security Options의 read only: No

o Browse Options의 browseable: No

각각의 공유 디렉토리 설정이 끝나면 역시 [Commit Changes] 버튼을 눌러 변경 사항을 저장한다..



예전에 비해 기본값 설정이 훌륭하므로 위의 내용만 변경하면 그럭저럭 동작이 가능함을 알 수 있다.



도대체 SWAT로 생성된 smb.conf는 어떻게 생겼는지 궁금해하시는 분들을 위해 따끈따끈한 예제를 보여주겠다.



-------------- smb.conf ---------------------------------



# from jhpark.kies.co.kr (192.168.114.144)



# Date: 1999/02/10 17:45:50







# Global parameters



workgroup = ANIMAL



security = SHARE



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



client code page = 949



dns proxy = No







[tmp]



comment = Temporary File space



path = /tmp



guest ok = Yes







[homes]



comment = Home Directories



read only = No



browseable = No



-------------- smb.conf ---------------------------------



1.9.x 대와 비교할때 smb.conf 파일이 기본값이 아닌 부분만 깔끔하게 표시됨을 알 수 있다.



모든 부문을 살펴보기 위해서는 아래에 소개할 testparm 명령이나, SWAT의 [VIEW] 아이콘을 사용하기 바란다.



삼바는 smb.conf가 100% 이상없다는 가정하에서 동작하므로, 조절파일에 오류가 있을 경우 반드시 고쳐야 한다.



오류를 판정하기 위해 삼바 서버에서 smb.conf를 다음의 방법으로 테스트한다. testparm 결과에 주목하기 바란다.



# /usr/local/samba/bin/testparm /usr/local/samba/lib/smb.conf



성질이 급해서 지금 당장 삼바를 쓰고 싶으신 분들은 SWAT의 [STATUS] 아이콘을 눌러 서버 상태 확인 화면에서



[Start smbd] 및 [Start nmbd]를 눌러 삼바 서버를 동작시키기 바란다. smb.conf가 수정되었다면 반드시



[STATUS] 아이콘을 눌러 서버 상태 확인 화면으로 들어간 다음 [Restart smbd] 및 [Restart nmbd]를 눌러서



삼바 서버를 재시동해야 한다.







netbios 이름 서버와 삼바 서버의 자동 시동 설정



testparm 과정을 무사히 넘겼다면, 서버의 설치작업으로 들어간다. 여기서 결정해야 할 것은 smbd



(삼바 서버)와 nmbd (netbios 이름 서버)를 daemon으로 동작시킬 것인지, inetd로 동작시킬



것인지 결정하는 것이다. 속력을 위해서 daemon으로 동작시키는 것이 유리하지만, 그 밖의 기능상으로



별다른 큰 차이가 없다는 것을 알려둔다. 그러나 일단 한가지 방법을 선택하면 나머지 다른 쪽은 반드시



포기해야 한다는 점을 명심하면서, 다음에 이어지는 설명을 참조하기 바란다.



* daemon으로 동작시킬 경우: 컴퓨터가 처음 부팅될때 자동으로 시동되도록 만들기 위해서

* ''/etc/rc.local''이나 (SunOS 4.1.x), ``/sbin/rc3.d'' (System V 계열)등에



/usr/local/samba/bin/smbd -D







/usr/local/samba/bin/nmbd -D



명령을 추가한다.

* inetd.conf로 동작시킬 경우: 다음 두 파일을 고쳐야 한다.

o ``/etc/services''에 다음 두줄을 추가한다.



netbios-ssn 139/tcp



netbios-ns 137/udp



o ``/etc/inetd.conf''에 다음 두줄을 추가한다. 단, 추가하기 전에 중복 선언의 방지를

o 위해 검색 명령으로 한번 확인하기 바란다.



netbios-ssn stream tcp nowait root /usr/local/samba/bin/smbd smbd



netbios-ns dgram udp wait root /usr/local/samba/bin/nmbd nmbd



inetd.conf는 유닉스마다 조금씩 차이가 날 수 있으므로 자세한 내용은 해당 운영체제의 메뉴얼

* 페이지를 뒤져보기 바란다.




--------------------------------------------------광고(Advertising)-------------------------------------------------------------------------------------


TAG •