강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

9. SULinux 2.0 SAMBA 설정 및 운영 - SULinux 2.0 공개 강좌

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

9. SULinux 2.0 SAMBA 설정 및 운영


  samba는 이기종간의 파일, CD-ROM, 프린트등을 공유하기 위해 만들어진 프로그램입니다. 이는 Windows의 프린터를 리눅스에서 사용하고, 리눅스의 CD-ROM을 윈도우에서 사용할 수 있게 해 줍니다. samba는 SMB(Server Message Block)를 사용합니다. SMB는 마이크로소프트사와 인텔이 다른 시스템의 디스크나 프린터와 같은 자원을 공유하기 위해 개발된 프로토콜입니다. SMB는 TCP/IP 기반의 NetBIOS 프로토콜을 사용합니다. NetBIOS는 IPX, NetBEUI, DECnet, TCP/IP위에 구현이 되어 있지만, 가장 많이 사용하는 TCP/IP를 사용하므로 SMB는 확장성이 뛰어납니다.
  samba를 사용하게 되면 윈도우즈의 Network Neighborhood에 나타나게 되며, samba에 설정된 그룹과, 리눅스에 설정된 호스트명으로 컴퓨터명이 나타나게 됩니다. 물론, samba를 사용하면, 윈도우에서 사용하는 컴퓨터이름으로 다른 컴퓨터 접속이 가능합니다. 예를 들어서 윈도우의 컴퓨터 이름이 “sulinux-dev"라면, 컴퓨터에 접속 시 해당 컴퓨터의 IP을 알지 못해도 컴퓨터 이름 ”sulinux-dev"만 알면 접속이 가능합니다. samba를 사용하면, 같은 네트워크에서 samba서버 접근시 컴퓨터이름만 알면 IP를 몰라도 접근 할 수 있습니다. 이것이 WINS(Windows Internet Name Service)입니다.


1. SAMBA 서버의 동작 구조

   smaba서버는 크게 2개의 프로세스로 구성 되어 있습니다. 이는 smbd와 nmbd입니다. 대부분의 처리는 smbd에서 합니다. 포트 또한 TCP:445 만 열려 있으면 작동합니다. 이렇게 되었을 때는 원도우에서 사용하는 컴퓨터 이름으로 접속되지 않으며, Network Neighborhood(네트워크 환경)에도 나타나지 않고, 오직 site(IP또는 도메인)로만 접속 할 수 있습니다. nmbd는 3개의 포트를 사용합니다. TCP:139만 있으면 컴퓨터 이름으로 접속 할 수 있습니다. UDP:137과 UDP:138은 Network Neighborhood(네트워크 환경)에 영향을 미치며 윈도우즈는 주변 컴퓨터를 찾을 때 UDP 137,138번을 이용하여 브로드케스팅 하게 됩니다. 윈도우즈는 그렇게 하여 주변의 컴퓨터를 찾게 되는 것입니다.


2. SAMBA 시작 및 종료

  SAMBA Server는 항상 실행하고 있는 서버 프로그램입니다. SULinux는 smb를 서비스 프로그램으로 관리하며 다음과 같이 관리할 수 있습니다.

  SULinux의 “서비스 설정”에서 smb를 시작, 종료, 재시작 할 수 있습니다.
시작 => 시스템 => 관리 => 서버 설정 => 서비스 설정

  위 그림은 smb를 시작, 종료, 재시작 할 수 있는 “서비스 설정”입니다. 위 그림의 서비스 중 “smb”을 선택하고 , 아이콘을 눌러 원하는 작업을 할 수 있습니다.

콘솔 접속하여 smb를 시작, 종료, 재시작 할 수 있습니다.

  위 그림은 service 명령어를 사용하여 smb를 시작, 재시작, 종료 한 결과입니다. 위와 같은 방법으로 smb 서버를 제어 할 수 있습니다. smb, nmb가 함께 작동하는 것을 알 수 있습니다.


3. SAMBA서버 설정 및 접속방법

  SULinux는 기본적으로 samba서버가 설치되어 있지만, 서비스는 시작되어 있지 않습니다. samba를 사용하기 위해서는 다음과 같은 samba서버 설정이 필요합니다.


  1. 시스템 계정 추가

  SULinux에서 samba서버를 사용하고자 한다면, 먼저 시스템계정을 추가해야 합니다. 이미 생성한 계정이 있다면, 생성한 계정을 사용해도 무관합니다.

  시작 -> 시스템 -> 관리 -> "사용자 및 그룹"을 선택합니다.

  “사용자 및 그룹” 프로그램으로 새로운 사용자를 생성합니다. 물론 명령어를 사용하여 사용자를 생성하셔도 무관 합니다.


  2. samba 사용자 연결

  samba서버는 프린트, 파일 공유를 위해 사용합니다. 아무나 접근하여 사용 할 수도 있지만, 대부분 사용자에게서 아이디 및 비밀번호 입력을 받아 접속 할 수 있도록 많이 사용합니다.
  samba서버의 ID/비밀번호를 연결하기 위해서는 다음과 같이 합니다.

