2007. 7. 3. 15:53

Samba for FreeBSD

#
#Samba for FreeBSD
#

#버전
FreeBSD
samba

#################
# 1. 설치
#################
삼바 pkg_add 명령을 이용하거나 포트에서 설치할 수 있다.

pkg_add -r samba

또는

cd /usr/ports/net/samba
make install clean

#################
# 2. 시작 스크립트
#################
삼바의 실행은 독립모드(standalone) 또는 inetd 모드로 실행 가능하다.

- 독립모드 실행
cd /usr/local/etc
cp smb.conf.default smb.conf

cd /usr/local/etc/rc.d
mv samba.sh.default samba.sh
/usr/local/etc/rc.d/samba.sh start

- inetd 모드로 실행할 결우 /etc/inetd.conf 파일에 다음 내용을 추가하고
  inetd 데몬을 재시작(killall -HUP inetd) 해준다.

# ——————————————————————-
netbios-ssn stream tcp nowait root /usr/local/sbin/smbd smbd
netbios-ns   stream udp nowait root /usr/local/sbin/nmbd nmbd
# ——————————————————————-

####################################
# 2. 설정파일(/usr/local/etc/smb.conf
####################################

# ——————————————————-
# smb.conf 설정 시작
# ——————————————————-
[global]
   workgroup = Workgroup
   server string = FileServer

   # 한국어 파일명 지원
   client code page = 949

   security = user
   encrypt passwords = Yes

   socket options = TCP_NODELAY IPTOS_LOWDELAY
   dns proxy = no

   log file = /var/log/log.%m
   max log size = 500

[homes]
   comment = Home Directories
   browseable = No
   read only = No

[pub]
   comment = public directory
   path = /home/pub
   writable = Yes
   browseable = Yes
# ——————————————————-
# smb.conf 설정 끝
# ——————————————————-

####################################
# 3. 삼바 사용자 계정과 비밀번호
####################################
삼바 설치과정에서 자동적으로 시스템 계정이 삼바 계정으로 추가 되어 있을 것이다.
삼바 계정 파일은 /usr/local/private/smbpasswd 이다.
삼바 계정 비밀번호는 시스템 계정 비밀번호와 별도로 관리되기 때문에 계정만들고
smbpasswd 명령으로 비밀번호를 입력해준다.

# 시스템 계정파일로 삼바 계정 파일을 만들려면 다음과 같이 해준다.
cat /etc/passwd | make_smbpasswd > /usr/local/private/smbpasswd

# 삼바 계정의 비밀번호를 변경한다.
smbpasswd user_name
(이곳에서 FreeBSD 계정의 패스워드를 다시 세팅해준다.)

###################################

###################################

#################
# 4. 삼바 시작
#################
/usr/local/etc/rc.d/samba.sh start
/usr/local/etc/rc.d/samba.sh stop
/usr/local/etc/rc.d/samba.sh restart

# inetd 모드일경우
killall -HUP inetd

#################
# 5. SWAT
#################
웹브라우저에서 삼바 설정을 관리하려면 swat을 설정하다.

/etc/inetd.conf 파일에 다음내용을 추가하고 inetd를 재시작 한다.
………………….
swat    stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat
………………….

killall -HUP inetd

http://ipaddress:901/

SMB HOWTO
http://wiki.kldp.org/HOWTO//html/SMB/SMB-HOWTO.html

http://hanbitbook.co.kr/web/sample/1179/redhat72_chapter47.pdf

2007. 7. 3. 15:52

smb.conf 예제 파일

아래의 예제파일은
특정 아이디로 로그인 하여 공용 파일을 사용할수 있게 하는 경우와
모두 풀어준 공용 파일에 대한 예이다.

# Samba config file created using SWAT
# from 192.168.1.111 (192.168.1.111)
# Date: 2004/06/30 20:21:39

