linux + samba > 개발자팁

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.

linux + samba 정보

Linux linux + samba

본문

samba<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

21.1 기본 서버 설정

 

21.1 samba 서버 설정

[root @edu00 /home]#useradd test

[root @edu00 /home]#passwd test

[root @edu00 /home]#chmod -R 777 test

[root @edu00 /home]#vi /etc/samba/smb.conf

----------------------------------

workgroup=linuxnara

security=share(or user)

 

[test]

comment=samba test

path=/home/test

; root에 대한 절대경로

public=yes

writable=yes

; read/write access to share

hosts allow=211.170.43. 127.0.0.1 192.168.1.

hosts deny=192.168.1.2

--------------------------------------

[root @edu00 /home]#testparm

or

[root @edu00 /home]#testparm /etc/samba/smb.conf 192.168.1.x

[root @edu00 /home]#testprns

[root @edu00 /home]#nmblookup -B localhost

[root @edu00 /home]#nmblookup -d 2 '*'

: IP 주소와 NetBIOS 이름을 매핑, MS 계열의 운영체제에서 IP 주소를 잘못 설정하여

 IP 충돌이 일어날때 사용


[root @edu00 /home]#/etc/rc.d/init.d/smb start

[root @edu00 /home]#mksmbpasswd.sh < /etc/passwd > /etc/samba/smbpasswd

or

[root @edu00 /home]#smbpasswd 계정명

[root @edu00 /home]#smbclient -L localhost -N

: passwd 불필요

[root @edu00 /home]#smbclient -L localhost      

: passwd 필요

[root @edu00 /home]#cd /home/test

[root @edu00 test]#mkdir aa

 

21.1 2 클라이언트 설정

[root @edu00 home]#smbclient  //211.170.43./test

: root의 암호 or 계정의 암호(test passwd)

Smb\>help

Smb\>mput aa

 

21.2 설정 파일

[root @edu00 linux]#vi /etc/samba/smb.conf

------------------------------------------------------

[ Global 영역 ]

workgroup = linuxnara

: 삼바가 설치된 호스트가 참여할 윈도우의 워크그룹을 지정

 

server string= Samba Server

: 삼바가 설치된 호스트에 대한 설명을 기록

: 윈도우 탐색기에서 "보기->자세히"에 설명이 나타난다.

 

hosts allow = 127. 211.170.43. 192.168.1.

: 보안 관련

: 특정 호스트 지정 : IP, 도메인 명, 호스트명,  wild card 사용 가능 : *, ?

: 공백을 이용하여 분리하고 접속을 허용할 IP 주소 나열

 

 

 

 

: 192.168.1.0/255.255.255.0 (Never Use!! 192.168.1.0/24) .example.com

 

printcap name = /etc/printcap

load printers = yes

 

guest account = nobody

: 윈도우의 guest 사용자를 허가하는 설정

: 주석 처리할 경우 윈도우의 guest 사용자는 삼바를 사용할 수 없게 된다.

: nobody가 아닌 다른 사용자로 설정할 경우 /etc/passwd 파일 내에 존재하는 사용자

: 계정을 추가

 

log file = /var/log/samba/%m.log

: 삼바 서버에 접속하는 호스트 별로 개별적인 로그파일을 기록하도록 설정

: "접근 호스트명.log"와 같은 파일명.

: %m은 삼바 설정에서 사용되는 변수로 호스트명을 의미

 

max log size = 50

: 로그 파일의 크기를 KB 단위로 제한

 

security = share

: share : windows 9x, NT, 2000일 경우

: user  : 유닉스 계정이름/패스워드 방식의 보안 등급을 요구

: Server: 인증을 위해 NT 2000의 도메인 서버가 필요

 

password server = NT-Server-Name

: security=Server로 설정되면 사용자가 삼바에 접속할 경우 인증

: 인증을 해줄 NT 도메인 서버의 이름을 입력

 

