Samba Server(삼바? 쌈바?)
1. 삼바서버는 당채 무엇이란 말이냐?
파일서버라고도 하는데 서버의 특정공간(/home 아래의 계정홈디렉토리라든지 등등)을 같은 네트워크상에 있는 PC(Windows, Linux Server 등) 혹은 서버들에게 공유할수있도록 해주기위한 서버이다.
리눅스에서는 이런 파일서버역할이라 하면 아무생각없이 삼바를 떠올릴정도로 대중화 된 넘이다.
삼바서버에서는 설치후 프로세스확인할때 smbd, nmbd 두 녀석이 삼바 대몬들이다.
자 삼바서버는 같은 네트워크에서 특정자료를 같이 혹은 특정개인이 쓰기위해서 공유설정을 해놓은 서버라고 생각하고 설치에 들어간다.
설치 및 확인 그리고 간단하게 아무나 볼수있는 설정과 특정계정만이 ID, PASS를 사용해 들어가는 설정을 해보자.
2. 삼바를 우찌 확인하고, 설치하는가?
항상설치 전에 하는 것 삼바가 설치가 되어있는지 아래와 같이 알아본다.
pstree (현재 떠있는 프로세스들 보기)
nmbd
smbd
위의 두 데몬이 떠있으면 삼바서버가 설치가 되어있으면서 지금 서비스 되고있다는 것을 의미한다. 없더라도 데몬을 안띄워서 안보이는 것일수도 있으니 /etc/rc.d/init.d/smb start 로 삼바를 실행해보면 알수가있다.
더 확실한 방법은 rpm -qa | grep samba 로 직접 rpm이 설치되었는지도 쿼리할수있다.
정상적으로 설치된곳에서 이 명령어를 쳐보니 아래와 같이 나옴을 알수있다.
[root@SambaServer ~]# rpm -qa | grep samba
samba-common-3.0.10-1.4E.2
samba-swat-3.0.10-1.4E.2
samba-3.0.10-1.4E.2
samba-client-3.0.10-1.4E.2
필자는 SULinux 1.0 으로 지금 테스트하고 있는데 풀패키지로 설치하였기 때문에 이미 설치가 다 되어있다. 그래서 설치가 안되어있는 Fedora Core 에서 삼바를 패키지로 설치하는 것을 해보도록 한다.
netstat -anp | grep LISTEN (현제 리슨, 즉 대기하고 있는 서비스들 보기)
[root@SambaServer ~]# netstat -anp | grep LISTEN
생략 ... ...
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 1933/smbd
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 1933/smbd
생략 ... ...
위처럼 139와 445 의 삼바서버의 사용포트가 listen하고 있음으로 확인 할수있다.
자 ... 설치는 아주 간단하다. 위에서 4가지의 패키지가 검출된 것처럼 자신의 OS의 맞는 삼바서버 rpm을 다운받아 동시에 rpm으로 설치하면 된다.
위에서 말한데로 Fedora Core 2 에서 하면 아래와 같이 설치, 확인할 수있다.
여기서부터는 필자가 삼바가 설치되지 않은(Fedora Core) 서버에서 작업하는 것이다.
필요한 rpm 4개.
samba-3.0.3-5.i386.rpm -----------> 삼바서버페키지
samba-client-3.0.3-5.i386.rpm -----> 삼바클라이언트 패키지
samba-common-3.0.3-5.i386.rpm ---> 삼바 서버와 클라이언트모두 사용하는 페키지
samba-swat-3.0.3-5.i386.rpm ------> 삼바서버 웹관리 페키지
[root@su202 root]# rpm -qa | grep samba
[root@su202 root]# <--------------------------samba 패키지가 설치되어 있지 않음을 확인
[root@su202 root]# wget http://firewolf.co.kr/download/linux/FC2/samba-3.0.3-5.i386.rpm
[root@su202 root]# wget http://firewolf.co.kr/download/linux/FC2/samba-client-3.0.3-5.i386.rpm
[root@su202 root]# wget http://firewolf.co.kr/download/linux/FC2/samba-common-3.0.3-5.i386.rpm
[root@su202 root]# wget http://firewolf.co.kr/download/linux/FC2/samba-swat-3.0.3-5.i386.rpm
[root@su202 root]#
[root@su202 root]# ll
-rw-r--r-- 1 root root 14954854 7¿u 13
-rw-r--r-- 1 root root 3479150 7¿u 13
-rw-r--r-- 1 root root 4314742 7¿u 13
-rw-r--r-- 1 root root 4427992 7¿u 13
자 위와같이 다운로드를 다 받았으면 아래와 같이 통들어 한번에 설치한다.
[root@su202 root]# rpm -ivh samba*
이렇게 하면 특별히 의존성오류가 나지 않는한 쭉 설치가 된다.
의존성오류란 설치시 필요한 라이브러리나, 이전에 설치되었다가 지웠다거나 워낙 서버들의 환경이 다양하므로 의존성 오류가 날수도 있으니 그럴때는 그 에러메세지를 필자의 메일로 보내주면 처리 방법을 올리도록 할것이다.
자 역시나 아래와 같이 라이브라리가 없다면서 설치가 않된다.
이럴때는 흥분하지말고 필요하다고 하는 libcups.so.2 놈을 설치해주면 된다.
[root@su202 root]# rpm -ivh samba*
°æ°i: samba-3.0.3-5.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2
¿A·u: Failed dependencies:
libcups.so.2 is needed by samba-3.0.3-5
libcups.so.2 is needed by samba-common-3.0.3-5
libcups.so.2 is needed by samba-swat-3.0.3-5
[root@su202 root]# wget http://ftp.superuser.co.kr/pub/fedora/core2/update/cups-libs-1.1.20-11.11.i386.rpm
[root@su202 root]# rpm -Uvh cups-libs-1.1.20-11.11.i386.rpm
°æ°i: cups-libs-1.1.20-11.11.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2
Aغn Aß... ########################################### [100%]
1:cups-libs ########################################### [100%]
이렇게 요구사항을 충족시켜주고 다시 해보자
[root@su202 root]# rpm -ivh samba*
°æ°i: samba-3.0.3-5.i386.rpm: V3 DSA signature: NOKEY, key ID 4f2a6fd2
Aغn Aß... ########################################### [100%]
1:samba-common ########################################### [ 25%]
2:samba ########################################### [ 50%]
3:samba-client ########################################### [ 75%]
4:samba-swat ########################################### [100%]
자 이와같이 설치가 잘 되는것을 확인할수있다.
그럼 위에서 설치가 되었는지 확인하는 방법을 소개하였다.
다시한번 설치가 잘 되었는지 확인해보자.
/etc/rc.d/init.d/smb start 로 실행을 하고
pstree 와 netstat -anp | grep LISTEN 명령어로 확인해본다.
3. 기본적인 삼바서버 셋팅하기
설정이라해봤자 별거 없다. 여타 서비스처럼 [global]설정부분과 개별사용자설정부분 두 개로 구분한다면 할 수있다. 글로벌설정이 중복 되는게 있으면 개별사용자설정이 우선하는 점을 알고 먼저 가장기본적으로 삼바를 사용하기 위해 이거만 딱 해부면 된다는 설정을 먼저 하고 옵션적인 설정은 그 뒤에 보자. 먼저 결과를 봐야 감이 쏴~아 오기 때문이다.
뭘 설정해야 가장 기본적으로 내피씨에서 삼바서버로 바로 접속해서 파일을 쓰고 읽고 할수있을까?
이렇게만 하면 된다.
자 먼저 공간이 있어야 한다.
보통 public 로 많이 쓰므로 적당한 위치에 디렉토리를 만들고 그에 대해 설정파일을 열어 초간단 설정을 하고 바로 PC에서 접속해 봅시다.
cd /home
mkdir samba
cd samba
mkdir public
chmod 777 public
vi /etc/samba/smb.conf <----- 삼바설정파일 입니다.
생략 ... ...
[global]
# 언어셋 서포트 부분 그냥 아래 3줄 적어준다.
unix charset = cp949
dos charset = cp949
display charset = cp949
#윈도우의 workgroup 와 같게 맞추어야 윈도우에서 인식함
workgroup = MYGROUP
#윈도우에서 네트워크환경을 클릭했을이 이 삼바서버의 이름
server string = Samba Server
#요거는 다른 호스트(다른 네트워크 즉 워크그룹이 다를 때) 허용할 호스트를 #지정하는 부분이지만 설정해도 실제 외부에서는 잘 접속이 안된다.
#우리나라 통신사에서 해당포트를 오픈하고 있지 않기 때문이다.
hosts allow = 192.168.0. 192.168.1. 이렇게 한다.(주석가능)
#이것을 꼭 User 라고 되어있는 것을 share로 바꾼다.
#특정공간을 사용자인증을 받게 하고 싶으면 세부설정에서 옵션을 user 로
#해버리면 위에서 세부설정이 우선한다고 했기 때문에 user로 사용자인증으로
#접근할수있다.
security = share
생략 ... ...
젤 아래부분으로 이동하여 .. ^^ ; 다음을 입력한다. (주석은 빼고 ㅋㅋ 굵은 글씨만 적어본다.)
[public]
comment = 누구나접근가능한 디렉토리
path = /home/samba/public <------- 위에서우리가 미리 만들어 두었죠!?
#valid users = testuser1 <--------------- user인증일때 인증사용자정의 여기선필요없음
read only = no <---------------------- 여길 단순히 읽기만 되도록 하겠느냐?
writable = yes <----------------------- 여기에 쓰기를 허용하겠느냐?
security = share <-------------------- 보안보드 설정 share(다오픈), user(윈도우와같은 ID)
public = yes <------------------------ 공동사용 디렉토리로 할 것이냐?
create mask = 0755 <-------------------- 파일이나 디렉토리생성시 퍼미션값
이것으로써 초 간단 삼바서버 만든 후 모두 공유해서 쓸수 있는 public 방을 만든셈이다.
셋팅한것을 적용하기 위해서 삼바 restart를 한다.
/etc/rc.d/init.d/smb restart
'Linux > Linux 일반' 카테고리의 다른 글
BSD (0) | 2007.04.24 |
---|---|
Samba service 설치 (0) | 2007.04.13 |
리눅스 글꼴 설정 (0) | 2007.03.14 |