# Global parameters
[global]
client code page = 949
workgroup = ToyBSD 	server string = Samba Server( 파일 서버)
security = SHARE
encrypt passwords = Yes
username map = /usr/local/etc/users.map
log file = /var/log/log.%m
max log size = 500
socket options = TCP_NODELAY IPTOS_LOWDELAY
dns proxy = No

[printers]
comment = All Printers
path = /var/spool/samba
printable = Yes
browseable = No

[Woosu Open File Server]
comment = 사내 공용 파일 서버
path = /usr/home/woosu/pub
read only = No
guest ok = Yes

[Affairs Team]
comment = 경영관리부 파일 서버
path = /usr/home/ws11/pub
write list = ws11
read only = No
2007. 7. 3. 15:27

DNS 세팅(djbdns)

[포트설치]DNS 세팅 (djbdns)
 
 
1.설치하기 (포트로 설치하기)


## daemontools 설치

cd /usr/ports/sysutils/daemontools
make install clean

If you get a pop-up window when you do this, Just hit TAB and then click OK.

We now need to create the /service directory to get svscan running. We do that by:


# mkdir /service

You will now want to start the svscan server by running:


# csh -cf '/usr/local/bin/svscanboot &'

If you run ps -auxw | grep svscan, you will or should see something like this:


root 384 0.0 0.0 1652 8 con- I 16Jul05 0:00.01 /bin/sh /command/svscanboot
root 404 0.0 0.0 1244 140 con- S 16Jul05 9:04.68 svscan /service

We now need to tell FreeBSD to start daemontools on startup. Here is the command that tells freebsd to do that:


# echo "csh -cf '/usr/local/bin/svscanboot &'" >> /etc/rc.local

Before we continue on, we want to delete the startup script thats created when we installed daemontools:


# rm /usr/local/etc/rc.d/svscan

Now that daemontools is running, we are all done!




## ucspi-tcp 설치

cd /usr/ports/sysutils/ucspi-tcp
make install clean


## djbdns 설치

cd /usr/ports/net/djbdns
make install clean


2. 설정하기


## dns 설정하기

dns를 실행할 유저를 만들어줍니다.


pw groupadd -n djbdns
pw useradd -n dnslog -g djbdns -d /noexistent -s /sbin/nologin -c “dnslog” -w random
pw useradd -n dns -g djbdns -d /noexistent -s /sbin/nologin -c “dns” -w random


리눅스에서는 /servie 아래에 dns를 만들어주지만.. 프비는 메인테너의 권유대로..
/var/service 에 만들겠습니다.


리눅스에서는 /service 아래에 dns를 만들어주지만, FreeBSD는 메인테니의 권유대로, /var/service/에 만들겠습니다.
/var/service를 만들어 그곳에 dns를 생성시킨후, /service 와 /var/service/dns 를 ln -s 할 것입니다.

mkdir /var/service
tinydns-conf dns dnslog /var/service/dns 1.2.3.4

서비스 시작 #svscan 으로 하여금, 새로 만든 /var/service/dns 를 시작하도록, /service에 링크를 걸어준다.

 # ln -s /var/service/dns /service  
 
