네이버 이웃 추가 / GitHub Profile / 카카오톡 채널 추가 / 방명록 / 이용 안내

Ubuntu Server로 SMB(Samba) NAS 만들기

수성컴 | 2026. 08. 31.
Ubuntu Server로 SMB(Samba) NAS 만들기

오늘은 Ubuntu Server가 설치된 미니 PC로 SMB(Samba) 서버를 구동하겠습니다.

목차

1. SAMBA 설치
2. 사용자 계정 추가 및 SMB 암호 설정, 그룹 추가 명령어
3. 파일 접근 권한 설정
4. /etc/samba/smb.conf 수정
5. SMB 포트 개방, SMB 재구동
6. Windows PC에서 NAS 접속하기
7. Windows PC에서 네트워크 드라이브 문자 지정
8. SMB 휴지통 만들기
9. 글 마무리
10. 참고 자료

1. SAMBA 설치

SMB-install
1.1. sudo apt update 명령을 실행합니다.
1.2. sudo apt install samba 명령을 실행합니다.
1.3. ‘Continue? [Y/n]’이라는 질문이 뜨면 Y를 입력하고 엔터를 누릅니다.

SMB-status
1.4. Samba는 설치가 완료되면 자동으로 구동됩니다. sudo systemctl status smbd 명령을 실행하여 Samba 상태를 확인할 수 있습니다.

2. 사용자 계정 추가 및 SMB 암호 설정, 그룹 추가 명령어

  • Ubuntu 사용자 계정 추가 명령어: sudo useradd 계정명
  • Ubuntu 사용자 계정 암호 설정: sudo passwd 계정명
  • SMB 암호 설정: sudo smbpasswd -a 계정명
    • Ubuntu 사용자 계정을 만들고 그 계정에 SMB 암호를 설정하시면 됩니다.
  • Ubuntu 사용자 그룹 추가: sudo groupadd 그룹명
  • Ubuntu 사용자 그룹에 계정 추가: sudo usermod -G 그룹명 계정명
  • 그룹 목록 확인: cat /etc/group 명령 실행 → 그룹명:x:번호:그룹에 소속된 계정으로 나열되어 있음.

이중에서 Ubuntu 사용자 계정 추가SMB 암호 설정은 꼭 하셔야 합니다.

useradd
예시는 위와 같습니다.

3. 파일 접근 권한 설정

open-folder
3.1. 우선 /home 경로를 열겠습니다.

mkdir
3.2. cd 명령어를 사용하여 NAS로 쓸 파티션으로 이동합니다.
(저는 cd NAS를 실행하여 /home/NAS로 이동했습니다.)
3.3. mkdir data를 실행하여 data 폴더를 만들겠습니다.(권한 문제가 있어서 VS Code의 폴더 생성 기능으로는 수행이 안 되는 상태이므로 터미널 명령어 사용)

ls
3.4. ls -l 명령을 실행하여 data 폴더의 접근 권한을 확인할 수 있습니다. 현재 root 계정과 root 그룹만 접근 가능하네요.

3.5. sudo chgrp -R 그룹명 data 명령을 실행하여 data 폴더의 접근 그룹을 변경합니다.
(-R은 그 폴더 안의 파일들까지 재귀적으로 적용한다는 뜻입니다.)
3.6. sudo chmod g+w data를 실행하여 data 폴더의 그룹 권한에 쓰기(write)를 추가합니다.
참고) user 권한은 root 그대로 둔 이유는 제가 이 서버를 SFTP로도 구동할 예정이기 때문입니다. SMB만 쓸 것이라면 user 권한을 변경해도 상관없습니다.

4. /etc/samba/smb.conf 수정

/etc/samba
4.1. /etc/samba를 엽니다.

chown smb.conf
4.2. VS Code에서 smb.conf 파일을 수정하기 위해 sudo chown 계정명 smb.conf 명령을 실행하여 소유자를 바꿉니다.

smb.conf global
4.3. 이제 smb.conf를 수정합니다. [global] 아래에 있는 내용들은 공통적으로 적용되는 부분이고, [printers] 아래에 있는 내용들은 프린터에 적용되는 부분이고, [다른 이름] 아래에 있는 내용들은 개별적으로 적용되는 부분이라고 보시면 됩니다. 일단 [global] 부분에 아래와 같이 적습니다.

#...

[global]
   dos charset = cp949
   display charset = UTF8
   unix charset = UTF8
   min protocol = SMB2

#...(기존에 있는 것들을 지우지 말 것)

[Line 4~6]
인코딩 관련입니다.