password level = 8

username level = 8

: 패스워드 및 사용자 이름을 대소문자 및 숫자 8자로 이루어지게 설정

 

 

 

 

 

encrypt password = yes

: 패스워드를 암호화할 때 사용

: windows 9x, NT, 2000등은 네트워크를 통해 패스워드를 암호화해서 보내기 때문에

: 설정

   

smb passwd file = /etc/samba/smbpasswd

: 기존 서버의 패스워드 파일을 삼바 패스워드 파일로 변경

: [root @edu00 /home]#mksmbpasswd.sh < /etc/passwd > /etc/samba/smbpasswd

: [root @edu00 /home]#cat /etc/passwd | mksmbpasswd.sh >

: >/etc/samba/smbpasswd

: or

: [root @edu00 home]#smbpasswd  계정명

 

; unix password sync = Yes

; passwd program =/usr/bin/passwd %u

; passwd chat = *New*Unix*password* %n\n *ReType*new*UNIX*password*

; %n\n passwd:*all*authentication*tokens*updated*successfully*

; smbpasswd 명령을 매번 실행하지 않고 시스템 계정의 암호를 바꿀 때마다 삼바의

; 패스워드도 자동으로 변경

: encrypt password smb passwd file과 함께 사용해야 한다.

 

username map = /etc/samba/smbusers

: 리눅스 사용자 이름과 SMB 사용자 이름이 달라 둘 사이를 매칭시켜주는 역할을

: 하는 파일

: 기본적으로 윈도우 클라이언트에서 지정한 이름과 리눅스 사용자 이름이 같다면

: 상관없다.

 

; include = /etc/samba/smb.conf.%m

: 삼바의 설정을 접속하는 호스트마다 다르게 설정

 

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

: 성능 향상의 효과

 

 

 

 

: TCP 상에서 데이타를 지체(delay)하지 말고 바로 전송할 것을 지정하고 데이터

: 송수신에 사용할 버퍼의 크기를 8MB로 지정

 

;interfaces = 192.168.12.2/24 192.168.13.2/24

: 삼바를 운영하고 있는 서버가 여러 개의 이더넷 카드를 가지고 있는 경우 해당

: 이더넷을 사용하도록 설정

: 여러 개의 NIC(Network Interface Card)를 가지고 있다면 모두 기록

 

: remote browse sync = 192.168.1..255

: 원격 브라우즈 목록과의 동기화에 대한 설정

: 192.168.1.1-254까지 동기화

 

remote announce = 192.168.1.255

: 삼바 서버가 네트워크 상에서 잘 보이지 않을 때 설정

: 브로드캐스팅에 사용되는 주소를 입력

 

;domain master = yes

: 삼바로 하여금 도메인(인터넷의 도메인이 아님)의 마스타 브라우저가 되도록 설정

 

; wins support = yes

; wins server = w.x.y.z

; wind proxy = yes

: WINS(Windows Internet Naming Services) 지원을 설정

 

dns proxy = no

preserve case = yes

short preserve = yes

: 삼바 서버에서 대소문자를 구분하기 위한 설정

: 한글을 보기 위해  이 구분이 필요하며, 각 디렉토리 공유별로 따로 설정이 가능하다.

 

[ Homes 영역 ]

: 사용자의 홈 디렉토리를 공유하고, 특정한 작업을 위한 공유등을 설정한다.

 

 

 

 

[homes]

comment = Home Directories

browseable = no

; yes = 브라우즈 리스트에 공유가 나타남

 

writable = yes

; 리눅스 시스템의 사용자 계정과 윈도우 로그인 사용자 계정이 일치할 때 접근을 허용

 

path  : 모든 사용자들이 동일한 디렉토리를 공유하도록 지정

: 클라이언트가 삼바 서버에 접속할 때 smb.conf 파일을 읽어서 클라이언트가 사용할

: 홈 디렉토리를 결정

 