tinydns 데몬이 시작 될 것이다. (확인은 # ps ax )


1.2.3.4는 자기 해당 아이피입니다.
이제 var/service/dns 에 가보시면
root라는 디렉토리가 보일겁니다.
안에 들어가시면

add-childns
add-mx
add-alias
add-host
add-ns

등이 보일겁니다.

도메인설정을 하겠습니다.
예로 저의 아이피는 1.2.3.4이고
도메인은 domain.com 입니다.
./add-ns domain.com 1.2.3.4
./add-ns 3.2.1.in-addr.arpa 1.2.3.4
메일,웹,ftp 설정을 하겠습니다.


./add-host www.domain.com 1.2.3.4
./add-alias ns.domain.com 1.2.3.4
./add-alias domain.com 1.2.3.4
./add-alias ftp.domain.com 1.2.3.4
./add-mx domain.com 1.2.3.4


기타 alias 시킬것이 있으면… 해주시구요..
끝나셨으면


make


해주시구요..

만약 mx 레코드가 여러개라면..


@domain.com:1.2.3.4:a::86400
@mail.domain.com:1.2.3.5:b::86400
@mail2.domain.com:1.2.3.6:c::86400
@mail3.domain.com:1.2.3.7:d::86400


이런형태로 data파일을 수정해주시면 됩니다.

제대로 설정을 했는지 확인하실려면..


tinydns-get a domain.com


하시면 다음과 같이 나오게 됩니다.


1 domain.com:
77 bytes, 1+1+1+1 records, response, authoritative, noerror
query: 1 domain.com
answer: domain.com 86400 A 1.2.3.4
authority: domain.com 259200 NS a.ns.domain.com
additional: a.ns.domain.com 259200 A 1.2.3.4
다 끝났습니다. 리부팅 한번해주시면..
절대로 죽지 않는 dns가 작동되게 될겁니다.

기본세팅 이외에 추가 도메인이 있을땐..

./add-ns test.com 111.222.333.444
./add-alias test.com 111.222.333.444
./add-mx test.com 111.222.333.444 (mx(mail server)사용할 경우에만)

등만 추가로 설정해주시고

make 하시면 적용이 된답니다.
현재 나의 data 내용이다…
도메인을 여러개 사용중이고 각각 가상메일을 사용중이다.
즉, domain.com을 도메인 등록업체에 등록하였고, 이 도메인을 가지고
네임서버 호스트 등록을 ns.domain.com 으로 한상태이다.
domain1.com, domain2.com …. 여러개 추가되엇을 때의 상황이다.
xxx.xx.xxx.xxx 는 서버 아이피 이다.

vi /var/service/dns/root/data
————————————————————
.domain.com:xxx.xx.xxx.xxx:a:259200
.144.77.220.in-addr.arpa:xxx.xx.xxx.xxx:a:259200
=www.domain.com:xxx.xx.xxx.xxx:86400
+ns.domain.com:xxx.xx.xxx.xxx:86400
+domain.com:xxx.xx.xxx.xxx:86400
+ftp.domain.com:xxx.xx.xxx.xxx:86400
+qmail.domain.com:xxx.xx.xxx.xxx:86400
+mrtg.domain.com:xxx.xx.xxx.xxx:86400
+jungkiri.domain.com:xxx.xx.xxx.xxx:86400
@domain.com:xxx.xx.xxx.xxx:a::86400
.domain1.com:xxx.xx.xxx.xxx:a:259200
+www.domain1.com:xxx.xx.xxx.xxx:86400
+domain1.comr:xxx.xx.xxx.xxx:86400
+mail.domain1.com:xxx.xx.xxx.xxx:86400
@domain1.com:xxx.xx.xxx.xxx:a:86400
.domain2.com:xxx.xx.xxx.xxx:a:259200
+domain2.com:xxx.xx.xxx.xxx:86400
+www.domain2.com:xxx.xx.xxx.xxx:86400
@domain2.com:xxx.xx.xxx.xxx:a::86400
—————————————————————–
위의 진하게 보이는 부분이 추가되는 도메인에 대한 한 묶음이다.. 유심히, 살펴보면 유형을 알 수 있을것이다.


DNS 동작 확인
1. /var/service/dns/root/data에 이상이 없는지 확인
2. tinydns-get을 이용하여 data.cdb의 이상이 없는지 확인
tinydns-get a 도메인이름
3. 현재 컴퓨터의 IP 확인
cat /var/service/dns/env/IP
netstat -n -i
4. tinydns가 동작중인지 확인
svstat /var/service/dns
5. tinydns에 DNS 쿼리를
dnsq a 도메인이름 IP주소
6. DNS cache에 쿼리
dnsq a 도메인이름
※컴퓨터의 설정이 올바르다면 5번까지는 바로 동작할 것이다. 6번은 상위 name server에까지 설정이 완전히 미쳐야 올바로 동작한다.


3.참고한 글
- D.J 번스타인의 djbdns 웹사이트 ( http://cr.yp/to/djbdns.html)
- 임은재님의 은재의 리눅스 페이지 ( http://kldp.org/~eunjea/)
- ienfant님의 djbdns를 이용한 dnscache 설정 ( http://club.shinbiro.com/clb/bbs/sbrClbBbs_View.jsp?bbsid=66828&method=TITLE&keyword=djbdns&pg=1&artno=534)
- 디망쉬님의 qmail, djbdns 의 매력 ( http://club.shinbiro.com/clb/bbs/sbrClbBbs_View.jsp?bbsid=66828&method=TITLE&keyword=djbdns&pg=1&artno=532)



 
 ping 명령시 도메인명은 에러나는 문제.
 
  글쓴이: randy [홈페이지]
 글쓴시간: 04/03/23 14:02
 읽은수: 87
 
 
 
아래 주신 답변을 참고하여 수정을 해보았으나 잘 되지 않아 다시 한번 글을 올리게 됩니다.

nslookup 명령시에는 아이피든 도메인이든 상관없이 잘 되는데
ping 명령시에 도메인은 에러가 납니다.
에러 문구는

root ~] ping yahoo.co.kr
ping: cannot resolve yahoo.co.kr: Unknown host

root ~] ping designinside.co.kr
PING designinside.co.kr (220.95.231.67): 56 data bytes
64 bytes from 220.95.231.67: icmp_seq=0 ttl=64 time=0.061 ms

이렇게 하면 됩니다.

설정 내용은..

root ~] hostname
designinside.co.kr

root ~] cat /etc/ hosts
127.0.0.1 localhost localhost
220.95.231.67 designinside.co.kr localdomain

root ~] cat /etc/resolv.conf
search localdomain
nameserver 168.126.63.1
nameserver 220.95.231.67