시작 -> 시스템 -> 관리 -> 서버설정 -> "Samba"를 선택합니다.

메뉴중에서 “설정->Samba사용자“를 선택합니다.

  Unix 사용자명 : 전 단계에서 생성했던 시스템 사용자 계정을 선택합니다.
  Windows 사용자명 : Windows 삼바서버에 로그인 할 때 사용할 계정을 입력합니다.
                       계정은 시스템 계정과 같아도 되고, 달라도 됩니다.
  Samba 암호 : Windows에서 삼바서버로 로그인 할 때 사용할 비밀 번호입니다.
               비밀번호 또한 시스템 비밀번호와 같아도 되고, 달라도 상관없습니다.
  Samba 암호 확인 : Samba 암호와 똑같이 입력합니다.


  3. 공유할 디렉토리 추가

  사용자 계정소유의 디렉토리 중 일부를 선택하여 공유 할 수 있습니다.
” 버튼을 눌러 다음과 같이 설정 합니다.

  공유할 디렉토리, 공유명, 설명을 입력합니다. 옵션으로 “쓰기 기능” 및 “보이기”를 선택합니다.  “쓰기 기능”을 사용하면 SAMBA를 통해 접근한 사용자가 폴더를 생성하고, 파일을 만들고, 지우고 이런 일들이 가능하며, 사용하지 않으면 읽기만 가능합니다. “보이기”는 이 서버에 접근시 공유명을 보여 줄 것인지 선택 합니다.


  “접근”탭을 선택하면 위 그림과 같습니다. 특정 사용자만 접근을 허용하려면 앞에서 추가한 사용자중 접속을 허용할 사용자를 선택 합니다. 그렇지 않고 모든 사용자의 접근을 허용 하려면 “⊙모든 사용자에 접근 허가”를 선택 합니다.

  설정을 완료하면 아래의 결과와 같이 설정한 내역이 나타나게 됩니다.


  4. SAMBA서버 접속 (Windows)

  윈도우즈에서 다음과 같은 방법으로 접속 할 수 있습니다.  시작-> “실행”을 선택합니다. 그리고는 다음과 같이 입력합니다. 

  위 그림은 Samba서버에 접속하기 위하여 Samba 서버의 호스트네임(sulinux2)를 입력하였습니다. 물론 IP를 넣어 접근 할 수 있습니다. “확인”을 눌러 접속 합니다.

  위 그림은 Samba서버 접근 과정에서 로그인을 요청하는 화면입니다. 앞에서 생성한 Samba Windows 사용자명과 Samba 암호를 넣어 로그인 합니다.

  다음 그림과 같이 접속 되는 것을 볼 수 있습니다. 접속 된 후에는 Windows의 로컬폴더와 같이 파일을 생성/복사/수정/삭제등을 할 수 있습니다. Samba는 FTP와 다르게 다운로드 받지 않아도 파일을 보거나 편집 할 수 있습니다.



  5. SAMBA서버 접속 (Linux GUI)

  리눅스에서는 SAMBA서버 및 Windows파일 공유에 접근하기 위한 다양한 방법을 제공합니다. 리눅스 GUI 환경에서 사용하는 파일브라우져 (Gnome의 Nautilus, KDE환경의 Konqueror)에서 SMB접속을 지원합니다. 다음은 Gnome환경의 Nautilus를 사용하는 SULinux에서 접속해 보았습니다.

  먼저 파일브라우저를 실행 합니다. 파일브라우저 실행은 간단하게 “컴퓨터”를 실행시키면 됩니다. 메뉴에서 “이동”->“위치”를 선택하여 위와 같이 입력합니다.

  위와 같은 방식으로 입력합니다. smb는 프로토콜입니다. 여기에는 ftp, ssh, http를 사용할 수 있습니다.  컴퓨터명에는 Windows의 컴퓨터명 또는 리눅스의 호스트명, IP, 도메인 등이 올 수 있습니다. 공유이름에는 공유 디렉토리를 지정하고, 지정하지 않으면 공유할 수 있는 자원들을 보여주는 페이지가 나타납니다. 공유 할 수 있는 자원리스트에 보여 지기 위해서는 SMB설정에서 “보이기”를 선택해야 합니다.

  위 그림은 Samba서버 접근 과정에서 로그인을 요청하는 화면입니다. 앞에서 생성한 Samba Windows 사용자명과 Samba 암호를 넣어 로그인 합니다. 여기서 도메인은 기본 “MYGROUP" 이지만, Samba서버 기본 설정에서의 인증은 사용자 인증이기 때문에 영향을 주지 않습니다.

  6. SAMBA서버 접속 (Linux GUI)
  리눅스에서 SMB서버에 접속하는 방법은 여러 가지 이며, TUI 환경에서도 다양한 접속 방법이 있습니다.

  1) MC를 이용한 방법
  다음은 MC(Midnight Commander)를 이용하여 접속해 보았습니다. 명령어창에서 "mc"를 입력하면 아래 그림과 같이 mc가 작동하며, <F9>키를 눌러 메뉴가 나타나면 “왼쪽” -> "SMB 연결“을 선택합니다.

  아래와 같이 호스트 이름을 입력합니다. 호스트 이름은 컴퓨터이름, IP, 도메인등을 입력합니다.

  다음으로 도메인, 사용자, 비밀번호를 입력합니다. 

  아래 그림과 같이 SMB서버에 접속된 것을 확인 할 수 있습니다. 아래의 환경에서 마치 로컬에 있는 파일과 디렉토리
  처럼 여러 가지 작업을 할 수 있습니다. 


  2) smbclient를 이용한 SMB서버 접속

  samba에서 제공하는 smbclient명령어를 이용하여 SMB서버에 접속 할 수 있습니다. 접속 방법은 다음과 같습니다.

  “smbclient //컴퓨터이름/공유명/ -U 사용자명” 이렇게 입력하면, 비밀번호를 넣으라고 하며, 비밀번호 입력후 FTP에 접속한 것처럼 작동됩니다. "help"명령어를 입력하면, 사용 할 수 있는 명령어가 나타나며, FTP와 비슷하게 get, put 등의 명령어로 파일을 다운로드, 업로드 할 수 있습니다.


  7. SMB 파일 시스템 마운트 ( 리눅스 )

  윈도우 및 리눅스의 SMB서버에 있는 파일 및 디렉토리를 마치 내 리눅스 서버에 있는 것 처럼 마운트 할 수 있습니다. 이 있습니다. 윈도우의 경우는 네트워크 드라이버를 만들 수 있습니다. 다음 명령어로 마운트 해 보도록 하겠습니다.

  1) 먼저 마운트 할 디렉토리를 생성합니다.
  2) 그런 다음 마운트 합니다.

  위에서 "mount -t cifs //sulinux2/sulinux /smbmount/ -o user=sulinux -o password=1234" 명령어를 사용하여 SMB서버에 접속했습니다. 일반적인 mount 명령어를 이용하여 마운트하고, 파일시스템 타입은 cifs로 하였습니다. “//컴퓨터명/공유명”을 지정하고, 로컬에 마운트 할 곳(/smbmount)를 지정했습니다. SMB서버 접속을 위해 옵션으로 user와 password를 명시하였습니다. 이렇게 마운트 되면, 마치 로컬의 디렉토리와 같이 사용할 수 있습니다. 이 방법은 백업등의 용도로 많이 사용되고 있습니다

 

