삼바 (Samba)
삼바는 SMB(Server Message Block)/CIFS(Common Internet File System) 네트워킹 프로토콜을 구현한 자유 소프트웨어이다. 오스트리아의 Andrew Tridgell가 최초로 개발하였다.
삼바는 컴퓨터간 파일과 프린터 공유를 할수 있게 해주는 프로그램이다. 리눅스와 윈도우 끼리도 가능하다. 이러한 것은 삼바서버가 SMB(Server Message Block) / CIFS(Common Internet File System) 프로토콜을 흉내냄으로써 가능해진다.
- 유닉스 머신에 남아도는 하드디스크를 윈도우 사용자들에게 제공하고 싶을 경우, 삼바를 설치하고 각 개인별로 공간을 제공한다.
- 유닉스 머신에서 윈도우 머신에 물린 프린터로 인쇄를 하고 싶을 경우, smbclient 패키지를 사용한다.
- 윈도우 머신에서 유닉스 머신에 달린 백업 장치에 접근하고 싶을 경우, 삼바를 사용한다.
SMB
SMB(Server Message Block)는 마이크로소프트사와 인텔이 윈도우 시스템이 다른 시스템의 디스크나 프린터와 같은 자원을 공유할 있도록하기 위해 개발되었다. SMB는 OS/2, NT, WIN9x를 사용하는 컴퓨터끼리 파일 공유등의 서비스를 구현하는데 사용되는 프로토콜임. TCP/IP 기반하의 NetBIOS 프로토콜을 이용하기 때문에 이 프로토콜은 NFS (Network File System), NIS, lpd 와 같은 유닉스의 분산인증구조와 유사함. 따라서, 윈도우 중심의 네트워크 환경에서는 필수적이라고 하겠다.
CIFS
CIFS(Common Internet File System) 는 인터넷을 위한 SMB 파일 공유 프로토콜의 확장된 버전임. SMB 프로토콜 위에 DNS(Domain Name Service)를 이용한 확장성, 느린 전화 접속 네트워킹을 위한 최적화, 유니코드를 따르는 파일 이름 지원을 덧붙여, 윈도우와 유닉스 환경을 동시에 지원하는 인터넷의 표준 파일 규약임. 이전의 폐쇄적인 SMB 프로토콜과는 달리 CIFS 규약 정의에 여러 유닉스 업체들이 참여했다. 삼바도 버전이 올라감에 따라(삼바 2.2 계열) CIFS(Common Internet File System) 규약을 준수하고 있다.
설치
삼바는 리눅스 설치시 대부분 자동으로 설치가 된다. 설치가 되어 있지 않다면, 다음의 명령으로 samba 패키지를 설치함.
sudo apt install samba
최신판
sudo add-apt-repository ppa:linux-schools/samba-latest sudo apt update
https://launchpad.net/~linux-schools/+archive/ubuntu/samba-latest 참조
설정
삼버 서버를 구동하기 위해서는 먼저 네트워크 환경에 맞게 설정을 해야 함. 삼바의 설정파일은 /etc/samba/smb.conf
임.
삼바의 설정은 매우 복잡하며 환경에 따라서 다양한 설정 방법등이 존재하므로 처음부터 모든 것을 설정하기 보다는 가장 기본적인 것부터 설정해 나가는 것이 효율적임. 먼저, 아래 가장 쉬운 smb.conf
를 보며 설명하겠다.
먼저, 기본 smb.conf 를 백업한 후 작성 함. 기본 smb.conf 는 나중에 좋은 참고서가 된다.
cd /etc/samba sudo mv smb.conf smb.orig.conf sudo nano smb.conf
이제 수정해본다.
sudo nano /etc/samba/smb.conf
[global] workgroup = VASLORNET server string = %h security = user map to guest = Bad User encrypt passwords = true unix password sync = yes [pds] # 윈도우에서 보이는 공유 자원(폴더) 이름 comment = 창고 # 폴더의 설명 path = /data # 삼바 서버로 공유할 리눅스의 폴더를 지정 public = yes # 손님사용자에게 접근을 허용 writable = yes # 사용자에게 쓰기권한을 준다.
security = share 는 삭제되었다.
재시작
sudo service smbd restart
접속
여기까지 하면 윈도에서 \\서버아이피주소\ 로 접근하면 누구나 pds라는 폴더가 보이고 파일을 읽고/쓰고 할 수 있다
윈도우에서 시작→실행
\\192.168.1.199\
입력 하면
프린터와 사용자 계정 디렉토리가 보임.
사용자에 따라 홈계정에 접속할 경우에는 \\ip\\사용자계정 식으로 접속할 수도 있다. 윈도우에서 부팅시마다 항상 접속하게 하려면 내 컴퓨터에서 오른쪽 마우스 버튼을 눌러 '네트워크 드라이브 연결' 을 사용하면 된다.
혹은 시작메뉴에서 검색을 누른 후 다른 항목 찾기 부분에서 컴퓨터를 선택한 후 검색해서 찾아서 간다. - Sensui
특정 아이피만 허용하려면
/etc/samba/smb.conf 파일의 [global] 내부에 다음과 같이 추가함.
[global] hosts allow = 192.168.0. 5.
(192.168.0.로 시작하는 로컬 네트워크와 5. 로 시작하는 하마치 네트워크 허용.)
특정 유저만 허용하려면
vaild users = chalie, maxon # 특정유저만 접속가능 read only = no
기타
외부 접속 문제 해결
국내 모든 인터넷 회선은 트랙픽 및 해킹문제로 ISP업체들이 139번 포트을 막아놓았다. 1) 그래서 telnet 이나 ftp, SSH(Secure Shell) 등은 되지만 윈도우즈 탐색기을 통한 smb/cifs 연결은 안된다. 해결책으로
- 하마치 vpn 이용 쉽고 강력한 VPN, 하마치를 우분투 서버에서 써보자. 참조.
- VPN이 지원되는 공유기을 사용하면 저럼하게 외부에서 내부망처럼 사용 가능함. iptime 등 참조.
- ssh 를 이용한 방법…http://oskernel.tistory.com/63
- 삼바를 안쓰는 방법;;; 2)