이렇게 되어있습니다.
 
 
 
 
 coolmax
 
 참고 하시라고 적습니다. 서버로 하실거니까 4.x겠죠?
내임서버도 운영하시던데요. 그 상황을 참고해서 만들면…

/etc/hosts
127.0.0.1 localhost localhost.designinside.co.kr

/etc/resolv.conf
domain designinside.co.kr
nameserver 220.95.231.67
nameserver 168.126.63.1

/etc/rc.conf
hostname=”xxx.designinside.co.kr” xxx ->호스트이름
ifconfig_kk0=”inet 220.95.231.67 netmask 255.255.255.0″
kk0 ->첫번째 nic 이름
defaultrouter=”220.95.230.10″

이정도면 되지 않을까 생각합니다.
 2004-03-23
 
 
 
 
 randy
 
 왜 아이피는 되는데 도메인명은 안되는것일까요?
안그래도 무지한데 안되는 이유도 모르고 해결을 하려니 어려분들이 도와주는 말로도 해결이 안되고 있습니다.
 2004-03-27
 
 
 
 
 coolmax
 
 이래도 안된다면 내임서버 오류입니다.
내임서버 존파일이랑 올려주세요.
 2004-03-27
 
 
 
 
 smbsd
 
 /etc/resolv.conf 에
nameserver 168.126.63.1 을 맨 위로 올려서 다시 함 해보세요

168.126.63.1 은 한통 dns 서버 입니다.

요즘은 61.77.63.1 은 요 dns 서버를 주로 쓰는것 같더라구요..

아이피로는 핑은 간다는것은 네트웍은 무자게 잘되는데
도메인 명은 안간다는건 도메인(컴터이름)을 아이피 주소로
바꾸어 주는 서버(dns) 를 컴터에게 알려 주어야 하는디
안알려줘서 컴터가 화가 나가 나서 그런겁니다.

