Menu

메모용 개발 블로그

전체보기 > OS > Linux >

리눅스에서 파일공유(samba) 서버 구축

2021-11-05 08:28:34

서론

다른 장치간 파일을 공유하는 일은 생각보다 번거롭다. 클라우드를 구독하거나 이동식 저장장치를 사용하여서 공유를 하기도 한다.

이런 경우 남는 PC로 유용하게 사용할 수 있는 것이 파일공유 서버이다. 한번 구축해두면 내부네트워크 간에 손쉽게 파일을 공유할 수 있으니 작업의 효율과 편리함이 증가한다.

환경

해당 설치기는 다음과 같은 환경에서 진행하나 많이 사용되는 프로그램이니 배포판에 따라 패키지 매니저나 방화벽 소프트웨어 외에는 명령어에 큰 차이가 없으리라 생각된다.

  • OS / 배포판 : Linux / 라즈베리파이 OS (데비안 10 기반)
  • 비트 : x64
  • 구동 환경 : VMWare Workstation을 활용한 가상머신

본론

1. samba 설치

무언가를 설치하기 전에 패키지매니저를 업데이트 해주는 편이 좋다.

sudo apt-get update
sudo apt-get install samba -y

수행을 하면 일반적인 터미널 환경에서는 부드럽게 설치가 될 것이고 일부 배포판에서는 다음과같이 나올 수 있다.

image-20211115222555770

그냥 방향키로 조작해서 계속하면 된다.

2. 환경 설정

1. smb 설정

설치를 완료하면 이제 공유할 폴더를 생성하자.

이 글에서는 사용자의 홈 폴더를 통째로 공유할 예정이다.

실 사용할 예정이라면 필요한 영역만 공유하는 것이 좋다.

공유할 경로를 생성하였다면 설정 파일에서 설정을 해주어야 한다.

sudo vi /etc/samba/smb.conf

최하단으로 내려서 내가 아래 내용을 본인에게 맞게 수정하여 작성한다.

[pishare]
comment = PI Share
path = /home/pi
browseable = no
valid users = pi
write list = pi
create mask = 0640
directory mask = 0750

[pishare] : 공유폴더 이름. pishare를 원하는 명으로 작성한다.

path : 공유폴더의 위치

valid users : 허용하는 리눅스 유저

write list : 쓰기를 허용하는 리눅스 유저

2. 계정 추가

sudo smbpasswd -a 계정명

smb 계정은 위 명령어를 입력하여 추가할 수 있으며 이후에 비밀번호를 묻는 절차가 진행된다. 리눅스 계정 생성과 같으니 진행해주면 된다.

3. 방화벽 설정

방화벽을 열어서 해당 컴퓨터로 접근할 수 있도록 하여야 한다.

여기서는 ufw를 이용할 것이고 명령어가 없다면 패키지매니저로 설치하자.

sudo ufw allow samba

3. 윈도우 클라이언트에서 연결

우선 내 PC로 들어간다.

image-20211115225210533

그 후 왼쪽 내 PC를 우클릭

image-20211115225244285

네트워크 드라이브 연결(N)... 클릭

image-20211115225528557

아이피주소와 괄호안에 적은 공유폴더 이름으로 주소를 작성하자.

image-20211115225618889

자격증명이 나타나게 되고 리눅스 계정 id, pw를 입력하면 된다. 안전한 pc의 경우 내 자격증명 기억으로 매번 로그인 없이 자동으로 연결되게 가능하다.

image-20211115230345114

다음과 같이 잘 연결되었다.

끝.