본문 바로가기
IT 학습 공간 ::)

우분투 samba 설정 하기 ( ubuntu-server 16.04 LTS )

by 에스타롯사 2019. 5. 30.

안녕하세요 롯사입니다.

 

windows 기반의 server와 Linux 기반의 server를 운영하다 보면 서버대 서버끼리 빈번하게 파일을

 

공유해야 하는 상황이 많이 발생합니다. 서로의 파일 시스템과 운영체제가 다르기 때문에 디렉터리를 

 

공유할 때 특정 프로토컬을 사용해서 서로의 디렉터리를 공유할 수 있는데요 그때 사용하는 것이 samba입니다.

 

samba라는 프로토콜을 이용해서 하는 방법도 있지만 요즘은 cloud 저장소에 파일을 공유해서 접근 권한을 

 

부여하고 모든 사용자들이 사용하거나 sftp/ftp 같이 파일 전송 프로토콜을 사용하여 프로그램을 이용한 파일 전송도

 

많이 사용하고 있는 방법 중의 하나지만 이것도 저것도 인프라가 여유치 않다면 samba라는 프로토콜을 사용해서 

 

디렉터리 공유를 이용한 파일 전송도 대안이 될 수 있는 방법입니다.

 

그래서 이번 포스팅은 windows 기반의 pc와 ubuntu 기반의 Linux 서버를 samba를 이용해서 공유하는 포스팅을

 

작성해보겠습니다.

 

 

 

 

자 차근차근 가보겠습니다.

 

 

 

 

 

samba package 확인


* sudo dpkg -l | grep samba ( samba 패키지 확인 )

* sudo apt-get update ( 라이브러리/애플리케이션 업데이트 )

* sudo apt-get upgrade ( 라이브러리/애플리케이션 업그레이드 )

 

samba 패키지 설치 여부 확인 후 설치가 않되어있다면 설치 전에 해당 서버의 라이브러리와 애플리케이션

업데이트를 진행해 줍시다. 운영중인 서버라면 업그레이드는 사용하고 있는 라이브러리의 호환성 여부를

확인 후에 업그레이드 진행하시기 바랍니다.

 

 

 

 

samba package 설치


* sudo apt-get install samba ( samba 패키지 설치 )

* sudo apt-get install smbfs ( samba filesystem 설치 )

* sudo apt-get install system-config-samba ( sam GUI-tool 설치 )

 

smbfs 는 samba의 filesystem으로 os 버전마다 설치가 필요한 부분이 있기 때문에 참조만 하시기 바랍니다.

기본적으로 samba 패키지만 설치해도 filesystem 설치까지 적용이 됩니다.

gui-tool 도 gui 환경에서 설정하실 분들도 있기 때문에 같이 설치해줍시다.

 

 

 

 

samba account 생성


* sudo useradd sambatester ( 시스템 사용자 계정 생성 )

* sudo smbpasswd -a sambatester ( sambatester 계정 생성 )

 

samba 접속할때 사용하는 계정을 생성할 때는 시스템 사용자 계정을 먼저 생성해주어야 합니다.

시스템 사용자 계정을 생성하지 않고 바로 smbpasswd -a sambatester 생성을 하게 되면 다음과 같은 log와 함께

계성 fail 이 납니다.

"Failed to find entry for user sambatester"

 

 

 

 

 

samba 설정 파일 편집


* nano /etc/samba/smb.conf ( samba 설정 파일 편집 )

* sudo /etc/init.d/smbd restart ( samba 데몬 재시작 )

 

smb.conf 파일을 nano 도구를 사용하여 편집모드로 들어갑니다.

설정 파일의 ========share Definitions======= 항목 가장 아래에 위와 같이 공유할 디렉터리의 정보와

필요한 설정들을 입력합니다. 

각 설정의 의미는 위 사진에 부연설명이 있으니 참고해주시기 바랍니다.

 

추가적인 옵션이 있다면 다음과 같습니다.

 

read only : 공유할 디렉토리의 읽기 설정할 때 사용

public ok : guest os 와 같은 역할을 하는 옵션으로 yes로 설정하면 samba 계정을 가지고 있는 모든 사용자들이 접근

가능합니다.

host allow : 접속할 ip 대역을 지정하는 설정 ( 설정 않하면 모든 source 허용입니다. )

 

위와 같이 설정을 마쳤다면 sudo /etc/init.d/smbd restart 데몬을 재시작 해 줍시다.

 

 

 

 

 

 

windows에서 Linux 공유디렉토리 접근


리눅스에서 실제 공유한 디렉토리 경로에 파일과 폴더를 확인합시다.

 

win + r 단축키를 눌러서 실행 커맨드 입력창에 리눅스 서버 ip 주소를 입력합니다.

 

리눅스에서 공유 설정한 sambatester 디렉터리의 자격증명 지정하는 항목에서 생성한 samba 계정을

입력해 줍니다.

 

다음과 같이 윈도우 환경에서도 리눅스 디렉터리에 파일을 읽고/쓰고 가능하게 접근이 가능합니다.

 


 

samba 설정은 크게 어려운 부분은 없습니다. 설정 파일 설정만 정확하게 하시고 의미하는 것이 무엇인지만 알면

간단하게 패키지 설치하고 설정해서 share 환경을 만들수 있습니다.

 

이만 포스팅을 마치겠습니다.