Samba Server 를 구축해보자 (우분투, Ubuntu)
Samba Server 란 ?
NFT 와 비교되는데, 구글링에 쳐보면 다음과 같다
nfs는 같은 운영체제에서만 동작하는 반면에
samba(삼바) 서버는 서로 다른 운영체제에서도 동작한다
예를 들면,
공유 파일서버를 리눅스에 삼바서버를 설치하고
윈도우 클라이언트들이 사용할 수 있다.
우선 설치부터 하자
sudo apt update
sudo apt install samba
nano 나 vi를 통해 삼바서버 설정 파일을 연다
sudo nano /etc/samba/smb.conf
공유할 이름을 my_share 라 지정하고
서버의 지정할 공유 폴더를 /share 로 설정한다 ( 아래에서 생성할 것이다)
이외에 옵션이 다양한데 구글링해서 테스트해보시길
[my_share]
path = /share
read only = no
guest ok = yes
공유할 폴더를 생성하고
편하게 777 권한 준다
sudo mkdir /share
sudo chmod 777 /share
삼바 사용자를 생성하면서 패스워드를 지정한다
여기서 smb_user는 생성할 계정명 이다
sudo smbpasswd -a smb_user
재시작 및 확인 서버 항상 실행하게 설정한다
sudo systemctl restart smbd
sudo systemctl status smbd
sudo systemctl enable smbd
[클라이언트] - 리눅스
공유폴더를 자신의 폴더에 마운트하기위해서 의존성 패키지를 설치한다
이 패키지는 smbclient를 또 의존한다 (cli로 다루는 방법이라 다루지 않는다, 폴더 마운트가 더 편하다)
sudo apt install cifs-utils
자기가 원하는 위치에 디렉터리를 만들자
여기선 똑같이 /share 라는 경로에 만들겠다 (같을 필요 없다)
sudo mkdir /share
마운트 하기위해서 다음과 같이 명령어를 사용한다
그럼 패스워드 입력란이 나오고 입력하면 정상적으로 마운트 될것이다
추가로 password=xxxx 이런식으로 붙이면 패스워드를 묻지않을것이다
sudo mount.cifs //서버주소/공유객체이름 /마운트위치 -o username=삼바계정명
// ex
// 서버: 192.186.10.100
// 서버 공유객체이름 : my_share
// 서버 삼바 계정 : smb_user
// 클라이언트 마운트 위치 : /share
sudo mount.cifs //192.168.10.100/share /share -o username=smb_user
✨ 한걸음더
재부팅할때마다 저 명령어를 다시 써야하는데, 시스템에 자동 마운트를 설정하자
fstab 파일은 스왑, 마운트 등 관련된 설정하는 파일이다,
잘못하면 부팅시 에러가 발생하므로, 주의하며 다뤄야한다.
sudo nano /etc/fstab
맨아래줄에 다음과 같이 추가하고 저장한다
// ex
// 서버: 192.186.10.100
// 서버 공유객체이름 : my_share
// 서버 삼바 계정 : smb_user
// 서버 삼바 패스워드 : 1234
// 클라이언트 마운트 위치 : /share
//192.168.10.100/share /share cifs username=smb_user,password=1234 0 0
그리고 설정 파일을 올바르게 작성했는지
다음 명령어를 입력한다 이때 아무것도 안나와야 정상인것이다
sudo mount -a
이제 재부팅할때마다 자동 마운트 되어있다.
[클라이언트] - 윈도우
윈도우야 말로 매우 간단하고, 삼바서버를 nas 처럼 사용한다면
제일 필요할 할 것이다
원하는 드라이브 알파벳 골라주고
폴더 경로에 다음 처럼 입력해주고, 커서에서 엔터 쳐서 삼바 계정으로 로그인하면된다
\\아이피\공유객체이름
그후 체크할 수 있는 편의 기능 체크하면 자동 마운트 될 것이다