guest : guest가 접근할 수 있는 권한을 설정해 두면 삼바 서버에 존재하는 모든

: 사용자의 홈 디렉토리가 패스워드를 입력하지 않아도 윈도우 탐색기에 나타난다.

: guest ok = yes

 

[pds]

comment = 리눅스 서버 자료실

     path = /pub/pds

hosts allow = 192.168.1. 127. 211.170.43.

     valid users = linux admin

     public = no                                          

; 다른 사용자에게 공개되어 있지 않다(guest = no와 동일한 기능)

     writable = yes

     printable = no

     create mask = 0765

 

21.3 [root @edu00 linux]#testparm

: syntax check

 

21.4 [root @edu00 linux]#nmblookup

 

 

 

 

 

21.5 GUI TOOL

 

21.5.1 SWAT(Samba Web Administration Tool)

[root @edu00 home]#vi /etc/xinetd.d/swat

[root @edu00 home]#/etc/init.d/xinetd restart

[root @edu00 home]#/etc/init.d/smb start

[root @edu00 home]#netscape & http://localhost:901

:웹 브라우져에서 http://localhost:901

[root @edu00 home]#w3m http://localhost:901

[root @edu00 home]#lynx http://localhost:901

: 사용자 ID와 암호 -> root root의 암호를 이용하여 접속

  

21.5.2 KSamba

 

21.5.3 b+b samba admin tool(bbstat)

 

21.5.4 smbedit

 

21.5.5 SMB2WWW

 

21.5.6 webmin

 

21.6 클라이언트 이용하기

 

 

 

 

 

 

 

21.6.1 공유 디렉토리 마운트

[root @edu00 /home]#smbmount //smb_server(IP)/shared_directory /mnt/smb_dir

[root @edu00 /home]#smbmount //smb_server(IP)/shared_directory /mnt/smb_dir

>o username=root,password=linuxone

 

21.6.2 smbclient 사용하기

[root @edu00 /home]#smbclient -L samba_server

: 접속하려는 서버에서 제공하고 있는 디렉토리 나열

[root @edu00 /home]#smbclient //samba_server/smb_dir

Smb:\> help

[root @edu00 /home]#pwd

[root @edu00 /home]#get (mget)

[root @edu00 /home]#put (mput)

 

[root @edu00 /home]#smbclient //samba_server/smb_dir -U 계정

 

21.6.3 윈도우의 공유된 디렉토리를 접속

[root @edu00 home]#smbclient //서버이름/공유 -U Administrator

[root @edu00 home]#smbclient //공용식/hp4mv -P -N

: -P   프린터로의 접속

: -N    패스워드를 묻지 말고 접속

 

21.7 smbd and nmbd

 

21.7.1 smbd

파일 시스템과 프린팅 서비스를 클라이언트에 제공해주는 프로그램으로 SMB 프로토콜을 사용한다. SMB 프로토콜은 MS 계열의 운영체제에서 사용하는 LanManager 프로토콜과 호환성을 가지고 있으며, LanManager의 클라이언트로 활용이 가능하다.

* File and printer sharing

* Authorization and authentication of users

 

 

 

 

 

 

21.7.2 nmbd

NetBIOS 이름을 위한 서버로, IP 체계위에서 가동되며, MS 계열의 운영체제에서 "네트워크 환경"에 호스트 이름을 제공한다.

* Browsing (service announcements)

* NetBIOS name resolution

 

21.8 암호화 문제의 해결

security 파라미터의 기본 설정은 user이다.

클라이언트(WinXX)는 사용자명과 함께 패스워드(텍스트 형태)를 입력해야 한다.

그런데, Windows 9X Windows NT/2000 운영체제에서 텍스트로 된 패스워드를 사용하지 않고 암호화된 패스워드를 사용하기 때문에 삼바는 사용자 확인을 할 수 없어서 클라이언트로부터의 요청을 거부할 것이다.

 

