SAMBA 프로토콜은 SMB (Server Message Block) 프로토콜을 구현한 오픈 소스 소프트웨어로, 주로 리눅스 및 유닉스 시스템에서 윈도우 시스템과 파일 및 프린터를 공유하기 위해 사용한다.
즉 SAMBA를 통해 리눅스 서버는 윈도우 클라이언트와 통신할 수 있으며, 파일공유, 프린터 공유, 네트워크 탐색 등 과 같은 활동을 할 수 있다.
특히 리눅스 서버에 다양한 운영체제들이 접근하여 원할한 파일 공유와 같은 작업을 수행할 수 있다고 한다. (윈도우, 맥os 등)
리눅스가 설치된 데스크톱(서버역할)과 윈도우가 설치되어있는 랩 탑(클라이언트 역할)을 가지고, SAMBA 프로토콜을 통해 통신을 실습해보도록 하자.
1.서버측 준비
1-1. SAMBA 를 설치한다.
sudo apt update
sudo apt install samba
1-2. 공유폴더 생성
클라이언트가 접속해서 사용할 공유폴더를 만들어 준다.
앞서 실습했던 FTP 는 데스크탑에 접근해서 모든 폴더들에 접근이 가능했었는데 (물론 본인 계정이였기 때문) SAMBA 는 공유하고 싶은 폴더를 미리 지정해서 공유하는 것 같다.
접속해서 공유할 폴더로 /home/kang/문서/windowSAMBA 경로를 만들어 주었다.
해당 디렉터리에는 증명사진과 빌조이 선생님 사진을 공유하기 위해 놔두었다.
1-3. SAMBA 설정 파일 편집
/etc/samba/smb.conf 설정파일을 수정하여 공유한 디렉토리릴 지정해준다. (편집기는 사용이 익숙한 것으로 한다.)
sudo vi /etc/samba/smb.conf
FTP 설정파일과 같이 주석으로 해당 내용들에 대한 설명들이 쓰였다. FTP 설정 파일처럼 주석이 아닌 내용들을 수정하여 서비스를 동작할 수 있게 되어 있는 것 같다. SAMBA 서버를 이용하기 위해 설정을 추가해준다.
[Shared]
path = /home/username/shared # 공유할 디렉토리 입력
browseable = yes # 공유를 탐색할 수 있게 설정
read only = no
guest ok = yes
force user = username # 이 옵션을 사용하면 모든 파일 작업이 지정한 사용자로 수행됨
저장하고 종료해준다.
1-4 설정파일이 적용되기 위해 SAMBA 를 재시작 하고, 프로토콜 상태를 확인한다.
sudo systemctl restart smbd
sudo systemctl status smbd
상태가 active (running) 이므로 실행 중이다. 이제 클라이언트에서 접속을 시도해보자.
2. 클라이언트 접속
랩 탑에서 Windows PowerShell 을 실행 (관리자 권한으로 실행) 하고 접속 명령어를 입력한다. (데스크탑의 IP 주소와 공유 다렉터리명을 명시한다. )
net use Z: \\192.168.1.100\windowSAMBA
하지만 네트워크 이름을 찾을 수 없다는 오류가 발생했다. 왜 발생했을지 설정파일을 다시 확인해본다.
[Shared] 항목이 서버(네트워크 이름)의 이름이 아닐까 생각되어 서버명을 공유 디렉터리 이름과 같이 만들어주고 다시 시도해본다.
SAMBA 재시작을 해주고 시도한다!
명령이 잘 실행되었다는 문구가 반환되었다. 기쁜 마음에 빌조이 선생님을 확인하기 위해
ls 를 입력하자, 그냥 랩탑의 로컬 파일 목록들이 줄줄이 나왔다.
자세히 보니 명령프롬프트도 변경되지 않았다.
뭐지 연결을 됐는데 어떻게 쓰는거지??
검색을 통해 찾아보니
윈도우 탐색기에 Z: \\ ip 주소 \ 서버 주소 를 입력하면 된다고 한다. 얼른 입력해보자.
설정한 이름과 ubuntu 의 비밀번호를 입력하니, 내가 설정한 공유폴더에 접속이 되었다.
증명사진과 빌조이 선생님을 만나게 되었다.
읽기 전용이 아니라 쓰기 모드도 가능하니 윈도우에서 작업하며 찍은 스크린샷들도 첨부하면, 바로바로 서버로 업로드 되는 것을
확인할 수 있다.
3. 마무리
SAMBA 설정을 통해 다른 운영체제간 공유폴더를 만들어서 손쉽게 파일을 공유할 수 있었다. 특히 설정 폴더에 추가할 서버의 이름을 입력하고, 설정들을 입력해주는 방식이 특별했다. 이런 방식이면 다른 폴더나 프린터에 대해서도 추가하여 공유를 진행하면 될것 같다는 생각이 들었다.
마지막으로 SAMBA 실행을 종료하고 실습을 마무리하자.
sudo systemctl stop smbd
'네트워크 공부 & 실습 > 네트워크 실습' 카테고리의 다른 글
[Network] 라우터 설정으로 모든 기기들을 같은 서브넷으로 설정하기 (0) | 2025.03.03 |
---|---|
[AWS 비용] 9일간 EC2 사용 결과와 비용 (0) | 2025.02.28 |
[FTP 프로토콜] 파일 다운 받기, 업로드 하기 (0) | 2025.02.26 |
[블로그 포스팅 Auto Push] AWS EC2 (0) | 2025.02.20 |
[Git push] Discord 로 알림 받기 (2) | 2025.02.17 |