리눅스 사용기 및 테크팁

개인 서버 구축 세번째 시간 입니다.

오늘은 M$ 윈도우에서 "파일 공유", "네트워크 공유 문서" 등으로 불리우는 Samba 서버를 구축해 보도록 하겠습니다.

대부분 Windows를 사용하면서 Linux를 공부하신다는 점에서 미루어,

Windows PC와 Linux PC 간의 파일을 가장 효과적으로 공유할 수 있는 방법의 하나인 Samba에 대해 알아봅니다.

samba-logo-v1.png

samba-4.jpg

우선 2대의 PC가 있다는 전제에서 시작하며, 한 대는 Windows PC이고 다른 하나는 Linux PC 입니다.

(당연 Linux PC가 Samba의 서버 역할을 할 것이며, 하모니카가 설치되어 있겠지요.)


■ samba 설치

samba는 터미널에서 아래 명령으로 쉽게 설치할 수 있습니다.

$ sudo apt-get install samba

[sudo] password for user: 

패키지 목록을 읽는 중입니다... 완료

의존성 트리를 만드는 중입니다       

상태 정보를 읽는 중입니다... 완료

다음 패키지를 더 설치할 것입니다:

  libsmbclient python-samba samba-common samba-common-bin samba-dsdb-modules

  samba-libs samba-vfs-modules smbclient

제안하는 패키지:

  bind9 bind9utils ldb-tools ntp smbldap-tools winbind heimdal-clients

다음 패키지를 업그레이드할 것입니다:

  libsmbclient python-samba samba samba-common samba-common-bin

  samba-dsdb-modules samba-libs samba-vfs-modules smbclient

9개 업그레이드, 0개 새로 설치, 0개 제거 및 267개 업그레이드 안 함.

7,181 k바이트 아카이브를 받아야 합니다.

이 작업 후 13.3 k바이트의 디스크 공간을 더 사용하게 됩니다.

계속 하시겠습니까? [Y/n] y

-- 이하 생략 --

■ samba 설정

samba는 설치보다 설정이 더 중요합니다.

※ 대부분 설정 단계에서 어려움을 느끼고 중도 포기하게 되는데요.

일단 가장 간략하게 구동 가능한 상태까지를 세팅해보고, 추가 옵션은 이후 별도 세션에서 다루도록 하겠습니다.