[Line 7]
최소 프로토콜(버전)을 SMB2로 설정합니다. SMB1은 보안이 취약하여 사용하지 않습니다.

smb.conf sscnas-qn10b5
4.4. 이제 개별적인 사항들을 설정하겠습니다. smb.conf 맨 밑에 추가합니다.

[Line 252]
[접속하는 PC에서 보여지는 이름]

[Line 253 path]
path = 공유할 폴더 경로

[Line 254 read only]
read only = yes이면 읽기 전용.
read only = no이면 읽기 전용 아님.

[Line 255 writeable]
writeable = yes이면 쓰기 가능.
writeable = no이면 쓰기 불가.

[Line 256 write list(writeable = yes일 때)]
write list = 쓰기 가능한 사용자 목록(쉼표로 구분)

[Line 257 valid user]
valid user = 접근 가능한 사용자 목록(쉼표로 구분)

[Line 258~259 create mode, directory mode]
create mode = 0777
directory mode = 0777
create mode는 파일을 생성할 때 접근 권한을 무엇으로 설정할지를, directory mode는 폴더를 생성할 때 접근 권한을 무엇으로 설정할지를 정합니다. r=4, w=2, x=1입니다.

5. SMB 포트 개방, SMB 재구동

ufw allow
5.1. sudo ufw allow ‘Samba’ 명령을 실행하면 SMB 포트인 TCP 139, 445번, UDP 137~138번 포트가 개방됩니다.

restart smb
5.2. sudo systemctl restart smbd 명령을 실행합니다.
5.3. sudo systemctl restart nmbd 명령을 실행합니다.

6. Windows PC에서 NAS 접속하기

내 PC
6.1. 파일 탐색기에서 \\서버IP주소로 접속합니다.

Windows 보안
6.2. 사용자 이름과 암호를 입력합니다. 자동 로그인을 하려면 내 자격 증명 기억에 체크합니다.

네트워크
6.3. SMB 폴더를 확인할 수 있습니다.

새 텍스트 문서
6.4. 공유된 폴더에 들어가서 한 쪽에 파일을 생성하면 다른 한 쪽에도 파일이 들어가는 것을 보실 수 있습니다.

전송 속도 109MB/s
전송 속도도 준수하게 나옵니다.

7. Windows PC에서 네트워크 드라이브 문자 지정

NAS 서버에 드라이브 문자를 부여하면 사용하기 편리합니다.

내 PC 옵션
7.1. 파일 탐색기에서 ···네트워크 드라이브 연결을 클릭합니다.

네트워크 드라이브 연결
7.2. 드라이브 문자를 선택(보통 Z:로 함.)하고 폴더 칸에 \\서버IP주소\공유폴더이름을 입력하고 마침을 클릭합니다.

네트워크 드라이브 연결됨
7.3. 네트워크 드라이브가 연결되었습니다.

8. SMB 휴지통 만들기

NAS에 있는 파일을 지우면 ‘완전히 삭제하시겠습니까?’라는 창이 뜹니다. PC의 휴지통으로 들어가지 않고 영구삭제 된다는 뜻입니다. 이에 대한 대안으로 Samba의 휴지통 기능을 이용할 수 있습니다.

/etc/samba/smb.conf를 수정하겠습니다.

smb.conf 휴지통
8.1. 휴지통 사용을 원하는 폴더 설정 부분에 아래 코드를 추가합니다.

vfs objects = recycle
recycle:repository = .recycle_bin
recycle:keeptree = yes
recycle:versions = yes
recycle:exclude = *.tmp,*.temp,*.TMP,*.TEMP, ~$*
recycle:excludedir = .recycle_bin, /tmp, /temp, /TMP, /TEMP

[Line 2 recycle:repository]
recycle:repository = 휴지통으로 사용할 폴더 경로
예) recycle:repository = .recycle_bin라고 쓰면 공유폴더/.recycle_bin이 휴지통이 됨.

[Line 3 recycle:keeptree]
recycle:keeptree = yes이면 삭제된 폴더/파일의 트리(디렉토리) 경로를 유지. 폴더 삭제 시 폴더 내용물도 휴지통으로 이동됨.
recycle:keeptree = no이면 삭제된 폴더/파일의 트리(디렉토리) 경로를 유지하지 않음. 폴더 삭제 시 폴더 내용물 영구삭제됨.

[Line 4 recycle:versions]
recycle:versions = yes이면 같은 이름의 파일이 휴지통에 여러 번 저장될 경우 각각을 유지.

