[본문스크랩] [펌-와우리눅스] 삼바서버 사용법 기초
- smbpasswd -a rekcuf
- smbclient 또는 smbmount //LSI/Linux_server
초보자를 위한 삼바 서버 엿보기 | |||||||||||||||||
| |||||||||||||||||
삼바는 리눅스와 윈도우간에 파일과 프린터 공유를 할수 있게 해주는 프로그램입니다. 웹서버나 인터넷 공유 서버로만 사용하던 리눅스를 파일서버로도 사용할 수 있습니다. 이글에서는 삼바를 통하여 서로 다른 운영체제간에 기본 파일공유에 대해서 알아보기로 합니다. 삼바 시작하기 삼바(Samba)란? 삼바란 리눅스에서 동작하면서 윈도우의 랜 매니저 기능을 흉내내는 소프트웨어입니다. 윈도우쪽에서 리눅스 서버의 하드디스크와 네트웍 프린터 자원을 공유하도록 환경을 설정할 수 있고, 삼바를 통해 리눅스 쪽에서 윈도우쪽 파일시스템과 프린터로도 접근할 수 있습니다. 이러한 것은 모두 삼바서버가 SMB(Server Message Block)/CIFS(Common Internet File System) 프로토콜을 흉내냄으로써 가능해집니다. SMB 란? SMB(Server Message Block)는 마이크로소프트사와 인텔이 윈도우 시스템이 다른 시스템의 디스크나 프린터와 같은 자원을 공유할 있도록하기 위해 개발되었습니다. SMB는 OS/2, NT, WIN9x를 사용하는 컴퓨터끼리 파일 공유등의 서비스를 구현하는데 사용되는 프로토콜입니다. TCP/IP 기반하의 NetBIOS 프로토콜을 이용하기 때문에 이 프로토콜은 NFS, NIS, lpd 와 같은 유닉스의 분산인증구조와 유사합니다. 따라서, 윈도우 중심의 네트워크 환경에서는 필수적이라고 하겠습니다. CIFS 란? CIFS(Common Internet File System) 는 인터넷을 위한 SMB 파일 공유 프로토콜의 확장된 버전입니다. SMB 프로토콜 위에 DNS(Domain Name Service)를 이용한 확장성, 느린 전화 접속 네트워킹을 위한 최적화, 유니코드를 따르는 파일 이름 지원을 덧붙여, 윈도우와 유닉스 환경을 동시에 지원하는 인터넷의 표준 파일 규약입니다. 한 가지 중요한 사실은 이전의 폐쇄적인 SMB 프로토콜과는 달리 CIFS 규약 정의에 여러 유닉스 업체들이 참여했다는 점입니다. 삼바도 버전이 올라감에 따라(삼바 2.2 계열) CIFS 규약을 준수하고 있습니다.삼바를 쓰는 이유는? 네트워크 환경에 윈도우 NT 서버가 있음에도 불구하고 삼바를 사용하는 이유는 무엇일까요? 단지 공짜라는 이유로 이를 설명하기에는 무리가 따릅니다. 다음과 같은 이유를 생각해 보도록 하겠습니다.
삼바 기능이 그야말로 화려하지 않습니까? 삼바로 무엇을 할 수 있을까? 이제 삼바를 사용하여 어떤 일을 할 수 있는지 몇 가지 시나리오를 제시하겠습니다. 여러분 상황에 맞다면 바로 삼바를 사용해 보기 바랍니다.
물론, 이상에서 소개한 기능이 삼바의 전부가 아닙니다. 삼바의 설치 삼바는 리눅스 설치시 대부분 자동으로 설치가 됩니다. # rpm -qa | grep samba 설치되어 있다면, 이렇게 나옵니다. 설치가 되어 있지 않았다면, 배포판 CD에서 위에 나온 samba 패키지를 설치합니다. * 윈도 NT 나 2000 과 같은 네트워크에 있다면 2.2.x 버전대의 삼바를 사용하기 바랍니다. 삼바의 설정 삼버 서버를 구동하기 위해서는 먼저 네트워크 환경에 맞게 설정을 해야 합니다. 삼바의 설정은 매우 복잡하며 환경에 따라서 다양한 설정 방법등이 존재하므로 처음부터 모든 것을 설정하기 보다는 가장 기본적인 것부터 설정해 나가는 것이 효율적입니다. 먼저, 필자가 작성한 가장 쉬운 smb.conf 를 보며 설명하겠습니다. 먼저, 기본 smb.conf 를 백업한 후 작성 합니다.
[필자의 smb.conf]
위 설정 파일에 대해 설명을 하도록 하겠습니다.
삼바 서버 시작 삼바 서버는 /etc/init.d/smb 스크립트에 의해 구동됩니다. 시작은 아래와 같이합니다.# /etc/init.d/smb start 만약 서버를 멈추고 싶다면, # /etc/init.d/smb stop 와 같이 하면 됩니다. 윈도우에서 리눅스 공유 폴더 사용하기 보통의 유저들은 윈도우98을 사용하고 있을 것입니다. 아래 화면에서 설명필드는 smb.conf 에서 comment 와 같으며, public 폴더는 [public] 섹션과 같습니다. 아래 화면은 리눅스 삼바 공유 폴더에서 파일을 윈도우 머신으로 복사해 오는 화면입니다. 리눅스에서 윈도우 공유 폴더 사용하기 공유 폴더 정보 알아내기 리눅스에서 윈도우 공유 폴더에 접근하려면 먼저 해당 컴퓨터의 공유 폴더에 어떤 것들이 있는지 알아야 합니다. 이러한 공유자원을 알아보는 명령이 smbclient 입니다.
[공유 폴더가 있는 정보 화면] 아래 화면이 공유 폴더가 있는 화면입니다. [공유 폴더 접근하기] 앞에서 윈도우 컴퓨터의 공유 정보를 알아보았습니다.
공유 폴더를 리눅스 디렉토리 처럼 사용하기 삼바 서버를 통해 윈도우 공유 폴더를 마운트하여 리눅스 디렉토리처럼 사용할 수 있습니다.
사용자별로 공유자원 할당하기 지금까지 간단히 삼바서버를 사용하는 법을 익혔습니다.
위와 같은 설정은 junilove 라는 사용자에게만 juni_room 이라는 공유자원(폴더) 사용을 허용하는(실제의 공유자원은 리눅스 서버의 /home/junilove/ 가 됩니다.) 설정입니다. 여기에서 한가지 더 알아보자면 [juni_room] 공유자원을 junilove 와 wowlinux 두 사용자에게 할당하려고 한다면 'vaild users' 값을 'valid users = junilove wowlinux' 와 같이 하면 됩니다. 반대로 junilove 와 wowlinux 사용자만 제외하고 나머지 사용자들에게 공유자원 접근을 허용하려고 한다면 'invalid users = junilove wowlinux' 와 같이 하면 됩니다. 사용자별로 공유 자원을 할당하기 위해서는 사용자가 특정 공유자원을 요청하면 삼바는 해당 공유 자원을 소유하는 사용자 권한으로 동작하기 때문에, 어떤 경우에 있어서도 유닉스 머신에 사용자 계정이 있어야 합니다. 이제 그 작업을 해보도록 하겠습니다.
[smbpasswd 파일 생성 화면] 팁 이 글에서 설명되지 않은 다른 조건의 환경을 만들고 싶다면, 항상 백업해 둔 기본 smb.conf 파일을 참고로 하십시오. 한가지 더 기억할 것은 윈도우 98, NT, 2000 등이 하지 못하는 것을(윈도우에 없는 기능) 삼바로 할 수 있다고 생각하지는 마시라는 것입니다. 삼바는 MS의 윈도우 프로토콜을 흉내내는 소프트웨어임을 기억하십시오. 삼바설정화일의 구문을 체크하여 에러를 표시해 주는 유틸리티가 있습니다. testparm 으로 실행하면, 아래와 같이 삼바 서버 설정을 체크하여 화면을 보여줍니다. 참고자료 제 5회 리눅스 공동체 세미나 강의록, B-6 네트워크서비스 3 (Samba), 강사 박재호님 이젠 나도 리눅서, 한빛미디어, 최지호, 송인준님 지음 글쓴이 : 이종준님 ( junilove@kebi.com ) "Open mind and don't mind!" |
------------------------------------------------------------------------------------------
요번 강좌에서는 이전 강좌에 이어, 본격적인 삼바서버의 설정 방법과 어떻게 하면 윈도우에서 리눅스 파일을 공유할 수 있는지 알아보도록 하겠습니다.
[ 리눅스에서의 삼바 설정 ]
한컴리눅스 2.2기준으로 삼바 설정 파일은 /etc/samba/smb.conf 입니다.
1. 아래는 smb.conf 파일 예제입니다.
#--------------------------- Global Settings ----------------------------------- [global] workgroup = WORKGROUP-> 윈도우의 워크그룹과 동일한 그룹을 지정합니다. server string = File Server -> 리눅스 컴퓨터에 대한 설명입니다. ; hosts allow = 192.168.1. 192.168.2. 127. -> 접근 허용할 네트워크 범위 printcap name = /etc/printcap load printers = yes printing = lprng guest account = pcguest log file = /var/log/samba/%m.log max log size = 0 security = share encrypt passwords = yes smb passwd file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 dns proxy = no #-------------------------- Share Definitions ------------------------------ [homes] comment = Home Directories browseable = no writable = yes [printers] comment = All Printers path = /var/spool/samba browseable = no # Set public = yes to allow user 'guest account' to print guest ok = no printable = yes [public] //공유할 디렉토리명 comment = Public Stuff //설명 path = /home/samba //삼바 공유 디렉토리 public = yes writable = yes printable = no [movie] comment = movie's directory path = /home/movie valid users = jkwoo public = no writable = yes printable = no |
2. 삼바 데몬을 재실행합니다.
<그림 017> 삼바 데몬 재실행
3. 삼바사용자 계정 추가
삼바 서버에 접속하기 위해서는 삼바 사용자를 추가해야 합니다. 삼바 사용자는 /etc/passwd 즉, 시스템(즉, 리눅스서버)에 추가한 사용자를 추가해야 합니다.
아래는 리눅스서버에 admin계정을 추가해 봅니다.
만일 사용자계정이 추가되어 있다면 새롭게 추가할 필요는 없습니다.
[root@server1 SPECS]# useradd admin [root@server1 SPECS]# passwd admin Changing password for user admin. New password: Retype new password: passwd: all authentication tokens updated successfully. |
추가되어 있는 리눅스서버 계정에 삼바 접근을 위한 사용자를 추가합니다.
삼바 접근을 위한 사용자 추가는 smbadduser 명령으로 추가해야 합니다.
반드시, /etc/passwd 파일에 추가되어 있는 시스템 계정을 새롭게 삼바 사용자계정으로 추가해야 합니다.
[root@server1 SPECS]# smbadduser admin:admin Adding: admin to /etc/samba/smbpasswd Added user admin. ---------------------------------------------------------- ENTER password for admin New SMB password: Retype new SMB password: Password changed for user admin. Password changed for user admin. [root@server1 SPECS]# |
'서버관련' 카테고리의 다른 글
시스템의 MAC 어드레스 변경 (0) | 2007.11.26 |
---|---|
[본문스크랩] 윈도우에서 사용하는 포트(port) (0) | 2006.04.25 |
[본문스크랩] [Redhat] NcFTP 사용법 (0) | 2006.04.06 |
[본문스크랩] VSFTP 설치 및 옵션 (0) | 2006.04.06 |
[본문스크랩] vsftp 서버 운영 (kltp에서 퍼옴) (0) | 2006.04.06 |