Skip to main content

Ubuntu에서 Samba 파일 서버 운영하기

·520 words·3 mins
미뇽
Author
미뇽
안녕하세요! 기술로 세상을 이롭게 만들고 싶은 개발자 미뇽입니다.
Table of Contents

여러 장치 간에 파일을 공유하는 가장 확실하고 안정적인 방법 중 하나는 파일 서버를 구축하는 것입니다. 이번 글에서는 Ubuntu(우분투) 환경에서 Samba(삼바)를 이용하여 윈도우, macOS, 리눅스 등 다양한 운영체제와 파일을 공유할 수 있는 서버를 구축하는 방법을 안내해 드리겠습니다.

Samba(삼바)란?
#

Samba는 윈도우 운영체제에서 사용하는 파일 공유 프로토콜인 SMB/CIFS를 리눅스나 유닉스 계열 운영체제에서도 사용할 수 있도록 해주는 소프트웨어입니다. Samba를 이용하면 리눅스 서버에 공유 폴더를 만들어두고, 윈도우 탐색기에서 마치 로컬 드라이브처럼 접속하여 파일을 읽고 쓸 수 있게 됩니다. 홈서버나 사무실 환경에서 중앙 데이터 저장소로 활용하기에 매우 적합합니다.

Samba 설치 및 설정
#

Samba 패키지 설치
#

가장 먼저 할 일은 서버에 Samba 패키지를 설치하는 것입니다. 터미널에서 다음 명령어를 차례로 실행하여 패키지 목록을 최신화하고 Samba를 설치합니다.

sudo apt update
sudo apt install samba

설치가 완료되면 다음 명령어로 Samba 서비스의 상태를 확인하여 정상적으로 실행 중인지 점검합니다.

systemctl status smbd

systemctl status smbd 명령어 실행 후, ‘active (running)’ 상태가 녹색으로 표시된 터미널 스크린샷

공유할 디렉터리 생성
#

다음으로 클라이언트와 공유할 디렉터리를 생성합니다. 여기서는 예시로 /home/<user>/share 경로에 디렉터리를 만들겠습니다. <user> 실제 사용자의 계정으로 변경해주시면 됩니다.

sudo mkdir -p /home/<user>/share

Samba 설정 파일 수정
#

Samba의 핵심 설정은 /etc/samba/smb.conf 파일에서 이루어집니다. 원본 설정을 보존하기 위해 파일을 백업한 후, 편집을 시작하겠습니다.

사용자 추가

sudo smbpasswd -a $USER

현재 사용자 계정으로 samba에 접속할 수 있도록 계정과 비밀번호를 설정해 줍니다.

설정 파일 백업

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

설정 파일 편집 (nano 편집기 사용 예시)

sudo nano /etc/samba/smb.conf

smb.conf 파일의 가장 아래쪽에 다음 내용을 추가합니다. 이것이 우리가 생성한 공유 폴더에 대한 정의입니다.

[share]
   comment = Samba Share
   path = /srv/samba/share
   read only = no
   browsable = yes
   guest ok = no
  • [share]: 클라이언트에서 보이게 될 공유 폴더의 이름입니다. 원하는 이름으로 변경할 수 있습니다.
  • comment: 공유 폴더에 대한 간단한 설명입니다.
  • path: 2단계에서 생성한 실제 공유 디렉터리의 경로입니다.
  • read only = no: ‘아니오’로 설정해야 파일을 쓸 수 있습니다. 읽기 전용으로 하려면 yes로 변경합니다.
  • browsable = yes: 파일 탐색기에서 해당 공유 폴더가 보이도록 설정합니다.
  • guest ok = no: 인증된 사용자만 접속하게 하려면 이 항목을 no로 설정합니다. yes인 경우 별도의 사용자 인증 없이 손님(guest) 계정으로 접근을 허용합니다.

설정 파일의 문법에 오류가 없는지 다음 명령어로 확인합니다.

testparm

‘Loaded services file OK.’ 메시지가 나타나면 정상입니다.

수정한 설정을 적용하기 위해 Samba 서비스를 재시작합니다.

sudo systemctl restart smbd
sudo systemctl restart nmbd

방화벽 설정
#

Ubuntu에 UFW(Uncomplicated Firewall) 방화벽이 활성화되어 있다면 Samba가 사용하는 포트를 허용해 주어야 합니다.

sudo ufw allow samba

이 명령어 하나로 Samba에 필요한 포트들이 자동으로 허용됩니다.

클라이언트에서 접속하기
#

윈도우 PC에서
#

윈도우 PC에서 접속하여 파일이 정상적으로 공유되는지 확인해 보겠습니다.

  1. 키보드에서 Win + R 키를 눌러 실행창을 엽니다.
  2. \\[서버 IP 주소]를 입력하고 ‘확인’을 누릅니다. 예를 들어 서버 IP가 192.168.0.10이라면 \\192.168.0.10을 입력합니다.
  3. 사용자의 계정과 설정한 비밀 번호를 입력합니다.
  4. 탐색기 창이 열리면서 앞서 smb.conf에서 설정한 share 폴더가 보일 것입니다.

Mac OS에서 접속하기
#

Mac OS에서 접속하여 파일이 정상적으로 공유되는지 확인해 보겠습니다.

  1. Finder나 바탕화면에서 Command(⌘) + K를 누릅니다.
  2. \\[서버 IP 주소]를 입력하고 ‘확인’을 누릅니다
  3. 사용자의 계정과 설정한 비밀 번호를 입력합니다.
  4. Finder 창이 열리면서 앞서 smb.conf에서 설정한 share 폴더가 보일 것입니다.

폴더에 들어가서 새 파일을 만들거나 파일을 복사하여 서버에 정상적으로 저장이 되는지 확인합니다.

마무리 (사용자 인증 설정)
#

Samba를 이용하면 리눅스 환경에 익숙하지 않은 사용자도 윈도우 환경에서 손쉽게 서버의 파일에 접근할 수 있어 매우 유용합니다. 이 글이 여러분의 데이터 관리 환경을 개선하는 데 도움이 되기를 바랍니다.


참조