글쓴이 : 안경훈(TCP21 / linux@tcp21.co.kr) / 임효남(dla27@pivlab.kmaritime.ac.kr)
|
||||||||||||
▶ Samba를 왜 사용할까? 우리가 리눅스를 사용하다가 다른 운영체제에
있는 파일을 불러 와야 할 경우가 있습니다. 아니면 다른 운영체제에
있는 폰트 파일등과 같이 리눅스에서나 다른 운영체제에서나 공통적으로
사용할 수 있는 파일들은 리눅스든 다른 운영체제든 한 곳에만 두고
싶어 질 것입니다. 같은 파일이 한 시스템 내에서 두 개 존재한다면
그것은 하드디스크 공간의 낭비일 것입니다. 이번달에 연재하는 samba 기사는 일반적으로
가장 많은 사용자를 가지고 있는 운영체제인 Windows 95/98/NT등과
리눅스를 연결하는 방법을 실전위주로 설명해 보겠습니다.
▶ 삼바(Samba) 최신판 구하기 Samba 의 최신 버전을 구하는 방법은 http://www.samba.org라는 홈페이지에서 다운로드 받는 방법입니다. 이 글을 쓰고있는 시점에서 가장 최신판은 RedHat 리눅스 6.0 버전용으로는 samba-2_0_5a-19990721_i386.rpm 라는 버전이고, RedHat 리눅스 5.2 사용자용으로는 2.0.4b입니다. 이 파일들은 소스파일 형태로도 배포가 되고, 이미 컴파일된 형태(필자 주:바이너리 패키지라고 부름)로도 배포가 됩니다. 필자가 몸담고 있는 회사의 홈페이지 http://www.tcp21.co.kr 의 리눅스 영역의 자료실에서도 다운로드 받을수가 있습니다. 또 한가지 방법은 각 PC통신사의 리눅스 동호회의 자료실 같은 곳에서도 다운로드 받을수가 있습니다.
▶ 시스템의 주위환경과 리눅스 배포본 필자가 본 강좌를 진행하면서 사용한 IP 어드레스와 서버의 이름 등은 가상의 네트워크 환경이라고 생각하면 됩니다. 〈표 1〉과 같은 가상의 네트워크가 구성되어있다고 생각하고 Samba의 설치를 진행해 나가도록 하겠습니다. 독자 여러분들은 자신의 네트워크에 맞도록 IP 어드레스를 조정해서 생각해 봐야 합니다.
〈표 1〉 가상의 네트워크 정보
▶ samba 바이너리 설치하기 ① samba 바이너리 복사하기 ② samba 패키지 점검 및 2.0.5a 버전 설치하기 samba 패키지가 설치되어있는지를 점검하는 화면 (그림 1) 이전버전의 samba 점검화면 그림에서 보는바와 같이 필자의 리눅스 시스템에는 samba-1.9.18p10-5kr 이라는 패키지가 설치되어 있음을 알 수 있습니다. 이것은 나중에 설명할 SWAT 라는 웹브라우저를 이용한 Samba 관리 프로그램으로 관리하는 부분에서 부족한 점이 많은 버전입니다. 따라서 제거하고 다시 설치하도록 권장합니다. 제거는 rpm -e samba-1.9.18p10-5kr 라는 명령으로 합니다. ③ samba 패키지 설치 (그림 2) 새로운 samba 패키지 설치 ④ 설치된 패키지 확인 (그림 3) 설치된 패키지 확인
▶ samba 설정을 웹브라우저에서 하자. samba 패키지가 설치되었다면 우리는 SWAT라는 관리툴이 설치되었다고 생각해도 됩니다. SWAT는 Samba Web Administration Tool 의 약어로 /etc/smb.conf 라는 파일을 웹브라우저에서 수정하고 실행등을 할 수 있는 매우 유용한 툴입니다. SWAT를 사용해서 현재 리눅스서버에서 활동하고 있는 사람들을 감시할 수 있으며, samb를 시작(smbd) 하고 정지(nmbd), 재시동 시킬 수 있는 역할을 합니다. 만약 리눅스 사용자가 웹서버를 가동시키지 않아도 문제는 없습니다. 따로 SWAT를 위한 포트를 가동하면 되기 때문입니다. 보통은 901번 포트를 사용하게 됩니다.
▷ SWAT 설치방법
samba 패키지를 설치하면 SWAT패키지는 설치되었다고 할수 있지만, SWAT를 위해서 사전에 다음과 같은 몇 가지 사항들에 대해서 조치를 취해 놓아야 제대로 웹브라우저 상에서 작동시킬 수 있습니다. ① /etc/services 파일 중에 아래와 같은 내용이 없다면 한줄을 써 놓습니다. 이것은, SWAT를 웹서버 가동 여부에 상관없이 접근할 수 있도록 리눅스에서 901포트를 열어놓는 것입니다. /etc/services 파일에는 samba 뿐만 아니라. 다른 서비스- telnet, ftp, http-를 위한 포트도 설정되어 있습니다. 만약 901번 포트를 다른 서비스 프로그램에서 사용하고 있다면, 1024번 이후의 충돌되지 않는 번호로 변경해 줍니다. (그림 4) SWAT 포트 설정 ② /etc/inetd.conf 파일수정 (그림 5) /etc/inetd.conf 파일의 수정 ③ PAM(Pluggable Authentication Module) 인증모듈의
사용 (그림 6) PAM 인증 모듈 디렉토리 아무튼 우리는 samba를 위한 설정을 해야 하므로 /etc/pam.d/samba 파일을 열어 봅니다. 만약 이 파일이 없다면 root로 로그인할 수 없어서 SWAT로 samba 설정을 하는 것은 불가능하게 됩니다. 따라서 없다면 아래와 같이 만들어 줍니다. 처음 /etc/pam.d/samba 파일을 열게되면 아래와 같은 설정만이 되어 있을 것입니다. auth required
/lib/security/pam_pwdb.so shadow 여기서 일반사용자와 root를 위한 설정으로 그림 7 에서의 설정과 같이 해 줍니다. 참고로 말하자면 이 파일은 리눅스의 패스워드 시스템인 shadow 패스워드를 설정해 놓았을 경우에 해당됩니다. 만약 shadow 패스워드를 사용하지 않는 시스템일 경우에는 그림 8 과 같이 설정하면 됩니다. (그림 7) Shodow 패스워드 사용 (그림 8) Shadow 패스워드 미사용 ④ 웹브라우져를 구동시킨 후 리눅스의 SWAT로
접속하기. (그림 9) 네트워크 암호입력 (그림 10) samba 설정 초기화면 여기서 주의할 점은 /etc/samba.conf 파일을 다른 곳에 복사해 놓으라는 것입니다. 웹브라우저에서 SWAT로 바꾸게 되는 설정사항들은 /etc/samba.conf 라는 파일에 영향을 주게 됩니다. 따라서, 혹시도 모를 사고(?)를 대비해서 /etc/samba.conf 파일을 다른곳에 하나 복사해 놓습니다.
▷ SWAT를 사용한 samba 설정 이제는 웹브라우져에 띄워진 samba 설정을 위한 페이지에서 여러 가지를 만져보겠습니다. 많은 경우 디폴트로 설정된 사항들을 거의 그대로 두고 작동시키기도 하지만, 수정을 할경우에는 자신이 무엇을 수정했는지는 알고 있어야 합니다. 무턱대고 아무것이나 변경한다면 이전에 복사해 놓은 smb.conf 파일을 도로 /etc 디렉토리에 복사해 넣고 다시 시작해야하는 일이 생깁니다. 그림 10 에서 본 것처럼, SWAT관리 화면은 마치 홈페이지의 한 화면과 같습니다. 크게 두부분으로 나뉘어 있는데 첫 번째는 7개의 아이콘형태의 버튼이 달려있는 부분이고, 두 번째는 samba 설정을 위한 여러 가지 문서들과 mailing list 에 가입하라는 안내문 부분입니다. 우리가, 여기서 관심을 가져야 할 부분은 첫 번째 버튼 부분입니다. 버튼을 누르면 홈페이지에서 처럼 링크된 설정영역으로 이동하게 됩니다. 이제부터는 각 버튼과 해당되는 설정영역을 그림과 함께 설명하겠습니다.
① HOME 버튼
② Globals 버튼 (그림 11) GLOBAL 영역의 초기화면 GLOBALS 항목은 크게 13개의 옵션영역으로 구성됩니다.(Advanced View를 눌렀을 경우) 이제부터는 각 영역에 해당되는 옵션을 살펴보도록 하겠습니다. 각 옵션에 해당되는 설정들을 기본설정과 필자의 경우를 비교해서 써 놓았습니다. 독자 여러분들은 자신의 상황에 맞게 해당되는 설정들로 바꾸시면 됩니다. ☞ Base Options netBIOS name - samba 서버에 알려질 NetBIOS의
이름을 설정하는 곳입니다. 기본설정은 호스트의 DNS명과 동일합니다.
만약 브라우징서버(필자주:서버의 이름을 다른 클라이언트들에게
서비스하는 컴퓨터) 또는 로그온 서버라면 그 이름을 써 줍니다.
netbios aliases - nmbd 는 samba
서버에 알려진 이름들에 의해서 NetBIOS 이름의 리스트 들을
다른곳에 알려주는데, 이때 하나의 클라이언트에서 여러가지
다른 이름으로 나타날 수 있도록 해줍니다. 만약 서버가 브라우징서버나
로그온 서버로 사용된다면 이 이름들은 다른 서버에 알려질때는
달라야 될 것입니다. server String - Windows의 탐색기에서 설명란에
나타날 samba 서버의 이름입니다. interfaces - 이 옵션은 사용자가 Lan 카드를
2개 꽂았을 경우에 multiple 네트워크 인터패이스를 사용할수
있도록 samba 가 조절해주는 옵션입니다. 이 옵션은 ip/netmask
의 쌍으로 이루어 집니다. 사용자가 C 클래스 네트워크에 속해
있다면 /24를 입력해 주면 됩니다. ☞ Security Options encrypt passwords - Windows 98, Windows
NT(서비스팩3) 등에서 레지스트리에 별다른 변경을 하지 않았다면
암호화 해서 신호를 주고 받는데, 이렇게 암호화 해서 신호를
주고 주고 받을것인지 물어 보는 항목입니다. 더자세한 내용은
samba 패키지 내의 ENCRYPTION.txt 라는 문서를 읽어 보시면
됩니다. update encrypted - 이것은 사용자가 samba
서버로 접근했을 경우 암호화된 비밀번호를 자동으로 갱신해
줄것인지를 물어보는 옵션입니다. guest account - samba 서버에 접근하는
사용자가 손님일 경우 손님의 ID를 nobody로 할것인지 guest
로 할것인지를 결정합니다. hosts allow - 리눅스에서 외부의 접속에
대한 정책을 결정하는 파일과 같이 접속을 허용할 컴퓨터의
IP어드레스의 형식으로 써 줍니다. hosts deny - 접속을 거부할 리스트를 적는
곳입니다. ☞ Logging Options log level - debug level 과 유사한 역할을
하는 것으로 리눅스에서 유연하게 변경될 수 있습니다. log file - 사용자들이 접속하고 사용한
흔적들이 여기서 지정해준 파일에 남아 있습니다. 누가 samba
서버에 접속했는지 알 수 있을 것입니다. %m 은 machine name을
나타내는 변수입니다. 특별한 변경이 필요없을 것입니다. max log sze - 이것은 log 파일의 사이즈를
결정하는 것으로 단위는 킬로바이트입니다. log 파일이 무한정
많이 생성된다면, 빈번한 사람들의 접속이 log 파일에 기록되어서
리눅스 서버를 힘들게 할것입니다. 가급적 100 KB 이내로 제한하는
것이 좋습니다. 모두 잡고 싶다면 매우 크게 잡아 놓으면 될것입니다. ☞ Protocol Options ☞ Tuning Options
☞ Browse Options preferred master - nmbd 가 자신의 워크그룹내에서
마스터 브라우저로 작동할 것인지 아니지를 설정하는 옵션입니다.
마스터브라우저로 설정해 놓으면 컴퓨터를 찾느라고 전반적으로
접속이 느려질수 있습니다. local master - 같은 서브넷에 있는 컴퓨터들의
마스터 브라우저로 작동하는 것을 도와줍니다. 그자체가 마스터
브라우저가 된다는 말은 아닙니다. domain master - 위의 2가지 옵션과 비슷한
의미로, 도메인 내부에서 마스터 브라우져의 작동을 nmbd 로
도와 준다는 말입니다. ☞ WINS Options 이제 GLOBALS 아이콘에 대한 설명을 마쳤습니다. [Advanced View]라는 버튼을 누르게 되면 더욱 더 세세한 설정을 할 수가 있습니다. 하지만, 기본설정만으로 samba 서버를 이용하는데, 별 문제는 되지 않습니다. ③ SHARES 버튼 (그림 12) 공유영역 설정 초기화면 그림에서 보는 바와 같이 test라는 방을
위한 4개의 옵션영역이 생기게 됩니다. 각 옵션별로 설명하겠습니다. (그림 13) 공유영역 세부설정 파일 ☞ Base Options Path - 방의 경로입니다. ☞ Security Options read only - 디렉토리를 읽기 전용으로만
둘 것인지를 결정합니다. 만약 NO 라고 써준다면 쓰기도 가능한
상태가 되겠지요. guest ok - 손님 자격을 가진 사람이 들어오는
것을 허용할지 안할지를 선택하는 옵션입니다. hosts allow, hosts deny - 이것은 GLOBALS 버튼에서 알아본것과 같은 의미입니다. ☞ Browse Options ☞ Miscellaneous Options 모든 설정을 마친후에는 [Commit Changes] 라는
버튼을 눌러서 정보를 갱신합니다. 아래 그림과 같은 화면이 Windows
탐색기로 볼 때 나올 것입니다.(탐색기에서 다른 컴퓨터의 이름들도
나오는데 제가 지웠습니다.) (그림 14) 탐색기에서 본 samba 서버
④ PRINTERS 버튼
⑤ STATUS 버튼 (그림 15) samba 서버의 이용상태
⑥ View 버튼
(그림 16) samba 서버의 설정상태
⑦ PASSWORD 버튼 (그림 17) samba 서버 이용자 관리하기 이제는 리눅스에서 할 수 있는 samba의 모든 설정을 마쳤습니다. 마지막으로 [STATUS] 버튼을 눌러서 Restart 버튼을 클릭하면 설정사항들이 즉시 반영됩니다. 본 강좌에 대한 자세한 문의사항은 http://www.tcp21.co.kr |
||||||||||||