알려줄려믄 /etc/resolv.conf 에 알려 주믄 컴터가 순차 적으로
이 화일에 적혀 있는 네임서버를에게 yahoo.co.kr 이란 놈의
IP 가 무엇인고 물어 볼라고 하는디 님 께선 님 자신의 네임 서버
를 resolv.conf 에 적어 놔서 물어 볼껀 자기도 모르면서
자기 자신한테 물어보니 모를수 밖에요 ~!
 2004-03-28
 
 
 
 coolmax
 
 ns.designinside.co.kr 라는 내임서버를 운영하셔서 한통내임서버보다 위에 적은것입니다. 또한 dig나 nslookup을 이용하여 저 도메인으로 쿼리 해봐도 default네임서버는 ns.designinside.co.kr로 되어 있더군요. 또한 메일 서비스,아파치 버추얼호스팅,서브도메인 하려면 자체 내임서버가 있어야 가능하죠. 그리고 resolver도 로컬네임서버로 쿼리해야 빠르구요. 굳이 자체 내임서버 있는데 한통dns서버 쓸일이 없을듯 합니다.

2007. 7. 3. 15:26

Openwebmail설치후WeRecommendThatYouUpdateYourPerlPackageIfYouHaveThe”perl-suid”PackageInstalled

Describe Openwebmail설치후WeRecommendThatYouUpdateYourPerlPackageIfYouHaveThe”perl-suid”PackageInstalled. here
apt-get install perl-suid 해준다.

2007. 7. 3. 15:24

Cvsup 소스 업데이트와 커널 빌드하기(STABLE).

cvsup 소스 업데이트와 커널 빌드하기..
cvsup 소스 업데이트 하기.
# cd /usr/ports/net/cvsup && make install
# cvsup -v
CVSup client, non-GUI version
Copyright 1996-2001 John D. Polstra
Software version: SNAP_16_1d
Protocol version: 16.1
Operating system: FreeBSD4
http://www.polstra.com/projects/freeware/CVSup/
Report problems to cvsup-bugs@polstra.com

이제 업그레이드를 해 보자. 4-STABLE로 업그레이드하려면 다음의 명령 하나로 할 수 있다.

# cvsup -g -L2 -h cvsup.kr.FreeBSD.org /usr/share/examples/cvsup/stable-supfile
(# cvsup -g -L2 -h cvsup2.kr.FreeBSD.org /usr/share/examples/cvsup/stable-supfile)

커널(Kernel) 컴파일(Compile)하기  
 글쓴이: 실이아빠 [홈페이지]  글쓴시간: 02/03/18 16:56  읽은수: 1361
‘팁’ 이라기에는 너무 초라하군요. 다들 아시겠지만 말입니다.
저는 사운드 카드를 추가 하면서 커널을 컴파일 해 보았습니다.
사운드 카드는 사운드 블러스트의 Vibra 128 (ES1370/ES1371)를 사용했습니다.
또한 FreeBSD Release 4.5를 사용했습니다.
1. 항상 GENERIC Kernel config 파일을 복사해서 사용합니다.
바꾼 내용을 잃어 버렸을 때에는 GNEERIC Kernel config 파일로 복원을 해야 하거든요.
# cd /usr/src/sys/i386/conf
# cp GENERIC MyKernel
2. 새로 추가된 하드웨어가 있으면 MyKernel을 수정합니다.
* 저는 사운드 카드를 인식하기 위해 아래 줄을 추가 했습니다.
device pcm #pcm0 (ES1370/ES1371)
3. 두가지 방법으로 컴파일을 할 수 있습니다.
※ 첫번째 방법
# cd /usr/src/sys/i386/conf
# usr/sbin/config MyKernel
# cd ../../compile/MyKernel
# make clean
# make depend
# make
# make install
※ 두번째 방법
# cd /usr/src
# make buildkernel KERNCONF=MyKernel
# make installkernel KERNCONF=MyKernel
4. 이렇게 하면 root 디렉토리에(/) 에 처음의 커널은 kernel.GENERIC로 백업이 되며,
방금 MyKernel Kernel Configure 파일로 컴파일 된 것이 kernel로 된다.
5. 시스템을 리부팅한다.
# sync
# shutdown -r now (or reboot)