삼바 세팅 및 사용법
2010.05.12 07:40
원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어
Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
본문 : http://www.ischo.net -- 조인상 //시스템 엔지니어
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
삼바(SAMBA) 서버란?
1] 개요
마이크로소프트와 인텔은 윈도우시스템이 다른 시스템의 디스크나 프린터 같은 자원을 공유할 수 있도록 Server Message Block(SMB)이라는 프로토콜을 개발하였는데, 삼바
란 이 SMB를 이용하여 리눅스와 윈도우와의 자료 공유 및 하드웨어를 공유할 수 있도록 해준다. 현재 마이크로소프트에서는 SMB라는 이름보다는 좀 더 범위가 큰
CIFS(Common
Internet File System)라는 프로토콜로 부른다. 이 프로토콜은 SMB 프로토콜에 LanMana
ger와 NetBIOS 프로토콜까지 포함한다.
2] 삼바의 기능
① 리눅스 파티션과 윈도우와의 공유
② 윈도우 파티션과 리눅스와의 공유
③ 리눅스의 프린터와 윈도우와의 공유
④ 윈도우의 프린터와 리눅스와의 공유
3]. 삼바(SAMBA)의 설치
공식 홈페이지
http://www.samba.org
한국 미러 사이트 주소 :http://kr.samba.org/samba/samba.html
ftp 사이트 : ftp://ftp.samba.org
(1) rpm패키지로 설치하기
[삼바 확인]
# rpm -qi samba 또는 rpm -qa |grep samba
[설치하기 ]
ㄱ. 레드햇 리눅스계열을 설치했을 경우에는 CD-ROM드라이브를 마운트한다.
ㄴ. /RedHat/RPMS디렉토리로 이동한다.
ㄷ. rpm -Uvh samba* 명령을 내려 설치한다.
(2) 소스로 설치하기
가) 만약 기존에 삼바가 설치되어 있으면 제거한다.
나) cd /usr/local/src 명령을 내려 이동한다.
다) 삼바의 공식사이트인 http://www.samba.org/에서 소스파일(samba-3.0.11.tar.gz)를 다운받는다.
라) # tar zxvf samba-3.0.11.tar.gz -C /src_tmp/
마) #cd /src_tmp/samba-3.0.11/
바) #cd source
사) #./configure --prefix=/usr/local/samba
아) #make && make install
자) #cp /src_tmp/samba-3.0.11/examples/smb.conf.default /etc/samba/smb.conf
차) #cp /src_tmp/samba-3.0.11/packaging/RedHat/smb.init /usr/sbin/samba
#cp /src_tmp/samba-3.0.11/packaging/RedHat/smb.init /etc/init.d/smb
#chmod 755 /usr/sbin/samba
#chmod 755 /etc/init.d/smb
타) 데몬실행파일 PATH가 설정된 경로로 복사한다. 보통 소스로 설치하면 데몬을 실행하는 파일인smbd와 nmbd가 /usr/local/samba/sbin디렉토리에 있다. 이 경로는 현재
PATH설정이 안 되어있으므로 PATH를 설정하거나 /usr/sbin디렉토리에 복사한다. 또는 심볼릭 링크를 처리해 주면 된다.
예)
# cp smbd nmbd /usr/sbin
또는
#ln -s /usr/local/samba/sbin/smbd /usr/sbin/smbd
#ln -s /usr/local/samba/sbin/nmbd /usr/sbin/nmbd
4] 삼바의 구성
(1) 데몬: 삼바를 이용하기 위해서는 두 개의 데몬이 필요하다.
가) 기본데몬
ㄱ. smbd : SMB데몬 - 파일과 프린터공유, 사용자의 권한부여 및 확인
ㄴ. nmbd : 클라이언트를 위해 NetBIOS nameserver를 지원하고 browsing(서비스통
지)한다.
나) 스크립트 데몬파일 : 실제 데몬을 구동하고 정지시키는 데몬으로 스타트시키면 smbd
와 nmbd 데몬을 띄운다.
예)
/etc/rc.d/init.d/smb start|stop
(2) 환경파일: smb.conf
가) 개요: smb.conf는 삼바의 환경설정파일로 파일안의 구성은 win.ini와 비슷하다. 크게 Global Setting과 Share Denition으로 나누고 다시 각 내용은 [] 기호를 이용하여 섹션
(Section)으로 구분한다.
나) 역할 : 삼바를 제어하는 환경파일이다. 이 파일에서 외부와 공유시킬 시스템 자원과 어떠한 제약을 할 것인지를 지정한다.
다) 위치: 보통 /etc디렉토리에 위치하나 배포판에 따라 /etc/samba디렉토리에 위치할 수도 있다.
라) 파일내부의 유형
ㄱ. #으로 시작하는 행: 이 행은 주석처리되어 무시된다.
ㄴ. ;으로 시작하는 행: 이 행들도 주석행으로 간주되어 무시된다. 보통 이런 행은 설정행
이 작동하지 않도록 하는데 사용된다. ;대신에 #을 사용해도 된다. 이 두
가지 유형의 주석이 사용되는 이유는 #은 유닉스에서 사용하는 주석이고. ;는 윈도우에서 사용하는 주석이라 두 가지 모두 사용한다.
ㄷ. [ ]을 사용하는 행: 섹션을 정의한다. 하나의 섹션이 정의된 후 그 다음 섹션이 정의될 때 까지의 행들은 해당 섹션에 속한다.
ㄹ. name = value 행: 사용하는 옵션과 해당값을 설정하는 행들이다.
라) 기본적인 섹션
ㄱ. [global]: 삼바서버의 전체적인 환경설정을 담당하는 섹션
ㄴ. [homes]: 사용자들이 자신의 홈디렉토리로 접근할 때의 권한을 설정하는 섹션
ㄷ. [printers]: 프린터관련 권한을 설정하는 섹션
(3) 실행파일
가) /usr/bin/smbclient
ㄱ. 설명: 유닉스를 위한 삼바클라이언트 명령어로 윈도우의 서버로 접근하기 위해 사용한다.
ㄴ. 사용법
smbclient [option] [접속하고자할 호스트명]
ㄷ. option
-L: 접속하고자할 호스트명을 입력한다.
-U: 접속할 때의 사용자명을 입력한다.
ㄹ. 사용예
root]# smbclient -L cjhost -U administrator
=> cjhost라는 호스트에 administrator라는 권한으로 접속한다.
root]# smbclient -L cjhost -U administrator%1234
=> cjhost라는 호스트에 administrator라는 권한으로 접속하는데 패스워드는 1234이다.
root]# smbcleint \\\\cjhost\work -U administrator
=> cjhost라는 호스트의 work라는 디렉토리를 administrator권한으로 접속한다.
나) /usr/bin/smbmount
ㄱ. 설명: 공유된 윈도우폴더를 유닉스에서 마운트할 때 사용하는 명령이다.
ㄴ. 사용법
smbmount 윈도우호스트의_공유폴더 마운트할_디렉토리명 [-o option]
ㄷ. option: -o를 기본적으로 적어야 하고 key=value형태로 적는다.
username: 사용자의 권한을 적는다.
ㄹ. 사용예
root]# smbmnt //cjhost/work /mnt/win -o username=administrator
=> cjhost의 work라는 공유폴더를 /mnt/win이라는 디렉토리로 마운트한다. 권한자 administrator이다.
다) /usr/bin/smbprint: 삼바 호스트의 프린터에 프린트를 하기 위한 스크립트
라) /usr/bin/smbprint.sysv: smbprint와 같지만 System V계열 유닉스에서 사용한다.
마) /usr/bin/smbstatus: 현재의 삼바 연결상태를 보여준다.
바) /usr/bin/smbrun: 삼바 호스트의 응용프로그램 실행을 용이하게 하는 스크립트이다.
사) /usr/bin/testparm
ㄱ. 설명: 삼바의 환경설정파일인 smb.conf파일의 설정이 제대로 되었는지 확인하는 명령이다.
ㄴ. 사용법
testparm [환경설정파일경로] [IP주소]
ㄷ. 사용예
a. root]# testparm
=> 현재 서버에서 /etc/samba/smb.conf파일의 설정을 확인한다.
b. root]# testparm /etc/samba/smb.conf 192.168.1.3
=> 192.168.1.3의 IP주소를 갖는 삼바서버의 /etc/samba/smb.conf파일의 설정을 확
인한다.
아) nmblookup
ㄱ. 설명: WINS 서버에 질의할 때 사용하는 명령이다. DNS서버에 질의하는 nslookup
명령과 유사하다.
ㄴ. 사용법
nmblookup option
ㄷ. option
-U: 서버이름을 지정한다. 보통 -R옵션과 같이 사용한다.
-R: 조회할 이름을 지정한다.
ㄹ. 사용예
a. [root@www root]# nmblookup samba.org -R 'IRIX#1B'
=> samba.org 라는 서버에 IRIX#1B라는 이름을 조회한다.
b. [root@www root]# nmblookup \*
=> 브로드캐스트 영역에 있는 모든 이름을 조회한다.
5] smb.conf를 이용한 세팅
1) 전체설정(Global Setting)
(1) workgroup = MYGROUP
=> 윈도우의 작업그룹과 반드시 동일해야 한다.
(2) server string = Samba Server
=> 서버에 대한 설명을 부여해 준다.
(3) hosts allow = 192.168.1. 192.168.2. 127.
=> 삼바 서버에 접속을 허용할 호스트를 지정하는데 사용한다. 접속할 허용할 호스트는 아이피 주소, 호스트명 등을 지정할 수 있으며, 네트워크/넷마스크형태로도 지정할 수
있다. 또한 EXCEPT라는 키워드와 와일드문자도 사용가능하다. 참고로 삼바서버에 접속이 불가능하게 하 려면 hosts deny로 설정한다.
예1)
hosts allow = 192.168.1. 192.168.2. 127.
=> 192.168.1.0 네트워크대역에 속한 모든 호스트들과 로컬시스템(127.0.0.0네트워크)
에서 접속이 가능하다.
hosts allow = 192.168.1. EXCEPT 192.168.1.220 192.168.1.244
=> 192.168.1.220 과 192.168.1.244를 제외한 192.168.1.0 네트워크에 속한 모든 호스
트들이 삼바 서버에 접속할 수 있다.
hosts allow = 192.168.1.0/255.255.255.0
=> 192.168.1.0 네트워크에 속한 모든 호스트들의 접속을 허용한다.
hosts allow = cjchang, cjbangpae
=> cjchang과 cjbangpae라는 호스트들만 삼바 서버 접속을 허용한다.
(4) printcap name = /etc/printcap
=> 서버에 의해 사용되는 printcap name을 겹쳐쓰기 하고자 할 때 그 위치를 지정한다.
(5) load printers = yes
=> 삼바 서버의 printcap에 정의된 모든 프린터 목록이 자동적으로 로딩되게 할 것인가를 지정하는 옵션이다. 네트워크 프린터를 삼바서버에 연결하여 사용하고자 한다면 선
택해야 한다.
(6) printing = lprng
=> 프린터 시스템 종류를 지정하는 옵션으로 비표준 프린터시스템이 아니면 지정할 필요
가 없다.
(7) guest account = pcguest
=> 공유 설정 섹션에서도 사용하는 항목으로, guest ok로 명시되어 있는 서비스에 접근할 유저를 지정해 준다. 보통 클라이언트가 손님서비스(guest service)에 접속할 수 있
게 된다. 이러한 유저는 /etc/passwd파일안에 존재하는 계정이어야 하며, 보통 "nobody"로 설정하면 된다.
(8) log file = /var/log/samba/%m.log
=> 삼바 서버에 접속하는 호스트의 접속 로그에 대한 기록을 저장하는 파일을 지정한다.
(9) max log size = 0
=> 로그 파일의 최대 크기를 KB단위로 제한두려고 할 때 사용되는 옵션이다. 제한을 두었을 경우에 이를 초과하게 되면 .old확장자를 가진 파일로 저장되고 새로운 파일이 생
성된다. 현재처럼 0으로 설정하면 파일의 크기에 제한을 두지 않는다.
(10) security = user
=> 보안관련 옵션으로 클라이언트가 삼바서버에 접속할 때 인증 레벨을 부여하는 옵션이다. 보안모드에는 4가지모드가 있는데 user, share, server, domain등이다.
[4가지 모드]
user : 삼바 서버에 접속하는 클라이언트는 먼저 반드시 윈도우 시작시 사용자명과 패스워드로 로그인을 한 후에 삼바 서버에 접속할 때 같은 사용자명으로 패스워드를 확인한
후에
접속이 이루어진다.
share : 유효한 사용자명과 패스워드로 삼바 서버에 로그인을 하지 않아도 서버에 접속할 수 있게 하므로, 삼바 서버 인증과정을 필요로 하지 않을 때 이 레벨로 지정하면 된다.
공
유 디렉토리 접근에 제한을 두는 경우에 사용할 수 있다.
server : 윈도우 NT와 같은 다른 삼바 서버가 존재해야 하며, 다른 삼바 서버에 사용자명과 패스워드를 전달하여 올바른지를 확인한다.
domain : 윈도우 NT서버가 있어야 가능하며, 삼바서버가 사용자명과 패스워드를 윈도우NT의 도메인 컨트롤러(Domain Controller)에 전달하여 유효한지 확인하는 방법이다.
(11) password server =
=> 보안옵션에서 server나 domain값을 설정했을 경우에 윈도우 NT같은 다른 삼바서버의 NetBIOS이름으로 지정한다.
(12) password level = 8
username level = 8
=> 패스워드 레벨과 유저 레벨을 설정하는 것으로 8개 문자를 사용하도록 설정한다.
(13) encrypt passwords = yes
=> 삼바서버에 클라이언트의 접속이 이뤄지는 과정에서 인증을 위하여 암호화 패스워드 옵션을 사용할 수 있다. 암호화된 패스워드를 지정하는 옵션이다.
(14) smb passwd file = /etc/samba/smbpasswd
=> 이 옵션은 encrypt passwords항목과 같이 사용되는 것으로 암호화된 삼바 사용자의 아이디와 패스워드가 기록되는 파일이다. 이 파일에 패스워드를 추가하는 명령은
smbpasswd이다.
(15) unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password(생
략)
=> 클라이언트 호스트에서 사용자의 패스워드를 변경할 수 있도록 해주는 옵션이다. 단, 이 경우에는 encrypt password, smb passwd file 두 옵션을 반드시 사용해야 한다.
(16) username map = /etc/samba/smbusers
=> 리눅스 사용자 이름과 삼바 사용자 이름이 서로 다를 경우 서로 매핑시키기 위한
사용한다.
(17) include = /etc/local/samba/lib/smb.conf.%m
=> 접속하는 각 클라이언트마다 서로 다른 설정을 사용할 수 있게 해주는 것으로 %m은 접속하는 NetBIOS이름으로 대치된다.
(18) socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
=> 사용자의 로컬 네트워크상에서 삼바서버가 최적의 성능을 발휘할 수 있도록 튜닝할 때 사용한다. IPTOS_LOWDELAY, IPTOS_THROUGHPUT 등의 옵션이 있다.
(19) interfaces = 192.168.12.2/24 192.168.13.2/24
=> 삼바에 연결된 네트워크 인터페이스를 설정하는 것으로, 인터페이스는 IP/netmask조합으로 지정할 수 있다. 즉, 위의 설명은 삼바서버가 서로 네트워크 인터페이스를 사
용할 때 사용하는 것으로 192.168.12.2 호스트와 192.168.2.2 호스트에 연결을 허용한다는 의미이다.
(20) remote browse sync = 192.168.3.25 192.168.5.255
remote announce = 192.168.1.255 192.168.2.44
=> 동기화시킬 원격 브라우저를 설정하는 부분이다.
(21) local master = no
=> 이 옵션은 삼바서버가 nmbd에 의해 서브넷상에서 로컬마스터브라우저가 될 수 있도록 허용하는 것으로 no라고 설정하면 nmbd데몬은 서브넷상에서 로컬 마스터브라우
저가 되지 않는다.
(22) os level = 33
=> 삼바서버가 브라우저 선거에 있어서 자신을 알릴 수 있는 레벨을 설정하는 것으로 이 값에 의해서 nmbd데몬이 로컬브로드캐스트지역에서 WORKGROUP에 대해 로컬마
스터 브라우저가 될 수 있는지 결정된다. 이 값을 0으로 설정하면, nmbd데몬은 윈도우 머신에 대해서 선거권을 상실하므로 로컬마스터 브라우저가 되질 못한다.
(23) domain master = yes
=> 이 옵션은 삼바가 도메인 마스터 브라우저가 되도록 해준다. 이것은 삼바와 서브넷간의 브라우저 리스트를 모집할 수 있게 해준다. 만일 NT도메인 컨트롤러를 가지고 있
다면 이 기능을 사용해서는 안된다.
(24) preferred master = yes
=> 삼바구동시 로컬 마스터 선거를 강요하여 선거에서 이길 수 있게 보다 많은 가능성을 부여해주는 옵션이다. 이 옵션은 domain master = yes옵션과 같이 사용하여 nmbd
데몬에 의해 도메인 마스터가 될 수 있도록 해준다.
(25) domain controller =
=> 이 옵션은 호환성 문제로 현재는 사용하는 않는다.
(26) domain logons = yes
=> 삼바서버가 WORKGROUP에 윈도우98 도메인 로그온 역할을 할 것인지의 여부를 지
정한다.
(27) logon script = %m.bat
logon script = %U.bat
=> 사용자가 성공적으로 로그인을 하였을 때 다운로드하여 작동할 수 있도록 배치파일(*.bat) 또는 NT명령파일(.cmd)을 지시해 주는 옵션이다. 배치파일은 마지막 줄에 cr/if
가 들어있어야 하므로 도스편집기에서 만드는 것을 권장한다. 내용은 사용자가 임의대로 지정할 수 있다.
예) 보통 모든 클라이언트 머신들이 서버와 똑같은 시간에 시간을 맞추도록 할 수 있다.
NET TIME file://SERVER/ /SET /YES
(28) logon path = file://%LProfiles%U/
=> 윈도우98 및 NT에서 user.dat과 같은 로우밍 프로파일(roaming profile)을 어디에 지정할 것인가를 지정해 주는 옵션이다. %L은 서버의 NetBIOS이름으로 대치되고, %U는
사용자 이름으로 대치된다. 이 옵션을 사용할 때 [Profile]공유 항목에서 주석을 풀어 주어야 한다.
(29) wins support = yes
=> 삼바서버에서 nmbd데몬이 wins서버의 역할을 할 수 있는지 여부를 지정한다. 만일 이 옵션을 선택하기 위해서는 반드시 다중 서브넷 네트워크를 가지고 있어야 하며,
wins서버로 될 특정 nmbd데몬이 있어야 한다.
(30) wins server = w.x.y.z
=> wins 서버가 있을 경우 wins server IP값을 지정하는 옵션이다.
(31) wins proxy = yes
=> nmbd에 의해서 wins기능을 갖추지 못한 호스트들을 대신하여 브로드캐스트 이름 질의를 대신 응답해 줄 수 있도록 지정해 주는 옵션이다. 이것을 사용하려면 네트워크상
에 최소 하나 이상의 WINS서버가 있어야 한다.
(32) dns proxy = no
=> nmbd데몬이 wins server역할을 하고, 등록되지 않는 NetBIOS이름을 찾아줄 때 DNS server를 사용하여 NetBIOS이름을 찾아줄 것인지의 여부를 지정하는 옵션이다.
(33) case sensitive = no
=> 대소문자를 보존할 필요가 있을 때 설정하는 부분이다.
2) 공유 정의(Share Definitions) : 삼바 서버에 접속할 수 있는 사용자의 홈디렉토리를 설정해 주는 부분이다.
(1) [homes]
comment = Home Directories
browseable = no
writable = yes
=> 사용자의 홈 디렉토리 서비스 사용을 위한 기본적인 설정을 해주는 항목이다. comment는 간단한 설명문, browseable은 공유이름을 브라우저에 표시할 수 있게 하는 기능,
writable 은 쓰기허용을 설정한다.
(2) [netlogon]
comment = Network Logon Service
path = /home/netlogon
guest ok = yes
writable = no
share modes = no
=> 도메인 로그온을 사용하고자 할 때 사용한다. 일반적으로 사용하지 않는다.
(3) [Profiles]
path = /home/profiles
browseable = no
guest ok = yes
=> 특정한 프로파일을 지정할 때 사용한다. 일반적으로 사용하지 않는다.
(4) [printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
=> 삼바프린터를 네트워크 공유프린터로 사용하고자 할 경우에 설정한다. BSD계열의 프린터 시스템을 사용하면 일일이 프린터를 정의하지 않아도 된다.
(5) [tmp]
comment = Temporary file space
path = /tmp
read only = no
public = yes
=> 여러 사람들이 파일을 공유할 목적으로 유효하게 사용할 수 있다. 현재 기본값인 /tmp 는 임시작업공간 디렉토리이므로 /var/tmp처럼 다른 디렉토리를 만들어서 사용
하도록 한다.
(6) [public]
comment = Public Stuff
path = /home/samba
public = yes
read only = yes
write list = @staff
=> 공개적으로 접근이 가능한 디렉토리이지만 staff그룹에 있는 사용자들을 제외한 사용자 들은 오직 읽기만 사용가능하다.
(7) 사용자정의 섹션
예) [pong]
comment = shared-files in pong directory // 간단한 설명이다.
path = /home/pong/pds // 공유디렉토리의 경로를 지정한다.
read only =no // 공유디렉토리를 읽기만 가능하게 할지를 지정한다.
writable = yes // write ok = yes와 같은 옵션으로 쓰기가 가능하다.
valid user = pong xitem prehee // 서비스디렉토리에 사용가능한 사용자를 말하며,
만약 이 옵션이 생략되면 모든 사용자가 접근할 수 있다.
public = no // guest ok와 같은 옵션으로 no로 설정하면 다른 사용자들은 이용할
수 없고 개인사용자만 사용할 수 있게 된다.
browseable = no // 이용 가능한 공유리스트를 보여줄 것인가를 지정하는 것으로 no로
지정하면 리스트를 보여주지 않는다.
printable = no // 서비스로 지정된 디렉토리에 스풀파일을 지정할 것인가를 지정하
는 것으로, 프린터 공유 디렉토리가 아니므로 대부분 no로
설정한다.
create mask =0765 // create mode와 같은 옵션으로 파일을 생성할 때 사용되는 모드를
나타낸다.
(참고) samba 에서 공유디렉토리를 지정할 때 사용하는 옵션 설명
- read only : 공유 디렉토리를 읽기만 가능하게 할 것인지를 결정
- writable, write ok : 공유 디렉토리를 쓰기 가능하게 할 것인지를 결정
- valid users : 공유 디렉토리에 로그인할 수 있는 사용자를 결정
- public, guest ok : 다른 사용자들이 이용하게 할 지를 결정
- browseable : 공유 디렉토리의 리스트를 보여줄 지를 결정
- printable : 공유 디렉토리에 스풀 파일을 지정할 것인지를 결정
- path : 공유할 디렉토리의 절대경로를 지정
- comment : 간단한 설명을 적음
- create mask, create mode : 파일을 생성할 때의 모드를 결정. umask값형태로 지정.
- write list : 쓰기가 가능한 특정 사용자를 지정
6]. 삼바를 이용하여 공유하기
1) 리눅스 드라이브를 윈도우와 공유하기
(1) /etc/samba/smb.conf파일의 편집
#Global Settings ==========
[global]
workgroup = WORKGROUP // 윈도우의 워크그룹과 동일한 그룹을 지정한다.
server string = FILE SERVER // 리눅스서버에 대한 설명을 적는다.
hosts allow = 192.168.0. 203.247.51. 127. // 접근허용할 네트워크 범위를 지정한다.
security = share
# Share Definitions=========
[public]
comment = samba // 간단한 설명
path = /home/posein/samba // 공유디렉토리 지정
public = yes
writable = yes
printable = no
(참고) public으로 공유하고 writable = yes이면 공유한 해당 디렉토리에 다른 사용자계층의 퍼미션에서 쓰기권한을 부여해야 한다.
(2) 삼바 데몬을 다시 가동한다.
/etc/rc.d/init.d/smb restart
(3) 삼바 서버에서 테스트하기
/root]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
Loaded services file OK.
Press enter to see a dump of your service definitions
(4) /etc/hostname이라는 파일을 생성하여 윈도우에서 확인할 이름을 지정한다.
예) linux
(5) 윈도우에서 확인하기
네트워크환경 => linux 라는 컴퓨터이름이 생성된다. linux를 더블클릭해서 확인해보면 public 이라는 공유폴더가 보인다.
(6) smbstatus로 서버 체크하기
/etc]# smbstatus
Samba version 2.2.0
Service uid gid pid machine
----------------------------------------------
public nobody nobody 14568 posein_note (192.168.0.3) Fri Jul 26 01:18:18 2002
No locked files
2) 리눅스 클라이언트에서 윈도우 공유 폴더 접근하기
(1) 윈도우 PC설정 (윈도우 2000기준)
ㄱ. 전체컴퓨터이름과 작업 그룹명 확인
바탕화면의 [내컴퓨터]를 오른쪽버튼클릭한뒤 [네트워크식별]항목을 보고 확인한다.
예) 전체컴퓨터이름: netmgt
작업그룹: net_운영
ㄴ. 공유할 폴더선택 및 공유설정
ㄷ. 바탕화면의 [네트워크환경]의 등록정보에서 'Microsoft네트워크 파일 및 프린터공유'가 있는지 확인한다.
(2) 리눅스에서 윈도우 접근
가): smbclient명령의 이용
ㄱ. smbclient명령을 이용하여 정보확인하기
etc]# smbclient -L netmgt -U administrator
added interface ip=203.247.40.252 bcast=203.247.40.255 nmask=255.255.255.0
added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Got a positive name query response from 203.247.40.244 ( 203.247.40.244 )
Password:
=> 패스워드를 입력하면 정보를 보여준다.
ㄴ. 접근하여 읽거나 쓰기작업하기
/etc]# smbclient \\\\netmgt\\work -U administrator
added interface ip=203.247.40.252 bcast=203.247.40.255 nmask=255.255.255.0
added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Got a positive name query response from 203.247.40.244 ( 203.247.40.244 )
Password:
=> 패스워드를 입력하면 정보를 보여준다.
ㄴ. 접근하여 읽거나 쓰기작업하기
/etc]# smbclient \\\\netmgt\\work -U administrator
added interface ip=203.247.40.252 bcast=203.247.40.255 nmask=255.255.255.0
added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Got a positive name query response from 203.247.40.244 ( 203.247.40.244 )
Password:
Domain=[net_운영] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
smb: \>
=> 패스워드를 정확히 입력하면 위와 같이 프롬프트가 나타난다. ?를 입력하면 기본적으로 용할 수 있는 명령어의 리스트가 나타난다.
3) 리눅스에서 윈도우접근(2)
smbmount명령의 이용- mount명령어와 같은 형식으로 윈도우 공유 폴더와 그 폴더를 리눅스에서 마운트할 디렉토리가 필요하다.
ㄱ. 마운트한다.
/etc]# smbmount //netmgt/work /mnt/win -o username=administrator
Password:=> 패스워드를 입력하면 해당디렉토리로 마운트된다. /mnt/win이라는 디렉토리는 생성되어 있어야 하면 -o는 사용자이름을 지정하기 위한 옵션이다.
ㄴ. cd /mnt/win으로 이동하여 읽거나 쓰기를 한다.
7]. 삼바 User레벨로 사용하기
1) User레벨관련 주요 파일 분석
(1) /etc/samba/smb.conf
ㄱ. 설명: 삼바의 환경설정파일로 크게 두 개의 섹션으로 구분되어 있다.
ㄴ. Section
a. [global] : 삼바와 관련된 전체적인 환경설정을 하는 부분으로
b. [share definition] : 공유영역으로 여러 섹션이 존재한다. 주요 섹션은 다음과 같다.
- [homes] : home디렉토리와 관련된 설정을 할 수 있다.
- [printers] : 프린터와 관련된 설정을 할 수 있다.
- [tmp] : /tmp 디렉토리와 관련된 설정을 할 수 있다.
ㄷ. magic cookies: 삼바의 smb.conf에서도 아래의 magic cookies를 사용할 수 있다.
%u : 현재 사용중인 유저
%g : 현재 사용중인 유저 그룹
%m : 클라이언트의 NetBIOS이름
%v : 버전
%h : 호스트이름
%p : 서버의 홈디렉토리 경로
%d : 서버의 프로세서ID
%S : 현재 사용되는 서비스 이름
%P : 현재 사용되는 서비스의 루트 디렉토리
%U : 세션의 유저
%G : 셔션의 유저그룹
%H : %u로 주어진 유저의 홈디렉토리
%L : 서버의 NetBIOS이름
%M : 클라이언트 머신 이름
%N : NIS 홈디렉토리 서버의 이름
%I : 클라이언트 머신 IP
%T : 날짜와 시간
(2) /etc/samba/smbusers : 삼바사용자들을 설정하는 파일이다.
(3) /usr/bin/smbadduser : 삼바사용자들의 패스워드를 등록하는 명령이다.
(4) /var/log/samba : 삼바의 로그가 기록되는 파일이다.
(5) /var/spool/samba : 프린터의 스풀디렉토리이다.
2) 삼바서버의 인증레벨
(1) 설명: smb.conf파일의 [global]섹션의 security항목에서 설정한다.
(2) security 레벨의 설정
ㄱ. share : 인증과정을 거치지 않고 접근이 가능하다. smb.conf파일에서 hosts allow항목에 지정된 호스트라면 비밀번호없이 삼바를 사용할 수 있다.
ㄴ. user
a. 설명: 사용자의 인증을 거치는 레벨이다.
b. 윈도우 사용자의 접속법 : 삼바서버에 설정한 계정과 패스워드로 접속한다.
c. smb.conf파일에서의 설정 : [global] 섹션의 encrypt passwords = yes, smb passwd file = /etc/smbpasswd 설정을 추가로 해야 한다.
d. 삼바의 사용계정: /etc/passwd에 있는 계정이어야 한다.
e. 삼바사용자의 지정: smbpasswd 명령을 이용하여 사용자 계정과 비밀번호를 설정한다.
ㄷ. server
a. 설명: 사용자 정보를 담고 있는 윈도우서버와 같이 다른 운영체제가 삼바서버에 대한 사용자와 패스워드를 인증을 전달하는 방법이다.
b. smb.conf파일에서의 설정: password server 지시자에 인증할 서버의 IP를 적는다.
ㄹ. domain : 삼바서버가 윈도우 서버의 도메인 컨트롤러에 사용자명과 패스워드를 전달하여 인증하는 방법으로 server레벨과 비슷하다.
3) 삼바관련 명령어
(1) smbpasswd
ㄱ. 설명: 삼바서버의 사용자 계정을 만들거나 패스워드를 설정하는 명령이다.
ㄴ. 사용법
smbpasswd option user_id
ㄷ. option
-a : 사용자계정을 추가시에 사용한다.
-x : 사용자계정을 삭제한다.
(2) smbadduser
ㄱ. 설명: 삼바서버의 사용자계정을 만드는 명령이다.
ㄴ. 사용법
smbadduser 계정명:계정명
=> 콜론(:)을 기준으로 앞의 계정명은 Unix에서 사용할 이름이고 뒤의 계정명은 윈
도우에서 사용하는 계정명이다.
ㄷ. 사용예
smbadduser posein:posein
=> posein이라는 사용자를 추가한다.
4) user레벨로 삼바서버 사용하기
1) 리눅스서버에서 설정하기
ㄱ. smb.conf파일 설정
security = user // user레벨로 변경
encrypt passwords = yes // 활성화시킨다.
smb passwd file = /etc/samba/smbpasswd // 활성화시킨다.
ㄴ. 사용자추가하기
[root@www samba]# smbpasswd -a pong // pong이라는 계정을 추가하였
다. 리눅스서버의 계정으로 한다.
New SMB password: // 패스워드를 설정한다. 반드시 리눅스서버의
//패스워드와 같지 않아도 된다.
Retype new SMB password:
unable to open passdb database.
Added user pong.
복합기 실습 예제
[공유 폴더 정보 알아 내기]
# smbclient -L MFP-00H12625
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.1a]
Sharename Type Comment
--------- ---- -------
FILE_SHARE Disk For all users loggin in
print$ Disk
IPC$ IPC IPC Service (SMB Server)
ADMIN$ Disk IPC Service (SMB Server)
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.1a]
Server Comment
--------- -------
Workgroup Master
--------- -------
# smbclient -L MFP-00H12625 -l 192.168.10.201
컴퓨터 이름
Password:
Sharename Type Comment
--------- ---- -------
FILE_SHARE Disk For all users loggin in
print$ Disk
IPC$ IPC IPC Service (SMB Server)
ADMIN$ Disk IPC Service (SMB Server)
Server Comment
--------- -------
Workgroup Master
--------- -------
[공유 폴더 접근하기]
#smbclient //컴퓨터 이름/공유 이름
외부 네트워크에 있는 컴퓨터 일 경우
#smbclient //컴퓨터 이름/공유 이름 -l ip주소
# smbclient //MFP-00H12625/print$
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.1a]
smb: \> exit
#
[공유 폴더를 리눅스 디렉토리 처럼 사용하기]
# smbmount //컴퓨터 이름/공유 이름 마운트할 디렉토리
예)
# smbmount //MFP-00H12625/print$ /mnt
Password:
# cd /mnt
# ls
W32X86 WIN40
#
mount -t smbfs //컴퓨터 이름/공유 이름 마운트할 디렉토리
예)
#mount -t smbfs //MFP-00H12625/print$ /mnt
예)
# mount -t smbfs //MFP-00H12625/print$ /mnt
Password:
# cd /mnt
# ls
W32X86 WIN40
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hdb1 6.8G 3.2G 3.3G 50% /
none 110M 0 110M 0% /dev/shm
/dev/sda1 992M 679M 314M 69% /media/usbdisk
#
참고
삼바실행
#/etc/init.d/smb start[restart]
방화벽 설정
#vi /etc/sysconfig/iptables
#-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137:139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 137:139 -j ACCEPT
방화벽을 수정한 후에는 반드시 /etc/init.d/iptables restart
실습해 보세요
1) 윈도에서 리눅스 삼바 서버에 접속 시 인증단계 없게 설정하시오.
[Global]
security = share로
guest account = pcguest라 설정되어 있는 부분을 반드시 guest account = nobody로 설정
[home] 항목을 다음과 같이 설정합니다.
[homes]
comment = Home
browseable = no
read only= no
guest ok = no
create mode = 0750
삼바 데몬을 실행한다
2) 윈도에서 리눅스 삼바 서버에 접속 시 인증단계 있게 설정하시오
[CDROM] 항목을 설정합니다.
[CDROM]
comment = Samba CDROM
path = /mnt/cdrom
browseable = yes
public = yes
[pcj] 항목을 설정합니다.
comment = pcj's dir
path = /home/pcj
browseable = yes
read only = no
writable = yes
public = no
create mask = 0750
디렉토리가 보이나 pcj 디렉토리에 접근할려면 인증이 일어난다.
사용자 인증은 리눅스 사용자와 윈도우 사용자와 일치하도록 해 주어야 합니다.
윈도우에서 네트워크 로그인을 할 때 사용자가 pcj라고 한다면 리눅스에서 다음과
같이 삼바 사용자를 추가해 줍니다.
]# smbadduser pcj:pcj
Adding: pcj to /etc/smbpasswd
Adding: {pcj = pcj} to /etc/smbusers
----------------------------------------------------------
ENTER password for pcj
New SMB password:
Retype SMB password:
삼바를 다시 실행하고 윈도우에서 삼바에 접속하면 설정전과 마찬가지로 인증 실패가 나올 것입니다. 왜냐하면 인증에 관련된 부분들을 설정해 주지 않았기 때문입니다.
그러면 인증 설정하는 방법은 [global] 항목을 다음과 수정해 주면 됩니다.
[global]
security = user
여러분들은 share로 설정되어 있는데 이를 user로 바꿔 주어야 합니다.
그리고 다음 부분들을 주석해지 하거나 삽입해 줍니다.
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
username map = /etc/smbusers
[pcj] 항목에는 이 디렉토리에 접근가능한 사용자들을 추가해 줍니다.
valid users= pcj
삼바 서버를 다시 실행한 후에 접속해 보기 바랍니다. 패스워드를 입력하면 pcj 디렉토리에 있는 내용들을 볼 수 있을 것입니다.
여기까지 완료된 분들은 삼바가 정상적으로 작동하는 것입니다.
참고하세요
[global]
workgroup = Linuxpcj
hosts allow = 192.168.10. 127.
load printers = yes
printing = bsd
guest account = nobody
log file = /var/log/samba/log.%m
max log size = 50
security = user
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
username map = /etc/smbusers
include = /etc/smb.conf.%m
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
; interfaces = 192.168.12.2/24 192.168.13.2/24
; remote announce = 192.168.1.255 192.168.2.44
; preserve case = no
; short preserve case = no
; default case = lower
; case sensitive = no
[homes]
comment = Home Directories
browseable = no
read only= no
guest ok = no
create mode = 0750
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
guest ok = no
writable = no
printable = yes
[CDROM]
comment = Samba CDROM
path = /mnt/cdrom
browseable = yes
public = yes
[pcj]
comment = pcj's dir
path = /home/pcj
browseable = yes
read only = no
writable = yes
public = no
create mask = 0750
valid users= pcj
출처 : http://blog.naver.com/jinslove81?Redirect=Log&logNo=60025948259
==========================
삼바에서 한글지원 코드
아래 코드를 /etc/samba/smb.conf에 삽입하고 데몬을 다시 띄우면 한글 사용할 수 있음
dos charset=cp949
unix charset=euckr
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
삼바(SAMBA) 서버란?
1] 개요
마이크로소프트와 인텔은 윈도우시스템이 다른 시스템의 디스크나 프린터 같은 자원을 공유할 수 있도록 Server Message Block(SMB)이라는 프로토콜을 개발하였는데, 삼바
란 이 SMB를 이용하여 리눅스와 윈도우와의 자료 공유 및 하드웨어를 공유할 수 있도록 해준다. 현재 마이크로소프트에서는 SMB라는 이름보다는 좀 더 범위가 큰
CIFS(Common
Internet File System)라는 프로토콜로 부른다. 이 프로토콜은 SMB 프로토콜에 LanMana
ger와 NetBIOS 프로토콜까지 포함한다.
2] 삼바의 기능
① 리눅스 파티션과 윈도우와의 공유
② 윈도우 파티션과 리눅스와의 공유
③ 리눅스의 프린터와 윈도우와의 공유
④ 윈도우의 프린터와 리눅스와의 공유
3]. 삼바(SAMBA)의 설치
공식 홈페이지
http://www.samba.org
한국 미러 사이트 주소 :http://kr.samba.org/samba/samba.html
ftp 사이트 : ftp://ftp.samba.org
(1) rpm패키지로 설치하기
[삼바 확인]
# rpm -qi samba 또는 rpm -qa |grep samba
[설치하기 ]
ㄱ. 레드햇 리눅스계열을 설치했을 경우에는 CD-ROM드라이브를 마운트한다.
ㄴ. /RedHat/RPMS디렉토리로 이동한다.
ㄷ. rpm -Uvh samba* 명령을 내려 설치한다.
(2) 소스로 설치하기
가) 만약 기존에 삼바가 설치되어 있으면 제거한다.
나) cd /usr/local/src 명령을 내려 이동한다.
다) 삼바의 공식사이트인 http://www.samba.org/에서 소스파일(samba-3.0.11.tar.gz)를 다운받는다.
라) # tar zxvf samba-3.0.11.tar.gz -C /src_tmp/
마) #cd /src_tmp/samba-3.0.11/
바) #cd source
사) #./configure --prefix=/usr/local/samba
아) #make && make install
자) #cp /src_tmp/samba-3.0.11/examples/smb.conf.default /etc/samba/smb.conf
차) #cp /src_tmp/samba-3.0.11/packaging/RedHat/smb.init /usr/sbin/samba
#cp /src_tmp/samba-3.0.11/packaging/RedHat/smb.init /etc/init.d/smb
#chmod 755 /usr/sbin/samba
#chmod 755 /etc/init.d/smb
타) 데몬실행파일 PATH가 설정된 경로로 복사한다. 보통 소스로 설치하면 데몬을 실행하는 파일인smbd와 nmbd가 /usr/local/samba/sbin디렉토리에 있다. 이 경로는 현재
PATH설정이 안 되어있으므로 PATH를 설정하거나 /usr/sbin디렉토리에 복사한다. 또는 심볼릭 링크를 처리해 주면 된다.
예)
# cp smbd nmbd /usr/sbin
또는
#ln -s /usr/local/samba/sbin/smbd /usr/sbin/smbd
#ln -s /usr/local/samba/sbin/nmbd /usr/sbin/nmbd
4] 삼바의 구성
(1) 데몬: 삼바를 이용하기 위해서는 두 개의 데몬이 필요하다.
가) 기본데몬
ㄱ. smbd : SMB데몬 - 파일과 프린터공유, 사용자의 권한부여 및 확인
ㄴ. nmbd : 클라이언트를 위해 NetBIOS nameserver를 지원하고 browsing(서비스통
지)한다.
나) 스크립트 데몬파일 : 실제 데몬을 구동하고 정지시키는 데몬으로 스타트시키면 smbd
와 nmbd 데몬을 띄운다.
예)
/etc/rc.d/init.d/smb start|stop
(2) 환경파일: smb.conf
가) 개요: smb.conf는 삼바의 환경설정파일로 파일안의 구성은 win.ini와 비슷하다. 크게 Global Setting과 Share Denition으로 나누고 다시 각 내용은 [] 기호를 이용하여 섹션
(Section)으로 구분한다.
나) 역할 : 삼바를 제어하는 환경파일이다. 이 파일에서 외부와 공유시킬 시스템 자원과 어떠한 제약을 할 것인지를 지정한다.
다) 위치: 보통 /etc디렉토리에 위치하나 배포판에 따라 /etc/samba디렉토리에 위치할 수도 있다.
라) 파일내부의 유형
ㄱ. #으로 시작하는 행: 이 행은 주석처리되어 무시된다.
ㄴ. ;으로 시작하는 행: 이 행들도 주석행으로 간주되어 무시된다. 보통 이런 행은 설정행
이 작동하지 않도록 하는데 사용된다. ;대신에 #을 사용해도 된다. 이 두
가지 유형의 주석이 사용되는 이유는 #은 유닉스에서 사용하는 주석이고. ;는 윈도우에서 사용하는 주석이라 두 가지 모두 사용한다.
ㄷ. [ ]을 사용하는 행: 섹션을 정의한다. 하나의 섹션이 정의된 후 그 다음 섹션이 정의될 때 까지의 행들은 해당 섹션에 속한다.
ㄹ. name = value 행: 사용하는 옵션과 해당값을 설정하는 행들이다.
라) 기본적인 섹션
ㄱ. [global]: 삼바서버의 전체적인 환경설정을 담당하는 섹션
ㄴ. [homes]: 사용자들이 자신의 홈디렉토리로 접근할 때의 권한을 설정하는 섹션
ㄷ. [printers]: 프린터관련 권한을 설정하는 섹션
(3) 실행파일
가) /usr/bin/smbclient
ㄱ. 설명: 유닉스를 위한 삼바클라이언트 명령어로 윈도우의 서버로 접근하기 위해 사용한다.
ㄴ. 사용법
smbclient [option] [접속하고자할 호스트명]
ㄷ. option
-L: 접속하고자할 호스트명을 입력한다.
-U: 접속할 때의 사용자명을 입력한다.
ㄹ. 사용예
root]# smbclient -L cjhost -U administrator
=> cjhost라는 호스트에 administrator라는 권한으로 접속한다.
root]# smbclient -L cjhost -U administrator%1234
=> cjhost라는 호스트에 administrator라는 권한으로 접속하는데 패스워드는 1234이다.
root]# smbcleint \\\\cjhost\work -U administrator
=> cjhost라는 호스트의 work라는 디렉토리를 administrator권한으로 접속한다.
나) /usr/bin/smbmount
ㄱ. 설명: 공유된 윈도우폴더를 유닉스에서 마운트할 때 사용하는 명령이다.
ㄴ. 사용법
smbmount 윈도우호스트의_공유폴더 마운트할_디렉토리명 [-o option]
ㄷ. option: -o를 기본적으로 적어야 하고 key=value형태로 적는다.
username: 사용자의 권한을 적는다.
ㄹ. 사용예
root]# smbmnt //cjhost/work /mnt/win -o username=administrator
=> cjhost의 work라는 공유폴더를 /mnt/win이라는 디렉토리로 마운트한다. 권한자 administrator이다.
다) /usr/bin/smbprint: 삼바 호스트의 프린터에 프린트를 하기 위한 스크립트
라) /usr/bin/smbprint.sysv: smbprint와 같지만 System V계열 유닉스에서 사용한다.
마) /usr/bin/smbstatus: 현재의 삼바 연결상태를 보여준다.
바) /usr/bin/smbrun: 삼바 호스트의 응용프로그램 실행을 용이하게 하는 스크립트이다.
사) /usr/bin/testparm
ㄱ. 설명: 삼바의 환경설정파일인 smb.conf파일의 설정이 제대로 되었는지 확인하는 명령이다.
ㄴ. 사용법
testparm [환경설정파일경로] [IP주소]
ㄷ. 사용예
a. root]# testparm
=> 현재 서버에서 /etc/samba/smb.conf파일의 설정을 확인한다.
b. root]# testparm /etc/samba/smb.conf 192.168.1.3
=> 192.168.1.3의 IP주소를 갖는 삼바서버의 /etc/samba/smb.conf파일의 설정을 확
인한다.
아) nmblookup
ㄱ. 설명: WINS 서버에 질의할 때 사용하는 명령이다. DNS서버에 질의하는 nslookup
명령과 유사하다.
ㄴ. 사용법
nmblookup option
ㄷ. option
-U: 서버이름을 지정한다. 보통 -R옵션과 같이 사용한다.
-R: 조회할 이름을 지정한다.
ㄹ. 사용예
a. [root@www root]# nmblookup samba.org -R 'IRIX#1B'
=> samba.org 라는 서버에 IRIX#1B라는 이름을 조회한다.
b. [root@www root]# nmblookup \*
=> 브로드캐스트 영역에 있는 모든 이름을 조회한다.
5] smb.conf를 이용한 세팅
1) 전체설정(Global Setting)
(1) workgroup = MYGROUP
=> 윈도우의 작업그룹과 반드시 동일해야 한다.
(2) server string = Samba Server
=> 서버에 대한 설명을 부여해 준다.
(3) hosts allow = 192.168.1. 192.168.2. 127.
=> 삼바 서버에 접속을 허용할 호스트를 지정하는데 사용한다. 접속할 허용할 호스트는 아이피 주소, 호스트명 등을 지정할 수 있으며, 네트워크/넷마스크형태로도 지정할 수
있다. 또한 EXCEPT라는 키워드와 와일드문자도 사용가능하다. 참고로 삼바서버에 접속이 불가능하게 하 려면 hosts deny로 설정한다.
예1)
hosts allow = 192.168.1. 192.168.2. 127.
=> 192.168.1.0 네트워크대역에 속한 모든 호스트들과 로컬시스템(127.0.0.0네트워크)
에서 접속이 가능하다.
hosts allow = 192.168.1. EXCEPT 192.168.1.220 192.168.1.244
=> 192.168.1.220 과 192.168.1.244를 제외한 192.168.1.0 네트워크에 속한 모든 호스
트들이 삼바 서버에 접속할 수 있다.
hosts allow = 192.168.1.0/255.255.255.0
=> 192.168.1.0 네트워크에 속한 모든 호스트들의 접속을 허용한다.
hosts allow = cjchang, cjbangpae
=> cjchang과 cjbangpae라는 호스트들만 삼바 서버 접속을 허용한다.
(4) printcap name = /etc/printcap
=> 서버에 의해 사용되는 printcap name을 겹쳐쓰기 하고자 할 때 그 위치를 지정한다.
(5) load printers = yes
=> 삼바 서버의 printcap에 정의된 모든 프린터 목록이 자동적으로 로딩되게 할 것인가를 지정하는 옵션이다. 네트워크 프린터를 삼바서버에 연결하여 사용하고자 한다면 선
택해야 한다.
(6) printing = lprng
=> 프린터 시스템 종류를 지정하는 옵션으로 비표준 프린터시스템이 아니면 지정할 필요
가 없다.
(7) guest account = pcguest
=> 공유 설정 섹션에서도 사용하는 항목으로, guest ok로 명시되어 있는 서비스에 접근할 유저를 지정해 준다. 보통 클라이언트가 손님서비스(guest service)에 접속할 수 있
게 된다. 이러한 유저는 /etc/passwd파일안에 존재하는 계정이어야 하며, 보통 "nobody"로 설정하면 된다.
(8) log file = /var/log/samba/%m.log
=> 삼바 서버에 접속하는 호스트의 접속 로그에 대한 기록을 저장하는 파일을 지정한다.
(9) max log size = 0
=> 로그 파일의 최대 크기를 KB단위로 제한두려고 할 때 사용되는 옵션이다. 제한을 두었을 경우에 이를 초과하게 되면 .old확장자를 가진 파일로 저장되고 새로운 파일이 생
성된다. 현재처럼 0으로 설정하면 파일의 크기에 제한을 두지 않는다.
(10) security = user
=> 보안관련 옵션으로 클라이언트가 삼바서버에 접속할 때 인증 레벨을 부여하는 옵션이다. 보안모드에는 4가지모드가 있는데 user, share, server, domain등이다.
[4가지 모드]
user : 삼바 서버에 접속하는 클라이언트는 먼저 반드시 윈도우 시작시 사용자명과 패스워드로 로그인을 한 후에 삼바 서버에 접속할 때 같은 사용자명으로 패스워드를 확인한
후에
접속이 이루어진다.
share : 유효한 사용자명과 패스워드로 삼바 서버에 로그인을 하지 않아도 서버에 접속할 수 있게 하므로, 삼바 서버 인증과정을 필요로 하지 않을 때 이 레벨로 지정하면 된다.
공
유 디렉토리 접근에 제한을 두는 경우에 사용할 수 있다.
server : 윈도우 NT와 같은 다른 삼바 서버가 존재해야 하며, 다른 삼바 서버에 사용자명과 패스워드를 전달하여 올바른지를 확인한다.
domain : 윈도우 NT서버가 있어야 가능하며, 삼바서버가 사용자명과 패스워드를 윈도우NT의 도메인 컨트롤러(Domain Controller)에 전달하여 유효한지 확인하는 방법이다.
(11) password server =
=> 보안옵션에서 server나 domain값을 설정했을 경우에 윈도우 NT같은 다른 삼바서버의 NetBIOS이름으로 지정한다.
(12) password level = 8
username level = 8
=> 패스워드 레벨과 유저 레벨을 설정하는 것으로 8개 문자를 사용하도록 설정한다.
(13) encrypt passwords = yes
=> 삼바서버에 클라이언트의 접속이 이뤄지는 과정에서 인증을 위하여 암호화 패스워드 옵션을 사용할 수 있다. 암호화된 패스워드를 지정하는 옵션이다.
(14) smb passwd file = /etc/samba/smbpasswd
=> 이 옵션은 encrypt passwords항목과 같이 사용되는 것으로 암호화된 삼바 사용자의 아이디와 패스워드가 기록되는 파일이다. 이 파일에 패스워드를 추가하는 명령은
smbpasswd이다.
(15) unix password sync = Yes
passwd program = /usr/bin/passwd %u
passwd chat = *New*UNIX*password* %n\n *ReType*new*UNIX*password(생
략)
=> 클라이언트 호스트에서 사용자의 패스워드를 변경할 수 있도록 해주는 옵션이다. 단, 이 경우에는 encrypt password, smb passwd file 두 옵션을 반드시 사용해야 한다.
(16) username map = /etc/samba/smbusers
=> 리눅스 사용자 이름과 삼바 사용자 이름이 서로 다를 경우 서로 매핑시키기 위한
사용한다.
(17) include = /etc/local/samba/lib/smb.conf.%m
=> 접속하는 각 클라이언트마다 서로 다른 설정을 사용할 수 있게 해주는 것으로 %m은 접속하는 NetBIOS이름으로 대치된다.
(18) socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
=> 사용자의 로컬 네트워크상에서 삼바서버가 최적의 성능을 발휘할 수 있도록 튜닝할 때 사용한다. IPTOS_LOWDELAY, IPTOS_THROUGHPUT 등의 옵션이 있다.
(19) interfaces = 192.168.12.2/24 192.168.13.2/24
=> 삼바에 연결된 네트워크 인터페이스를 설정하는 것으로, 인터페이스는 IP/netmask조합으로 지정할 수 있다. 즉, 위의 설명은 삼바서버가 서로 네트워크 인터페이스를 사
용할 때 사용하는 것으로 192.168.12.2 호스트와 192.168.2.2 호스트에 연결을 허용한다는 의미이다.
(20) remote browse sync = 192.168.3.25 192.168.5.255
remote announce = 192.168.1.255 192.168.2.44
=> 동기화시킬 원격 브라우저를 설정하는 부분이다.
(21) local master = no
=> 이 옵션은 삼바서버가 nmbd에 의해 서브넷상에서 로컬마스터브라우저가 될 수 있도록 허용하는 것으로 no라고 설정하면 nmbd데몬은 서브넷상에서 로컬 마스터브라우
저가 되지 않는다.
(22) os level = 33
=> 삼바서버가 브라우저 선거에 있어서 자신을 알릴 수 있는 레벨을 설정하는 것으로 이 값에 의해서 nmbd데몬이 로컬브로드캐스트지역에서 WORKGROUP에 대해 로컬마
스터 브라우저가 될 수 있는지 결정된다. 이 값을 0으로 설정하면, nmbd데몬은 윈도우 머신에 대해서 선거권을 상실하므로 로컬마스터 브라우저가 되질 못한다.
(23) domain master = yes
=> 이 옵션은 삼바가 도메인 마스터 브라우저가 되도록 해준다. 이것은 삼바와 서브넷간의 브라우저 리스트를 모집할 수 있게 해준다. 만일 NT도메인 컨트롤러를 가지고 있
다면 이 기능을 사용해서는 안된다.
(24) preferred master = yes
=> 삼바구동시 로컬 마스터 선거를 강요하여 선거에서 이길 수 있게 보다 많은 가능성을 부여해주는 옵션이다. 이 옵션은 domain master = yes옵션과 같이 사용하여 nmbd
데몬에 의해 도메인 마스터가 될 수 있도록 해준다.
(25) domain controller =
=> 이 옵션은 호환성 문제로 현재는 사용하는 않는다.
(26) domain logons = yes
=> 삼바서버가 WORKGROUP에 윈도우98 도메인 로그온 역할을 할 것인지의 여부를 지
정한다.
(27) logon script = %m.bat
logon script = %U.bat
=> 사용자가 성공적으로 로그인을 하였을 때 다운로드하여 작동할 수 있도록 배치파일(*.bat) 또는 NT명령파일(.cmd)을 지시해 주는 옵션이다. 배치파일은 마지막 줄에 cr/if
가 들어있어야 하므로 도스편집기에서 만드는 것을 권장한다. 내용은 사용자가 임의대로 지정할 수 있다.
예) 보통 모든 클라이언트 머신들이 서버와 똑같은 시간에 시간을 맞추도록 할 수 있다.
NET TIME file://SERVER/ /SET /YES
(28) logon path = file://%LProfiles%U/
=> 윈도우98 및 NT에서 user.dat과 같은 로우밍 프로파일(roaming profile)을 어디에 지정할 것인가를 지정해 주는 옵션이다. %L은 서버의 NetBIOS이름으로 대치되고, %U는
사용자 이름으로 대치된다. 이 옵션을 사용할 때 [Profile]공유 항목에서 주석을 풀어 주어야 한다.
(29) wins support = yes
=> 삼바서버에서 nmbd데몬이 wins서버의 역할을 할 수 있는지 여부를 지정한다. 만일 이 옵션을 선택하기 위해서는 반드시 다중 서브넷 네트워크를 가지고 있어야 하며,
wins서버로 될 특정 nmbd데몬이 있어야 한다.
(30) wins server = w.x.y.z
=> wins 서버가 있을 경우 wins server IP값을 지정하는 옵션이다.
(31) wins proxy = yes
=> nmbd에 의해서 wins기능을 갖추지 못한 호스트들을 대신하여 브로드캐스트 이름 질의를 대신 응답해 줄 수 있도록 지정해 주는 옵션이다. 이것을 사용하려면 네트워크상
에 최소 하나 이상의 WINS서버가 있어야 한다.
(32) dns proxy = no
=> nmbd데몬이 wins server역할을 하고, 등록되지 않는 NetBIOS이름을 찾아줄 때 DNS server를 사용하여 NetBIOS이름을 찾아줄 것인지의 여부를 지정하는 옵션이다.
(33) case sensitive = no
=> 대소문자를 보존할 필요가 있을 때 설정하는 부분이다.
2) 공유 정의(Share Definitions) : 삼바 서버에 접속할 수 있는 사용자의 홈디렉토리를 설정해 주는 부분이다.
(1) [homes]
comment = Home Directories
browseable = no
writable = yes
=> 사용자의 홈 디렉토리 서비스 사용을 위한 기본적인 설정을 해주는 항목이다. comment는 간단한 설명문, browseable은 공유이름을 브라우저에 표시할 수 있게 하는 기능,
writable 은 쓰기허용을 설정한다.
(2) [netlogon]
comment = Network Logon Service
path = /home/netlogon
guest ok = yes
writable = no
share modes = no
=> 도메인 로그온을 사용하고자 할 때 사용한다. 일반적으로 사용하지 않는다.
(3) [Profiles]
path = /home/profiles
browseable = no
guest ok = yes
=> 특정한 프로파일을 지정할 때 사용한다. 일반적으로 사용하지 않는다.
(4) [printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
=> 삼바프린터를 네트워크 공유프린터로 사용하고자 할 경우에 설정한다. BSD계열의 프린터 시스템을 사용하면 일일이 프린터를 정의하지 않아도 된다.
(5) [tmp]
comment = Temporary file space
path = /tmp
read only = no
public = yes
=> 여러 사람들이 파일을 공유할 목적으로 유효하게 사용할 수 있다. 현재 기본값인 /tmp 는 임시작업공간 디렉토리이므로 /var/tmp처럼 다른 디렉토리를 만들어서 사용
하도록 한다.
(6) [public]
comment = Public Stuff
path = /home/samba
public = yes
read only = yes
write list = @staff
=> 공개적으로 접근이 가능한 디렉토리이지만 staff그룹에 있는 사용자들을 제외한 사용자 들은 오직 읽기만 사용가능하다.
(7) 사용자정의 섹션
예) [pong]
comment = shared-files in pong directory // 간단한 설명이다.
path = /home/pong/pds // 공유디렉토리의 경로를 지정한다.
read only =no // 공유디렉토리를 읽기만 가능하게 할지를 지정한다.
writable = yes // write ok = yes와 같은 옵션으로 쓰기가 가능하다.
valid user = pong xitem prehee // 서비스디렉토리에 사용가능한 사용자를 말하며,
만약 이 옵션이 생략되면 모든 사용자가 접근할 수 있다.
public = no // guest ok와 같은 옵션으로 no로 설정하면 다른 사용자들은 이용할
수 없고 개인사용자만 사용할 수 있게 된다.
browseable = no // 이용 가능한 공유리스트를 보여줄 것인가를 지정하는 것으로 no로
지정하면 리스트를 보여주지 않는다.
printable = no // 서비스로 지정된 디렉토리에 스풀파일을 지정할 것인가를 지정하
는 것으로, 프린터 공유 디렉토리가 아니므로 대부분 no로
설정한다.
create mask =0765 // create mode와 같은 옵션으로 파일을 생성할 때 사용되는 모드를
나타낸다.
(참고) samba 에서 공유디렉토리를 지정할 때 사용하는 옵션 설명
- read only : 공유 디렉토리를 읽기만 가능하게 할 것인지를 결정
- writable, write ok : 공유 디렉토리를 쓰기 가능하게 할 것인지를 결정
- valid users : 공유 디렉토리에 로그인할 수 있는 사용자를 결정
- public, guest ok : 다른 사용자들이 이용하게 할 지를 결정
- browseable : 공유 디렉토리의 리스트를 보여줄 지를 결정
- printable : 공유 디렉토리에 스풀 파일을 지정할 것인지를 결정
- path : 공유할 디렉토리의 절대경로를 지정
- comment : 간단한 설명을 적음
- create mask, create mode : 파일을 생성할 때의 모드를 결정. umask값형태로 지정.
- write list : 쓰기가 가능한 특정 사용자를 지정
6]. 삼바를 이용하여 공유하기
1) 리눅스 드라이브를 윈도우와 공유하기
(1) /etc/samba/smb.conf파일의 편집
#Global Settings ==========
[global]
workgroup = WORKGROUP // 윈도우의 워크그룹과 동일한 그룹을 지정한다.
server string = FILE SERVER // 리눅스서버에 대한 설명을 적는다.
hosts allow = 192.168.0. 203.247.51. 127. // 접근허용할 네트워크 범위를 지정한다.
security = share
# Share Definitions=========
[public]
comment = samba // 간단한 설명
path = /home/posein/samba // 공유디렉토리 지정
public = yes
writable = yes
printable = no
(참고) public으로 공유하고 writable = yes이면 공유한 해당 디렉토리에 다른 사용자계층의 퍼미션에서 쓰기권한을 부여해야 한다.
(2) 삼바 데몬을 다시 가동한다.
/etc/rc.d/init.d/smb restart
(3) 삼바 서버에서 테스트하기
/root]# testparm
Load smb config files from /etc/samba/smb.conf
Processing section "[homes]"
Processing section "[printers]"
Processing section "[public]"
Loaded services file OK.
Press enter to see a dump of your service definitions
(4) /etc/hostname이라는 파일을 생성하여 윈도우에서 확인할 이름을 지정한다.
예) linux
(5) 윈도우에서 확인하기
네트워크환경 => linux 라는 컴퓨터이름이 생성된다. linux를 더블클릭해서 확인해보면 public 이라는 공유폴더가 보인다.
(6) smbstatus로 서버 체크하기
/etc]# smbstatus
Samba version 2.2.0
Service uid gid pid machine
----------------------------------------------
public nobody nobody 14568 posein_note (192.168.0.3) Fri Jul 26 01:18:18 2002
No locked files
2) 리눅스 클라이언트에서 윈도우 공유 폴더 접근하기
(1) 윈도우 PC설정 (윈도우 2000기준)
ㄱ. 전체컴퓨터이름과 작업 그룹명 확인
바탕화면의 [내컴퓨터]를 오른쪽버튼클릭한뒤 [네트워크식별]항목을 보고 확인한다.
예) 전체컴퓨터이름: netmgt
작업그룹: net_운영
ㄴ. 공유할 폴더선택 및 공유설정
ㄷ. 바탕화면의 [네트워크환경]의 등록정보에서 'Microsoft네트워크 파일 및 프린터공유'가 있는지 확인한다.
(2) 리눅스에서 윈도우 접근
가): smbclient명령의 이용
ㄱ. smbclient명령을 이용하여 정보확인하기
etc]# smbclient -L netmgt -U administrator
added interface ip=203.247.40.252 bcast=203.247.40.255 nmask=255.255.255.0
added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Got a positive name query response from 203.247.40.244 ( 203.247.40.244 )
Password:
=> 패스워드를 입력하면 정보를 보여준다.
ㄴ. 접근하여 읽거나 쓰기작업하기
/etc]# smbclient \\\\netmgt\\work -U administrator
added interface ip=203.247.40.252 bcast=203.247.40.255 nmask=255.255.255.0
added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Got a positive name query response from 203.247.40.244 ( 203.247.40.244 )
Password:
=> 패스워드를 입력하면 정보를 보여준다.
ㄴ. 접근하여 읽거나 쓰기작업하기
/etc]# smbclient \\\\netmgt\\work -U administrator
added interface ip=203.247.40.252 bcast=203.247.40.255 nmask=255.255.255.0
added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
Got a positive name query response from 203.247.40.244 ( 203.247.40.244 )
Password:
Domain=[net_운영] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager]
smb: \>
=> 패스워드를 정확히 입력하면 위와 같이 프롬프트가 나타난다. ?를 입력하면 기본적으로 용할 수 있는 명령어의 리스트가 나타난다.
3) 리눅스에서 윈도우접근(2)
smbmount명령의 이용- mount명령어와 같은 형식으로 윈도우 공유 폴더와 그 폴더를 리눅스에서 마운트할 디렉토리가 필요하다.
ㄱ. 마운트한다.
/etc]# smbmount //netmgt/work /mnt/win -o username=administrator
Password:=> 패스워드를 입력하면 해당디렉토리로 마운트된다. /mnt/win이라는 디렉토리는 생성되어 있어야 하면 -o는 사용자이름을 지정하기 위한 옵션이다.
ㄴ. cd /mnt/win으로 이동하여 읽거나 쓰기를 한다.
7]. 삼바 User레벨로 사용하기
1) User레벨관련 주요 파일 분석
(1) /etc/samba/smb.conf
ㄱ. 설명: 삼바의 환경설정파일로 크게 두 개의 섹션으로 구분되어 있다.
ㄴ. Section
a. [global] : 삼바와 관련된 전체적인 환경설정을 하는 부분으로
b. [share definition] : 공유영역으로 여러 섹션이 존재한다. 주요 섹션은 다음과 같다.
- [homes] : home디렉토리와 관련된 설정을 할 수 있다.
- [printers] : 프린터와 관련된 설정을 할 수 있다.
- [tmp] : /tmp 디렉토리와 관련된 설정을 할 수 있다.
ㄷ. magic cookies: 삼바의 smb.conf에서도 아래의 magic cookies를 사용할 수 있다.
%u : 현재 사용중인 유저
%g : 현재 사용중인 유저 그룹
%m : 클라이언트의 NetBIOS이름
%v : 버전
%h : 호스트이름
%p : 서버의 홈디렉토리 경로
%d : 서버의 프로세서ID
%S : 현재 사용되는 서비스 이름
%P : 현재 사용되는 서비스의 루트 디렉토리
%U : 세션의 유저
%G : 셔션의 유저그룹
%H : %u로 주어진 유저의 홈디렉토리
%L : 서버의 NetBIOS이름
%M : 클라이언트 머신 이름
%N : NIS 홈디렉토리 서버의 이름
%I : 클라이언트 머신 IP
%T : 날짜와 시간
(2) /etc/samba/smbusers : 삼바사용자들을 설정하는 파일이다.
(3) /usr/bin/smbadduser : 삼바사용자들의 패스워드를 등록하는 명령이다.
(4) /var/log/samba : 삼바의 로그가 기록되는 파일이다.
(5) /var/spool/samba : 프린터의 스풀디렉토리이다.
2) 삼바서버의 인증레벨
(1) 설명: smb.conf파일의 [global]섹션의 security항목에서 설정한다.
(2) security 레벨의 설정
ㄱ. share : 인증과정을 거치지 않고 접근이 가능하다. smb.conf파일에서 hosts allow항목에 지정된 호스트라면 비밀번호없이 삼바를 사용할 수 있다.
ㄴ. user
a. 설명: 사용자의 인증을 거치는 레벨이다.
b. 윈도우 사용자의 접속법 : 삼바서버에 설정한 계정과 패스워드로 접속한다.
c. smb.conf파일에서의 설정 : [global] 섹션의 encrypt passwords = yes, smb passwd file = /etc/smbpasswd 설정을 추가로 해야 한다.
d. 삼바의 사용계정: /etc/passwd에 있는 계정이어야 한다.
e. 삼바사용자의 지정: smbpasswd 명령을 이용하여 사용자 계정과 비밀번호를 설정한다.
ㄷ. server
a. 설명: 사용자 정보를 담고 있는 윈도우서버와 같이 다른 운영체제가 삼바서버에 대한 사용자와 패스워드를 인증을 전달하는 방법이다.
b. smb.conf파일에서의 설정: password server 지시자에 인증할 서버의 IP를 적는다.
ㄹ. domain : 삼바서버가 윈도우 서버의 도메인 컨트롤러에 사용자명과 패스워드를 전달하여 인증하는 방법으로 server레벨과 비슷하다.
3) 삼바관련 명령어
(1) smbpasswd
ㄱ. 설명: 삼바서버의 사용자 계정을 만들거나 패스워드를 설정하는 명령이다.
ㄴ. 사용법
smbpasswd option user_id
ㄷ. option
-a : 사용자계정을 추가시에 사용한다.
-x : 사용자계정을 삭제한다.
(2) smbadduser
ㄱ. 설명: 삼바서버의 사용자계정을 만드는 명령이다.
ㄴ. 사용법
smbadduser 계정명:계정명
=> 콜론(:)을 기준으로 앞의 계정명은 Unix에서 사용할 이름이고 뒤의 계정명은 윈
도우에서 사용하는 계정명이다.
ㄷ. 사용예
smbadduser posein:posein
=> posein이라는 사용자를 추가한다.
4) user레벨로 삼바서버 사용하기
1) 리눅스서버에서 설정하기
ㄱ. smb.conf파일 설정
security = user // user레벨로 변경
encrypt passwords = yes // 활성화시킨다.
smb passwd file = /etc/samba/smbpasswd // 활성화시킨다.
ㄴ. 사용자추가하기
[root@www samba]# smbpasswd -a pong // pong이라는 계정을 추가하였
다. 리눅스서버의 계정으로 한다.
New SMB password: // 패스워드를 설정한다. 반드시 리눅스서버의
//패스워드와 같지 않아도 된다.
Retype new SMB password:
unable to open passdb database.
Added user pong.
복합기 실습 예제
[공유 폴더 정보 알아 내기]
# smbclient -L MFP-00H12625
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.1a]
Sharename Type Comment
--------- ---- -------
FILE_SHARE Disk For all users loggin in
print$ Disk
IPC$ IPC IPC Service (SMB Server)
ADMIN$ Disk IPC Service (SMB Server)
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.1a]
Server Comment
--------- -------
Workgroup Master
--------- -------
# smbclient -L MFP-00H12625 -l 192.168.10.201
컴퓨터 이름
Password:
Sharename Type Comment
--------- ---- -------
FILE_SHARE Disk For all users loggin in
print$ Disk
IPC$ IPC IPC Service (SMB Server)
ADMIN$ Disk IPC Service (SMB Server)
Server Comment
--------- -------
Workgroup Master
--------- -------
[공유 폴더 접근하기]
#smbclient //컴퓨터 이름/공유 이름
외부 네트워크에 있는 컴퓨터 일 경우
#smbclient //컴퓨터 이름/공유 이름 -l ip주소
# smbclient //MFP-00H12625/print$
Password:
Domain=[WORKGROUP] OS=[Unix] Server=[Samba 2.2.1a]
smb: \> exit
#
[공유 폴더를 리눅스 디렉토리 처럼 사용하기]
# smbmount //컴퓨터 이름/공유 이름 마운트할 디렉토리
예)
# smbmount //MFP-00H12625/print$ /mnt
Password:
# cd /mnt
# ls
W32X86 WIN40
#
mount -t smbfs //컴퓨터 이름/공유 이름 마운트할 디렉토리
예)
#mount -t smbfs //MFP-00H12625/print$ /mnt
예)
# mount -t smbfs //MFP-00H12625/print$ /mnt
Password:
# cd /mnt
# ls
W32X86 WIN40
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/hdb1 6.8G 3.2G 3.3G 50% /
none 110M 0 110M 0% /dev/shm
/dev/sda1 992M 679M 314M 69% /media/usbdisk
#
참고
삼바실행
#/etc/init.d/smb start[restart]
방화벽 설정
#vi /etc/sysconfig/iptables
#-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137:139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 137:139 -j ACCEPT
방화벽을 수정한 후에는 반드시 /etc/init.d/iptables restart
실습해 보세요
1) 윈도에서 리눅스 삼바 서버에 접속 시 인증단계 없게 설정하시오.
[Global]
security = share로
guest account = pcguest라 설정되어 있는 부분을 반드시 guest account = nobody로 설정
[home] 항목을 다음과 같이 설정합니다.
[homes]
comment = Home
browseable = no
read only= no
guest ok = no
create mode = 0750
삼바 데몬을 실행한다
2) 윈도에서 리눅스 삼바 서버에 접속 시 인증단계 있게 설정하시오
[CDROM] 항목을 설정합니다.
[CDROM]
comment = Samba CDROM
path = /mnt/cdrom
browseable = yes
public = yes
[pcj] 항목을 설정합니다.
comment = pcj's dir
path = /home/pcj
browseable = yes
read only = no
writable = yes
public = no
create mask = 0750
디렉토리가 보이나 pcj 디렉토리에 접근할려면 인증이 일어난다.
사용자 인증은 리눅스 사용자와 윈도우 사용자와 일치하도록 해 주어야 합니다.
윈도우에서 네트워크 로그인을 할 때 사용자가 pcj라고 한다면 리눅스에서 다음과
같이 삼바 사용자를 추가해 줍니다.
]# smbadduser pcj:pcj
Adding: pcj to /etc/smbpasswd
Adding: {pcj = pcj} to /etc/smbusers
----------------------------------------------------------
ENTER password for pcj
New SMB password:
Retype SMB password:
삼바를 다시 실행하고 윈도우에서 삼바에 접속하면 설정전과 마찬가지로 인증 실패가 나올 것입니다. 왜냐하면 인증에 관련된 부분들을 설정해 주지 않았기 때문입니다.
그러면 인증 설정하는 방법은 [global] 항목을 다음과 수정해 주면 됩니다.
[global]
security = user
여러분들은 share로 설정되어 있는데 이를 user로 바꿔 주어야 합니다.
그리고 다음 부분들을 주석해지 하거나 삽입해 줍니다.
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
username map = /etc/smbusers
[pcj] 항목에는 이 디렉토리에 접근가능한 사용자들을 추가해 줍니다.
valid users= pcj
삼바 서버를 다시 실행한 후에 접속해 보기 바랍니다. 패스워드를 입력하면 pcj 디렉토리에 있는 내용들을 볼 수 있을 것입니다.
여기까지 완료된 분들은 삼바가 정상적으로 작동하는 것입니다.
참고하세요
[global]
workgroup = Linuxpcj
hosts allow = 192.168.10. 127.
load printers = yes
printing = bsd
guest account = nobody
log file = /var/log/samba/log.%m
max log size = 50
security = user
encrypt passwords = yes
smb passwd file = /etc/smbpasswd
username map = /etc/smbusers
include = /etc/smb.conf.%m
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
; interfaces = 192.168.12.2/24 192.168.13.2/24
; remote announce = 192.168.1.255 192.168.2.44
; preserve case = no
; short preserve case = no
; default case = lower
; case sensitive = no
[homes]
comment = Home Directories
browseable = no
read only= no
guest ok = no
create mode = 0750
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
# Set public = yes to allow user 'guest account' to print
guest ok = no
writable = no
printable = yes
[CDROM]
comment = Samba CDROM
path = /mnt/cdrom
browseable = yes
public = yes
[pcj]
comment = pcj's dir
path = /home/pcj
browseable = yes
read only = no
writable = yes
public = no
create mask = 0750
valid users= pcj
출처 : http://blog.naver.com/jinslove81?Redirect=Log&logNo=60025948259
==========================
삼바에서 한글지원 코드
아래 코드를 /etc/samba/smb.conf에 삽입하고 데몬을 다시 띄우면 한글 사용할 수 있음
dos charset=cp949
unix charset=euckr
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
공지 | [공지] 게시자료 열람자유. 불펌금지입니다. | 조인상 | 2010.12.07 | 32454 |
24 | centOS 에서 dovecot POP3 사용하기 | 조인상 | 2010.05.12 | 15450 |
23 | sendmail 기반의 Squirrelmail (다람쥐메일)설치기법 | 조인상 | 2010.05.12 | 13377 |
22 | centOS 4.2 설치시 한글깨짐 문제 | 조인상 | 2010.05.12 | 18684 |
21 | 백스페이스 눌러서 지우려고 할때 ^H 표시될때 조치법 | 조인상 | 2010.05.12 | 24766 |
» | 삼바 세팅 및 사용법 [1] | 조인상 | 2010.05.12 | 25374 |
19 | LVM(Linux Volume Manager) 구축하기 | 조인상 | 2010.05.12 | 15557 |
18 | 리눅스에서 플로피 사용하기 | 조인상 | 2010.05.12 | 9163 |
17 | 리눅스에서 HBA카드의 WWN확인 방법 | 조인상 | 2010.05.12 | 54758 |
16 | HBA카드의 WWNN과 WWPN에 대한 포럼 내용 | 조인상 | 2010.05.12 | 17842 |
15 | 리눅스에 Qlogic2300 HBA카드로 어레이 붙이기 | 조인상 | 2010.05.12 | 20452 |
14 | 리눅스 가상 IP 설정 | 조인상 | 2010.05.12 | 30997 |
13 | 2G이상 파일 tar 로 생성 / 분할생성(복사) | 조인상 | 2010.05.12 | 13223 |
12 | NFS 관련 명령어 및 파일들 | 조인상 | 2010.05.12 | 14680 |
11 | 내가 즐겨사용하는 프롬프트 변수(PS1) 설정치 | 조인상 | 2010.05.12 | 10574 |
10 | 터미널에서 한글을!! Unicon 소개/설치 | 조인상 | 2010.05.12 | 12595 |
9 | mysql 4 버전 설치하기 | 조인상 | 2010.05.12 | 11942 |
8 | APM 설치하기 | 조인상 | 2010.05.12 | 8283 |
7 | 새로운 디스크를 ext3로 파일시스템 생성하기 | 조인상 | 2010.05.12 | 8995 |
6 | NAT환경에서 넷미팅 사용하기 | 조인상 | 2010.05.12 | 9733 |
5 | 리눅스 환경에서 Xmanager 사용법 | 조인상 | 2010.05.12 | 19435 |
아.. 이 문서 정말 낯익은 문서네.ㅎㅎ