samba를 설치하면 아래 경로에 samba 설정파일이 생성됩니다. 열어서 몇가지 항목만 수정하도록 하겠습니다.
※ 주석(#)으로 시작하는 문장이 설명입니다.

$ sudo vi /etc/samba/smb.conf


================================================================================

# workgroup는 네트워크 공유 그룹 이름입니다.

# 기업이나 단체에서는 단일 네트워크 내에 여러 PC가 있기에 group을 지정합니다만,

# 개인용으로 사용하시는 거라면 group이 별 의미가 없습니다. 그냥 그대로 둡니다.

workgroup = WORKGROUP


# 서버 이름을 표시합니다. Windows에서 네트워크로 검색해보면 나오는 PC 이름에 해당합니다.

# 기본으로는 호스트명(%h)을 표시하도록 되어 있습니다. 본인이 원하는 이름으로 바꾸셔도 됩니다.

# (예)  server string = HamoniKR Samba server

server string = %h server (Samba, Linux Mint)


# samba 서버에 접속할때, ID 계정을 확인하여 접속 유무를 허용한다면 "user"로 설정하고,

# ID 계정 없이 누구나 접속하게 하려면 "share"로 설정합니다.

# 여기서는 보안상 계정 확인이 안전하므로, user 상태 그대로 두겠습니다.

security = user


# 설정에 필요한 항목들이 너무너무 많습니다만, 세부적인건 고급 세션 시간에 다루기로 하고 건너뜁니다.

# 제일 아래쪽으로 가시면 대괄호로 묶여 있는 5~6라인 정도의 글뭉치들이 보일겁니다. 예: [print$]

# 이를 참조해서 공유 디렉터리를 아래와 같이 등록해 줍니다.

[Data]                               # 공유할 폴더명 입니다. 적절한 이름을 넣어 주세요.

        comment = data        # 폴더명과 같이 표현될 설명문 입니다.

        path = /var/data       # 실제 서버의 디렉터리 경로(path) 입니다.

        writable = yes           # 파일을 저장할 수 있도록 쓰기(write) 권한을 부여합니다. 읽기전용이면 "no"

        public = yes               # 누구나 접근할 수 있도록 공개(public) 설정을 줍니다.

================================================================================ 

위 설정은... /var/data 디렉터리를 누구나 접근해서 읽고/쓰기를 할 수 있도록 설정한 내용입니다.

설정과 같이 /var/data 디렉터리를 만들어줍니다.

$ sudo mkdir /var/data

그리고 누구나 접근할 수 있게 퍼미션을 지정합니다.

$ sudo chmod 777 /var/data


■ 사용자 등록

samba로 접근시 사용할 계정을 등록합니다. 앞서 설정파일에서 "user"로 정의하였으므로 사용자를 등록해야 합니다.

실제 리눅스 시스템에 등록되어 있는 계정과 samba 계정은 서로 다르다고 보시면 됩니다.

그렇지만 개인적으료 사용할때는 구분에 의미는 없으므로,

시스템 계정과 samba 계정을 매칭하는 방식으로 등록하도록 하겠습니다.

아래 명령으로 samba 사용자를 추가합니다.

$ sudo smbpasswd -a *****    # ← 여기서 ***** 부분에 ID를 기록하며, 이미 등록되어 있는 ID여야 합니다.

New SMB password:                  # 적적한 패스워드를 입력합니다. 편의상 시스템 ID의 암호를 같이 사용해도 됩니다.

Retype new SMB password:

Added user *****.


■ 서비스 구동

간략히 설정을 마쳤다면, samba 서비스를 구동합니다. (smbd, nmbd)

$ sudo service smbd restart

smbd stop/waiting

smbd start/running, process 4320

$ sudo service nmbd restart

nmbd stop/waiting

nmbd start/running, process 4409


■ 클라이언트 접속

이제 Windows PC의 탐색기를 열고, 상단 주소입력창에 아래와 같이 samba 서버의 IP 주소를 넣어 봅니다.

\\192.168.xx.xx      # IP 앞에 역슬래쉬(\)가 2개 들어갑니다. 슬래쉬(/) 아닙니다.

samba_01.png

위 그림과 같이 앞서 설정한 "Data" 공유 디렉터리가 나타납니다.


더블클릭하면 아래와 같이 ID/PW를 묻는 창이 나타나며, 앞서 설정한 ID/PW를 넣고 로그인합니다.

samba_02.png


정상적으로 접속이 되면, 이제 파일/폴더 등을 공유하면 됩니다.


※ 위 설정은 기본 설정만 다룬 관계로 별다른 제한 없이 접속해서 사용할 수 있는 개인용으로 세팅되었습니다. (초급)

이외에도 접속 대역 제한, 사용자 제한, 권한 설정 등 많은 세부 설정사항들이 있으나,

이는 추후 중급/고급 섹션에서 다루도록 하겠습니다.


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

# 개인 서버 구축 가이드 - 전체 목록

[개인 서버 구축 가이드] ① SSH 서버 (openssh-server)

[개인 서버 구축 가이드] ② FTP 서버 (vsftpd)

[개인 서버 구축 가이드] ③ 파일 공유 서버 (samba-초급)

[개인 서버 구축 가이드] ④ 파일 공유 서버 (samba-중급)

[개인 서버 구축 가이드] ⑤ 파일 공유 서버 (samba-고급)

[개인 서버 구축 가이드] ⑥ 파일 공유 서버 (nfs)

[개인 서버 구축 가이드] ⑦ 파일 공유 서버 (autofs)

[개인 서버 구축 가이드] ⑧ DB 서버 (mariadb)

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


번호 제목 추천 수 글쓴이 날짜 조회 수
공지 HamoniKR용 통합관제시스템 VIVEex [1] 0 NXware 2020.02.10 1124
공지 아치리눅스 + xfce4 + i3 후기입니다. [2] 1 가벼운게최고 2019.11.12 2514
공지 [설치기] 리눅스민트 19 클린 설치 후기 [3] 0 바람곰돌 2018.07.12 5518
공지 리눅스에서 사용하는 소프트웨어 개발 편집기 [10] 0 Kevin 2018.05.29 5380
공지 [사용기] 음악재생기와 NAS 그리고 환경꾸미기 [13] 0 바람곰돌 2018.05.03 4061
공지 우분투 18.04 LTS Bionic Beaver를 써보았습니다! [18] 0 la_Nube 2018.04.28 14074
공지 만자로를 쓰다가 [3] 0 꼬꼬댁 2018.04.28 6808
공지 리눅스 대초보자의 Deepin OS 사용 후기 공유합니다. [22] 1 PEACH 2018.04.27 7624
공지 작은 교회에서 커뮤니티 실비아판 사용하기 [21] 0 산돌이네 2018.04.01 4289
공지 리눅스 사용기 및 팁엔테크 게시판 사용 도움말 0 관리자 2014.11.03 53170
208 [잡담] 리눅스 이용 비밀번호 푼 듯... 0 행복한펭귄 2016.04.07 5097
207 [개인 서버 구축 가이드] ④ 파일 공유 서버 (samba-중급) [1] file 0 legoboss 2016.04.06 14496
206 [게임] 프리 심슨 온라인 file 0 행복한펭귄 2016.04.06 2831
205 [게임] Warzone2100 v3.1.4 버전 업데이트 소식 file 0 행복한펭귄 2016.04.06 2600
» [개인 서버 구축 가이드] ③ 파일 공유 서버 (samba-초급) [5] file 0 legoboss 2016.04.05 7957
203 Media 홍보 관계자분들 참고해주세요! [1] 0 식혜고양이 2016.04.05 2235
202 추천 온라인 비디오 에디터 10개 0 행복한펭귄 2016.04.05 2715
201 [가이드] 리눅스지만 인터넷 익스플로러는 쓰고싶어 - 2부 [3] file 0 Inasis 2016.04.04 9474
200 SourceForge Youtube Channel 0 행복한펭귄 2016.04.04 2488
199 프리 소프트웨어 가이드 TJFREE.COM 0 행복한펭귄 2016.04.04 2583
198 유튜브 자막 번역 기능으로 최신 리눅스 정보를 익히자! [1] file 0 행복한펭귄 2016.04.04 3015
197 [강좌] 우분투에서 게임을 즐기는 방법 0 행복한펭귄 2016.04.03 5117
196 [강좌] 사용자 중심의 리눅스 기초 활용법 [2] 0 행복한펭귄 2016.04.03 4873
195 [강좌] 우분투 코리아 유튜브 강좌 모음 0 행복한펭귄 2016.04.03 5839
194 [강좌] 리눅스 시스템 최적화 방안 0 행복한펭귄 2016.04.03 4858
193 [강좌] 리눅스 대박 사용기 0 행복한펭귄 2016.04.03 5283
192 [강좌] 동영상 제작 소프트웨어 가이드 0 행복한펭귄 2016.04.03 5005
191 [설문조사] 어떤 이미지 뷰어를 사용하십니까? (다수 선택 가능) 0 행복한펭귄 2016.04.03 5086
190 [설문조사] 당신이 애용하는 리눅스 비디오 에디터는? [5] 0 행복한펭귄 2016.04.02 5542
189 Make use of Linux [1] 0 행복한펭귄 2016.04.02 5173
  • 하모니카 미디어 에디션
  • 설치가 필요없는 화상통화 하모니
loginbox
아직 회원이 아니세요? 회원가입