4. SAMBA서버 운영 및 설정


  1. “.”으로 시작하는 숨김 파일에 관하여

  리눅스 및 유닉스 시스템에서는 "."으로 시작하는 파일은 숨김 파일입니다. 하지만, 윈도우에는 숨김 속성이 들어있는 파일만이 숨김 파일입니다. 이런 문제로, SAMBA서버에 파일을 저장했는데 보이지 않는 경우가 있습니다.

  /etc/samba/smb.conf 파일을 여러 [global] 섹션에 다음 내용을 추가 합니다.

  위와 같이 설정하고 SAMBA서버를 재시작 하시면 윈도우에서도 “.”으로 시작하는 숨김 파일이 보이게 됩니다.
  다른 방법으로 윈도우에서 "숨김 파일 표시"기능을 사용하여도 보이지만, 다양한 클라이언트 환경을 위해서라면 서버에서 설정하는 것이 좋을 듯합니다.


  2. 작업그룹 및 컴퓨터 설명을 변경하려면?

    작업그룹 및 설명을 변경하기 위해서는 “시작” -> “시스템” -> “관리” -> “서버설정” -> "Samba"를 프로그램을 실행시켜, “설정”->“서버설정”에서 작업그룹 및 설명을 변경할 수 있습니다.

  3. 컴퓨터 이름을 바꾸려면?

  컴퓨터 이름을 변경하기 위해서는 컴퓨터의 호스트네임을 변경해야 합니다. 호스트네임 변경을 위해서 “네트워크”관리 툴을 사용합니다.
  “시작” -> “시스템” -> “관리” -> “네트워크”를 선택합니다. “DNS"탭에서 ”호스트명“ 부분을 수정 합니다.

  수정 후에는 ”파일“->”저장“을 눌러 저장하고, 꼭 네트워크를 재시작 합니다. 네트워크 재시작 방법은 ”서비스 설정“에서 ”network"를 선택 한 다음  버튼을 눌러 재시작 합니다.

 


  본 강좌는 SULinux 2.0 GUI “사용설명서”를 참조하였습니다. 본 강좌의 개선점이나, 오타등이 있으면 service@linux.kr으로 알려주시기 바라며, 그 밖의 질문은 sulinux.net으로 해 주시기 바랍니다. 2010년 2월에 연구소장 에스유.

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  116 명