[Line 3 recycle:exclude]
recycle:exclude = 휴지통에 버리지 않을 파일 목록
*.확장명으로 작성하면 해당 확장명을 갖는 파일을 지워도 휴지통에 들어가지 않습니다.
그 외에도 * 기호를 사용하여 특정 문구로 시작하는/마치는 파일명의 파일들을 제외할 수 있습니다.(예: ~$*를 추가하여 MS 365 임시 파일을 제외함.)

[Line 5 recycle:excludedir]
recycle:excludedir = 휴지통으로 사용할 폴더 경로, 그 외 휴지통에 버리지 않을 폴더 목록
참고로 이 목록에 휴지통으로 사용할 폴더 경로를 넣지 않으면 그 NAS는 영구삭제가 불가능해집니다.

8.2. sudo systemctl restart smbd 명령과 sudo systemctl restart nmbd 명령을 실행하여 SMB 서버를 재구동합니다.

9. 글 마무리

SMB는 내부 접속용입니다. 외부 네트워크에서 접속하려면 다른 서버를 사용해야 합니다. 저는 일단 SFTP 서버를 구축했습니다. 다만, 이는 라즈베리파이에서 구현한 방식과 동일한 방식이므로 라즈베리파이 관련 글로 설명을 대신하겠습니다.
라즈베리파이4B로 SFTP 서버(NAS) 열기(4번 문단부터 보세요.)
제 글을 읽어 주셔서 감사합니다. 다음에 만나요!

10. 참고 자료

1) Andrew Tridgell. n. d. “smb.conf”, Samba 누리집. (2025. 01. 04. 방문). https://www.samba.org/samba/docs/4.9/man-html/smb.conf.5.html
2) 위키독스 작성자. n. d. “11-04 samba 휴지통 기능 및 파일숨김”, 위키독스. (2025. 01. 04. 방문). https://wikidocs.net/253914
3) h_json. 2024. “[Linux] 14. 사용자 그룹 조회, 생성, 수정, 삭제”, 앞으로 나아가는 프로 개발자. (2025. 01. 04. 방문). https://apro-developer.tistory.com/82
4) pi_rock. 2015. “Samba share only writable when chown for specific user set”, StackExchange. (2025. 01. 04. 방문). https://askubuntu.com/questions/661907/samba-share-only-writable-when-chown-for-specific-user-set
5) 민덕. 2020. “[Samba] 우분투 Samba 네트워크 공유 폴더 구축”, 민덕이의 개발노트. (2025. 01. 04. 방문). https://minddong.tistory.com/45
6) Vivek Gite. 2021. “How to configure Samba to use SMBv2 and disable SMBv1 on Linux or Unix”, nixCraft. (2025. 01. 04. 방문). https://www.cyberciti.biz/faq/how-to-configure-samba-to-use-smbv2-and-disable-smbv1-on-linux-or-unix/
7) dev_Shawn. 2023. “[Linux] Ubuntu에서 계정 생성 & 삭제 하기”, dev_shawn.log. (2025. 01. 04. 방문). https://velog.io/@shawnhansh/Linux-Ubuntu에서-계정-생성-삭제-하기
8) 인파. 2022. “🐧 리눅스 파일 & 디렉토리 권한 (소유권 / 허가권 / 특수권한), Inpa Dev. (2025. 01. 04. 방문). https://inpa.tistory.com/entry/LINUX-📚-파일-권한-소유권허가권-💯-정리
9) 인파. 2022. “🐧 삼바(SAMBA) 설치 & 설정 방법 [리눅스 ↔ 윈도우]”, Inpa Dev. (2025. 01. 04. 방문). https://inpa.tistory.com/entry/LINUX-📚-삼바SAMBA-설치-설정-※-총정리
10) :: Teacher ::. 2016. “[SMB] Samba(삼바) smb.conf 설정값”, :: IT School ::. (2025. 01. 04. 방문). https://info-lab.tistory.com/2
11) gosu. 2023. “smb.conf”, rimgosu.log. (2025. 01. 04. 방문). https://velog.io/@rimgosu/smbconf
12) Viewing Sunset. 2019. “samba 계정 추가 및 변경 ~~”, Viewing Sunset. (2025. 01. 04. 방문). https://viewingsunset.tistory.com/99
13) Nikhil George 외 3명. 2022. “Samba config - failed to add entry for user - Raspberry Pi”, stackoverflow. (2025. 01. 04. 방문). https://stackoverflow.com/questions/73776123/samba-config-failed-to-add-entry-for-user-raspberry-pi
14) TIM TROTT. 2012. “How To Enable Recycle Bin Like Functionality in Samba”, LONEWOLF ONLINE. (2025. 01. 04. 방문). https://lonewolfonline.net/linux-tips/enabling-recycle-bin-functionality-samba/