📑Project , 대외활동/🏠홈 서버

[Home Server] - 파일 공유용 SMB File 서버 구축하기

KangManJoo 2024. 6. 14. 14:18

홈서버에 파일 공유 서버를 하나 구축하려고 계획을 하였는데, 헤놀로지는 너무 무거운듯 하여 우분투 컨테이너에 smb 서버를 하나 만들기로 하였습니다.

먼저 우분투 컨테이너를 하나 만들어줍니다.

우분투 컨테이너 생성후에는 다음 스텝으로 삼바 서버를 구축해줍니다.

SMB 서버 구축

apt update

apt update
apt upgrade -y

삼바 설치

apt install samba -y

리눅스 서버에 계정을 추가해줍니다.

sudo adduser {username}

Samba에도 공유할 계정을 등록해줍니다.

sudo smbpasswd -a {username}

공유할 폴더를 생성해줍니다.

mkdir /home/manjoo/share

이제 conf파일을 수정해주어야합니다.
파일 공유만을 가능하게 작업해보겠습니다.

vi /etc/samba/smb.conf

해당 파일의 최하단에 다음과 같이 적어주었습니다.

각 옵션에 대한 설명은 다음과 같습니다.

[공유할 Section 이름]
comment = [Section에 대한 간단한 설명]
path = [공유할 내부 디렉터리]
browsable =[공유 이름이 사용할 때 브라우징 옵션 ( yes | no )]
create mask = [파일 접근 권한을 설정, Default: 0744]
directory mask = [디렉터리 접근 권한을 설정, Default: 0755]
read only = [공유할 디렉터리를 읽기만 가능한지 지정 ( yes | no )]
writable = [공유할 디렉터리를 쓰기 가능한지 지정. read only와 반대되는 설정 ( yes | no )]
guest ok = [인증되지 않은 사용자의 접근 설정, public 옵션과 같다 ( yes | no )]
printable = [프린터 스풀 사용 여부]
valid users = [공유 디렉터리 접근 사용자 목록. (이 옵션이 없으면 모든 사용자가 접근 가능)]
write list = [그룹의 쓰기 기능 설정]

설정을 완료했다면 저장한 뒤 삼바 서버를 재시작해줍니다.

sudo service smbd restart

삼바 서버에 접속하기 위해서는 같은 네트워크망에 위치해야 합니다.
지난번 생성한 wireguard vpn을 켜고 같은 네트워크에 접속해줍니다.

맥 기준 finder ➡️ 서버에 연결 선택 후 smb://{smb 서버 ip} 로 연결해줍니다.
포트는 따로 작성해주지 않아도 됩니다.

이제 같은 네트워크에 있는 pc들은 모두 해당 smb를 통해 파일을 백업, 공유할 수 있습니다.
이제 집 데스크탑 내의 있는 데이터들을 해당 서버에 저장하고, 외부에서 mac으로 확인이 가능해졌습니다.

물론 클라우드를 쓰면 매우 손쉽게 해결 가능하지만, 클라우드 비용이 아까워서 이런 환경을 만들게 됐습니다.
무엇보다 용량 확대 비용이 훨씬 저렴하고, 종속성이 없다는게 큰 장점인 것 같습니다.