5.파일 서버 구축하기, Samba를 이용한 파일 서버 설정

오늘은 Ubuntu 서버를 이용하여 Samba를 설정하고 파일 서버를 구축하는 방법에 대해 알아보겠습니다. Samba는 Linux와 Windows 간에 파일 공유를 가능하게 해 주는 소프트웨어입니다. Samba를 사용함으로써 네트워크를 통해 데이터에 접근하고 파일을 쉽게 공유할 수 있습니다.

1. Samba란?

Samba는 Linux 및 Unix 시스템에서 Windows 파일 공유 프로토콜인 SMB(서버 메시지 블록)를 구현한 오픈 소스 소프트웨어입니다. Samba를 사용하면 다양한 운영 체제 간에 파일 및 프린터 자원을 공유할 수 있으며, 중앙 집중식 파일 관리를 지원합니다.

2. Samba 설치

먼저, Ubuntu 서버에 Samba를 설치해야 합니다. 아래의 명령어를 사용하여 Samba를 설치할 수 있습니다.

sudo apt update
sudo apt install samba

2.1. Samba 상태 확인

설치가 완료되면, Samba 서비스가 정상적으로 실행 중인지 확인해야 합니다.

sudo systemctl status smbd

이 명령어를 통해 Samba 서비스가 활성화되어 있는지 확인하십시오. “active (running)”이 표시되면 정상적으로 실행되고 있는 것입니다.

3. Samba 설정

Samba의 설정 파일은 /etc/samba/smb.conf에 위치합니다. 이 파일을 편집하여 Samba의 동작을 제어할 수 있습니다.

sudo nano /etc/samba/smb.conf

3.1. 기본 설정

파일의 맨 아래에 아래의 내용을 추가하여 공유할 디렉토리와 권한을 설정합니다.

[Public]
   path = /srv/samba/public
   browsable = yes
   writable = yes
   guest ok = yes
   read only = no
   force user = nobody

3.2. 설정 항목 설명

  • path: 공유할 디렉토리의 경로를 지정합니다.
  • browsable: 이 옵션이 true로 설정되면 네트워크에서 해당 공유가 표시됩니다.
  • writable: true로 설정하면 사용자가 파일을 쓸 수 있습니다.
  • guest ok: 이 옵션이 true로 설정되면 비회원 사용자도 접근할 수 있습니다.
  • read only: false로 설정하면 사용자가 파일을 수정할 수 있습니다.
  • force user: 이 설정으로 파일이 생성될 때 지정한 사용자로 강제 할당됩니다.

3.3. 디렉토리 생성 및 권한 설정

Samba 공유용 디렉토리를 생성하고 적절한 권한을 설정하겠습니다.

sudo mkdir -p /srv/samba/public
sudo chmod 0777 /srv/samba/public

3.4. Samba 사용자 추가

사용자가 Samba를 통한 인증을 이용하려면 Samba 사용자로 추가해야 합니다. 아래 명령어를 사용합니다.

sudo smbpasswd -a [사용자이름]

여기서 [사용자이름]은 Samba 사용자를 추가하고자 하는 실제 사용자 이름으로 대체하십시오. 비밀번호를 입력하라는 메시지가 나타납니다.

4. Samba 서비스 재시작

설정이 완료된 후 Samba 서비스를 재시작해야 합니다.

sudo systemctl restart smbd

5. 방화벽 설정

Ubuntu의 방화벽이 활성화되어 있다면 Samba의 포트를 허용해야 파일 접근이 가능합니다. 아래 명령어로 방화벽 설정을 수정할 수 있습니다.

sudo ufw allow samba

6. 클라이언트에서 Samba 공유 접근

이제 Samba 공유를 클라이언트에서 접근해볼 수 있습니다. Windows에서는 파일 탐색기를 열고 주소창에 \\서버_IP_주소\Public를 입력합니다. Linux에서는 파일 관리자를 열고 smb://서버_IP_주소/Public를 입력합니다.

6.1. Windows에서의 접근 예시

파일 탐색기를 열고 주소창에 \\192.168.1.10\Public 입력 후 엔터를 누릅니다. 공유 폴더에 접근할 수 있어야 합니다.

6.2. Linux에서의 접근 예시

파일 관리자를 열고 “연결” -> “서버로 연결”을 클릭한 후 smb://192.168.1.10/Public를 입력하여 접근 가능합니다.

7. 추가 설정

Samba는 매우 유연한 설정이 가능하여 다양한 요구사항에 따라 추가적인 설정을 할 수 있습니다. 예를 들어 사용자 기반의 접근 제어나 특정 파일 형식에 대한 접근 제한도 가능합니다.

7.1. 예시

[Private]
   path = /srv/samba/private
   browsable = no
   writable = yes
   valid users = @sambashare

위 설정은 Private 디렉토리를 생성하고, 오직 sambashare 그룹의 사용자만 접근할 수 있도록 설정하는 예시입니다.

8. 보안 및 유지 보수

Samba 서버를 운영하는 동안 주기적으로 로그를 점검하고 서비스를 모니터링하는 것이 중요합니다. 로그 파일은 /var/log/samba 위치에 저장되며, 서비스의 안정성을 파악하는 데 유용합니다.

8.1. Samba 로그 확인

tail -f /var/log/samba/log.smbd

위 명령어를 통해 실시간으로 Samba 로그를 확인할 수 있습니다.

9. 마무리

이번 글에서는 Ubuntu 서버를 이용하여 Samba를 설정하고 파일 서버를 구축하는 방법에 대해 알아보았습니다. Samba는 파일 공유를 위한 강력한 도구로, 올바른 설정을 통해 간편하게 파일을 공유할 수 있도록 도와줍니다. 이를 통해 다양한 플랫폼에서 쉽게 파일에 접근하고 협업할 수 있는 환경을 만들 수 있습니다. 여러분의 서버 구성에 Samba를 활용해 보세요!

참고 자료