21.8.1 텍스트 패스워드 설정

Windows의 암호화 문제로 인한 로긴실패는 Windows 시스템의 Password를 암호화시키지 않으므로 해결할 수 있다.

 

운영체제 레지스트리 편집기상의 경로: EnablePalinTextPassword

Windows98   [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\VxD\VNETSUP] dword:00000001

WindowsNT [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Rdr\Parameters] dword:00000001

Windows2000 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkStation\Parameters] dword:00000001

 

21.8.2 삼바 서버에서 암호화된 패스워드 사용

네트워크에서의 삼바서버로의 로긴시 윈도우즈 암호화 방법을 사용

[root @edu00 linux]#cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd

[root @edu00 linux]#cat /etc/samba/smbpasswd

 

 

 

 

[root @edu00 linux]#smbpasswd wind

[root @edu00 linux]#cat /etc/samba/smbpasswd

[root @edu00 linux]#vi /etc/samba/smb.conf

-----------------------------------

[GLOBAL]

                 .......

                 security                        = user

                 encrypt passwords = yes

                 socket options = TCP_NODELAY

                 dns proxy         = No

-----------------------------------

  

[root @edu00 linux]#testparm

[root @edu00 linux]#/etc/rc.d/init.d/smb restart

 

21.9 Windows 2000 Filesystem Mount

Windows 2000 서버의 C 드라이브를 공유

[root @edu00 home]#mkdir /mnt/ms

[root @edu00 home]#smbmount //wind/work /mnt/ms (username=wind)

: smbmount //서버이름/공유이름 /마운팅포인트

[root @edu00 home] #smbumount /mnt/ms

 

[root @edu00 home]#smbmount //wind/wind /mnt/wind username=wind -g admin

: 마운트한 C 드라이브에 대해서 리눅스 시스템의 특정 사용자와 그룹만 접근

: smbmount //서버이름/디렉토리명 -u UID -g GID

 

21.10 윈도우즈 프린터를 리눅스에서 사용하기

리눅스 시스템에서 smbclient 프로그램을 이용해 프린터에 접속한다.

접속에 성공하면 smbclient 프롬프트에 printmode text를 입력하고, /home/wind/

tt1.txt를 입력하여 테스트한다.

[root @edu00 home]#smbclient //printer/qlaser2 -N -P

: smbclient //삼바서버/프린터이름 -U 윈도우사용자명 -N -P (-W 작업그룹)

 

 

 

 

[root @edu00 home]#lpr -Plp /home/wind/tt1.txt

: lpr -P프린터명 프린트할 파일경로

 

21.11 Samba Power Up Configuration

 

21.11.1 Network상에서 운영되는 Project 공간 할당

부서별 혹은 프로젝트별로 공간을 할당한다.

[root @edu00 linux]#groupadd  -g 50000 PROJECT

[root @edu00 linux]##grep PROJECT /etc/group

[root @edu00 linux]##useradd wind -g PROJECT

[root @edu00 linux]##useradd ghost -g PROJECT

[root @edu00 linux]##useradd nana -g PROJECT

[root @edu00 linux]##useradd open -g PROJECT

[root @edu00 linux]##groups wind

[root @edu00 linux]##mkdir -p /usr/SAMBA/PROJECT

[root @edu00 linux]##chown root.PROJECT /usr/SAMBA/PROJECT

[root @edu00 linux]##chmod 770 /usr/SAMBA/PROJECT

[root @edu00 linux]##vi /etc/samba/smb.conf

----------------------------------

.........

[PROJECT]

     comment          = project Directory

     path                  = /usr/SAMBA/PROJECT

     public               = no

     writable            = yes

     write list           = @PROJECT

     printable           = no

---------------------------------------

 

21.11.2 Host별로 공간 할당하기

직원들이 사용하는 호스트별

추천
0

댓글 1개

전체 5,397
개발자팁 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT