Redhat ES나 fedora를 설치하는 경우 bind 설정에서 변경되는 부분이 있습니다.
bind 보안이 강화되어 기본적으로 chroot를 이용하도록 bind-chroot 패키지가 설치됩니다.

[root@ns named]# rpm -qa | grep bind
bind-utils-9.2.4-2
bind-9.2.4-2
bind-chroot-9.2.4-2

(bind-chroot-9.2.4-2가 기본적으로 설치된 것을 확인할 수 있습니다)

chroot(Change Root Directory)는 특정 디렉토리가 / (루트 디렉토리) 인 것처럼 속여 만약 서버의 취약점으로 인해 침입을 당한 경우 제한된 영역의 시스템 디렉토리에만 그 피해를 국한시키기 위한 메커니즘입니다.

bind의 named 프로세스를 chroot환경에서 실행하게 되면, named는 ~/chroot 디렉토리를 시스템의 루트 디렉토리로 여기게 되고 따라서 ~/chroot 하위 디렉토리에 대해서만 접근할 수 있습니다.

[root@ns named]# pwd
/var/named
[root@ns named]# ls -l
total 12
drwxrwx--- 5 root named 4096 Apr 25 11:08 chroot
drwxrwx--- 2 named named 4096 Oct 19 2004 data
lrwxrwxrwx 1 root root 44 May 26 21:02 localdomain.zone -> /var/named/chroot/var/named/localdomain.zone
lrwxrwxrwx 1 root root 42 May 26 21:02 localhost.zone -> /var/named/chroot/var/named/localhost.zone
lrwxrwxrwx 1 root root 43 May 26 21:02 named.broadcast -> /var/named/chroot/var/named/named.broadcast
lrwxrwxrwx 1 root root 36 May 26 21:02 named.ca -> /var/named/chroot/var/named/named.ca
lrwxrwxrwx 1 root root 43 May 26 21:02 named.ip6.local -> /var/named/chroot/var/named/named.ip6.local
lrwxrwxrwx 1 root root 39 May 26 21:02 named.local -> /var/named/chroot/var/named/named.local
lrwxrwxrwx 1 root root 38 May 26 21:02 named.zero -> /var/named/chroot/var/named/named.zero
drwxrwx--- 2 named named 4096 Oct 19 2004 slaves
(/var/named 안에 chroot 디렉토리를 확인할 수 있습니다)



[root@ns chroot]# pwd
/var/named/chroot
[root@ns chroot]# ls -l
total 12
drwxrwxr-- 2 root named 4096 Apr 25 11:08 dev
drwxrwx--- 2 root named 4096 Jul 1 11:30 etc
drwxrwx--- 5 root named 4096 Apr 25 11:08 var
(/var/named/chroot 디렉토리)

이전과는 달리 모든 bind 설정 관련 파일들은 /var/named/chroot 안에 존재하고 있습니다.

기존 /etc/named.conf는
/var/named/chroot/etc/named.conf에

기존 /var/named의 zone file은
/var/named/chroot/var/named 안에 위치하게 됩니다.

설정이 끝나고 chroot를 이용한 bind를 구동하면

[root@ns chroot]# ps -aux | grep named
named 13316 0.0 1.3 37896 3528 ? Ssl Jun23 0:00 /usr/sbin/named -u named -t /var/named/chroot

위에서와 같이 -t /var/named/chroot 옵션(-t chrootdir)이 적용된 것을 확인 할 수 있습니다.

만약, chroot가 적용된 bind를 사용하지 않고 예전 방식대로 운영하려면 bind-chroot 패키지만 삭제합니다.
2006/11/10 14:07 2006/11/10 14:07
음 다람쥐 메일을 가지고 왔습니다
http://www.squirrelmail.org
imap 를 이용한 꾀 좋은 웹메일입니다
자세히 설명 못드린점 죄송하구요
보안에 조금 문제가는 것도 있는 데
일단 설치 해보시라는 맘에서 테스트 했구요

[root@ns test]# tar xvfz squirrelmail-1.4.5.tar.tar
[root@ns test]# ll
합계 596
drwxr-xr-x 3 rmcobol rmcobol 4096 8월 31 23:46 ./
drwxr-xrwx 22 rmcobol rmcobol 4096 8월 31 23:36 ../
drwxr-xr-x 16 1000 users 4096 7월 14 03:45 squirrelmail-1.4.5/
-rw-r--r-- 1 rmcobol rmcobol 591226 8월 28 14:05 squirrelmail-1.4.5.tar.tar
[root@ns test]# mv squirrelmail-1.4.5 mail
[root@ns test]# ll
합계 596
drwxr-xr-x 3 rmcobol rmcobol 4096 8월 31 23:46 ./
drwxr-xrwx 22 rmcobol rmcobol 4096 8월 31 23:36 ../
drwxr-xr-x 16 1000 users 4096 7월 14 03:45 mail/
-rw-r--r-- 1 rmcobol rmcobol 591226 8월 28 14:05 squirrelmail-1.4.5.tar.tar
[root@ns test]# chown rmcobol:rmcobol -R mail/
[root@ns test]# mv mail/ /home/rmcobol/html/
[root@ns test]# cd /home/rmcobol/html/mail
[root@ns mail]# ll
합계 192
drwxr-xr-x 16 rmcobol rmcobol 4096 7월 14 03:45 ./
drwxr-xrwx 21 rmcobol rmcobol 4096 8월 31 23:50 ../
-rw-r--r-- 1 rmcobol rmcobol 7896 6월 8 00:42 AUTHORS
-rw-r--r-- 1 rmcobol rmcobol 15129 6월 16 09:22 COPYING
-rw-r--r-- 1 rmcobol rmcobol 60753 7월 14 03:37 ChangeLog
-rw-r--r-- 1 rmcobol rmcobol 8622 6월 5 00:50 INSTALL
-rw-r--r-- 1 rmcobol rmcobol 2637 6월 27 2004 README
-rw-r--r-- 1 rmcobol rmcobol 4382 7월 14 03:37 ReleaseNotes
-rw-r--r-- 1 rmcobol rmcobol 4733 5월 30 19:07 UPGRADE
drwxr-xr-x 5 rmcobol rmcobol 4096 7월 14 03:45 class/
drwxrwxr-x 2 rmcobol rmcobol 4096 8월 28 14:08 config/
-rwxr-xr-x 1 rmcobol rmcobol 92 12월 27 2001 configure*
drwxr-xr-x 3 rmcobol rmcobol 4096 7월 14 03:45 contrib/
drwxrwxr-x 2 rmcobol rmcobol 4096 7월 14 03:45 data/
drwxr-xr-x 4 rmcobol rmcobol 4096 7월 14 03:45 doc/
drwxr-xr-x 4 rmcobol rmcobol 4096 7월 14 03:45 functions/
drwxr-xr-x 3 rmcobol rmcobol 4096 7월 14 03:45 help/
drwxr-xr-x 2 rmcobol rmcobol 4096 7월 14 03:45 images/
drwxr-xr-x 3 rmcobol rmcobol 4096 7월 14 03:45 include/
-rw-r--r-- 1 rmcobol rmcobol 661 2월 12 2005 index.php
drwxr-xr-x 5 rmcobol rmcobol 4096 8월 28 15:30 locale/
drwxr-xr-x 18 rmcobol rmcobol 4096 7월 14 03:45 plugins/
drwxr-xr-x 2 rmcobol rmcobol 4096 7월 14 03:45 po/
drwxr-xr-x 2 rmcobol rmcobol 4096 7월 14 03:45 src/
drwxr-xr-x 3 rmcobol rmcobol 4096 7월 14 03:45 themes/
[root@ns mail]# ./configure
SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Main Menu --
1. Organization Preferences
2. Server Settings
3. Folder Defaults
4. General Options
5. Themes
6. Address Books
7. Message of the Day (MOTD)
8. Plugins
9. Database
10. Languages
D. Set pre-defined settings for specific IMAP servers
C Turn color off
S Save data
Q Quit

[1]
Organization Preferences
1. Organization Name : 짠돌이넷
2. Organization Logo : ../images/sm_logo.png
3. Org. Logo Width/Height : (308/111)
4. Organization Title : SquirrelMail $version
5. Signout Page :
6. Top Frame : _top
7. Provider link : www.xxxxx.co.kr
8. Provider name : 스펨메일

R Return to Main Menu
C Turn color off
S Save data
Q Quit
[2]
1. Domain : xxxxx.co.kr
2. Invert Time : false
3. Sendmail or SMTP : SMTP

A. Update IMAP Settings : localhost:143 (other)
B. Update SMTP Settings : localhost:25

R Return to Main Menu
C Turn color off
S Save data
Q Quit
[3]
Folder Defaults
1. Default Folder Prefix :
2. Show Folder Prefix Option : false
3. Trash Folder : INBOX.Trash
4. Sent Folder : INBOX.Sent
5. Drafts Folder : INBOX.Drafts
6. By default, move to trash : true
7. By default, move to sent : true
8. By default, save as draft : true
9. List Special Folders First : true
10. Show Special Folders Color : true
11. Auto Expunge : true
12. Default Sub. of INBOX : true
13. Show 'Contain Sub.' Option : false
14. Default Unseen Notify : 2
15. Default Unseen Type : 1
16. Auto Create Special Folders : true
17. Folder Delete Bypasses Trash : false
18. Enable /NoSelect folder fix : false

R Return to Main Menu
C Turn color off
S Save data
Q Quit
[4]
SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
General Options
1. Data Directory : /var/spool/data/ touch로 data생성
2. Attachment Directory : /var/spool/attach/ touch로 attach생성
3. Directory Hash Level : 0
4. Default Left Size : 150
5. Usernames in Lowercase : false
6. Allow use of priority : true
7. Hide SM attributions : false
8. Allow use of receipts : true
9. Allow editing of identity : true
Allow editing of name : true
Remove username from header : false
10. Allow server thread sort : false
11. Allow server-side sorting : false
12. Allow server charset search : true
13. Enable UID support : true
14. PHP session name : SQMSESSID

R Return to Main Menu
C Turn color off
S Save data
Q Quit

[root@ns spool]# ll
합계 32
drwxr-xr-x 8 root root 4096 8월 28 14:30 ./
drwxr-xr-x 16 root root 4096 8월 30 23:17 ../
drwxrwxrwx 2 root root 4096 8월 28 14:30 attach/ 777 생성
drwxrwx--- 2 mail mail 4096 9월 1 00:00 clientmqueue/
drwx------ 2 root root 4096 8월 6 22:02 cron/
drwxrwxrwx 2 root root 4096 8월 31 23:44 data/ 777 생성
drwxrwxr-x 2 root mail 4096 9월 1 00:00 mail/
drwxr-xr-x 8 root mail 4096 4월 4 14:21 mqueue/

아래 data 디렉토리에 생기네요 이부분은 만지지 않으셔도 되요
[root@ns spool]$ cd data/
[root@ns spool]$ ll
합계 16
drwxrwxrwx 2 root root 4096 8월 31 23:44 ./
drwxr-xr-x 8 root root 4096 8월 28 14:30 ../
-rw-r--r-- 1 apache apache 0 8월 31 00:51 xxxxx.abook
-rw------- 1 apache apache 375 8월 31 23:44 xxxxx.pref
-rw-r--r-- 1 apache apache 0 8월 28 14:46 rmcobol.abook
-rw------- 1 apache apache 104 8월 31 23:40 rmcobol.pref

[10]
SquirrelMail Configuration : Read: config.php (1.4.0)
---------------------------------------------------------
Language preferences
1. Default Language : ko_KR <--이건 확장펙설치요
2. Default Charset : EUC_KR
3. Enable lossy encoding : false

R Return to Main Menu
C Turn color off
S Save data
Q Quit
Command >> s 저장
Command >> q 종료
Exiting conf.pl.
You might want to test your configuration by browsing to
http://your-squirrelmail-location/src/configtest.php
Happy SquirrelMailing!

[root@ns mail]# cd locale/
[root@ns locale]# ll
합계 152
drwxr-xr-x 5 rmcobol rmcobol 4096 8월 28 15:30 ./
drwxr-xr-x 16 rmcobol rmcobol 4096 7월 14 03:45 ../
-rw-r--r-- 1 rmcobol rmcobol 15131 1월 4 2005 COPYING.locales
-rw-r--r-- 1 rmcobol rmcobol 6544 7월 13 18:35 ChangeLog.locales
-rw-r--r-- 1 rmcobol rmcobol 2153 7월 1 2004 README.locales
-rw-r--r-- 1 rmcobol rmcobol 2128 7월 13 18:53 ReleaseNotes.locales
drwxr-xr-x 3 rmcobol rmcobol 4096 8월 28 15:24 help/
drwxr-xr-x 2 rmcobol rmcobol 4096 8월 28 15:24 images/
-rw-r--r-- 1 rmcobol rmcobol 473 12월 30 2004 index.php
-rwxr-xr-x 1 rmcobol rmcobol 221 3월 5 2004 install*

drwxrwxrwx 3 rmcobol rmcobol 4096 8월 28 15:24 ko_KR/
<--위 확장펙 아래거 받아서 풀고요 위 언어부분 그대로 적어주세요
-rw-r--r-- 1 rmcobol rmcobol 77047 8월 28 15:23 ko_KR-1.4.5-20050713.tar.gz
이 확장펙을 설치 하는 거여요 위 보시면 표시한거요 압축풀기요
-rw-r--r-- 1 rmcobol rmcobol 7861 3월 30 2002 timezones.cfg
-rw-r--r-- 1 rmcobol rmcobol 43 7월 13 18:35 version


[root@ns conf]# vi httpd.conf

# 한다.
#
Alias /icons/ "/home/httpd/icons/"


Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all


# 앨리어스 mysql
Alias /mysql "/web/home/rmcobol/html/mysql/"


Options Indexes
AllowOverride None
Order allow,deny
Allow from all


Alias /mail "/web/home/rmcobol/html/mail/"


Options Indexes
AllowOverride None
Order allow,deny
Allow from all


계정 : wwww.co.kr/mail
ccccc.com/mail 하시면 다람쥐메일로 가겠지요
확장펙은 찻아보세요 저도 지금 잠이 와서 어딘지 모르겠거든요
2005/12/20 18:04 2005/12/20 18:04
쿼터 설정 입니다
음 안녕 1.2기준입니다
메일은 계정단 5M
홈계정은 200M 이런거 보셨죠
이게 바로 쿼터입니다

[root@ns root]# cat /etc/fstab
/dev/hda1 / ext3 defaults,noatime 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults,noatime 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hdb3 /usr ext3 defaults,noatime 1 2
/dev/hdb5 /usr/local ext3 defaults,noatime 1 2
/dev/hda2 /var ext3 defaults,usrquota 1 2
/dev/hdb2 /var/log ext3 defaults,noatime 1 2
/dev/hdb1 /web ext3 defaults,noatime 1 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
[root@ns root]#

[root@ns root]# vi /etc/fstab
/dev/hda1 / ext3 defaults,noatime 1 1
none /dev/pts devpts gid=5,mode=620 0 0
none /proc proc defaults,noatime 0 0
none /dev/shm tmpfs defaults 0 0
/dev/hdb3 /usr ext3 defaults,noatime 1 2
/dev/hdb5 /usr/local ext3 defaults,noatime 1 2
/dev/hda2 /var ext3 defaults,usrquota 1 2
/dev/hdb2 /var/log ext3 defaults,noatime 1 2
/dev/hdb1 /web ext3 defaults,usrquota 1 2
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,kudzu,ro 0 0
/dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0

[var] /dev/hda2 /var ext3 defaults,usrquota 1 2
[web] /dev/hdb1 /web ext3 defaults,usrquota 1 2
잘보세요 usrquota 철자 주의 틀리면 골때리는 문제 발생한담니다
책보면 그렇게 써서 저도 모르겠는 데 아마 그렇겠죠

[root@ns root]# touch /web/quota.user
[root@ns root]# chmod 600 /web/quota.user
[root@ns root]# reboot


[root@ns web]# quotacheck -a -m

음 처음 설치시 쿼터 데이터 베이스 점검및 갱신이래요
했든 뭐라고 나옵니다
처음 적용시 하시고요

아래는 2번째 부터 쿼터 적용시 점검시 사용하세요
[root@ns web]# quotacheck -a -m -f
quotacheck: WARNING - Quotafile /web/quota.user was probably truncated. Can't save
quota settings...
이건 지금 제가 /var /web를 2개 쿼터 적용해서
2번째 이렇게 하면 될것입니다
모르겠거든요 했든 .....

[root@ns web]# ll
합계 24
drwx-----x 4 root root 4096 9월 1 00:35 ./
drwx--x--x 18 root root 4096 9월 1 00:32 ../
drwx-----x 4 root root 4096 8월 28 13:24 home/
drwx-----x 2 root root 4096 8월 27 20:30 home2/
-rw------- 1 root root 16224 9월 1 00:35 quota.user
[root@ns web]# convertquota /web
이건 2.4.XX커널를 위한 데이터 베이스 생성이래요
아래 보시면 파일 하나생성 되었을 것입니다
[root@ns web]# ll
합계 32
drwx-----x 4 root root 4096 9월 1 00:35 ./
drwx--x--x 18 root root 4096 9월 1 00:32 ../
-rw------- 1 root root 7168 9월 1 00:35 aquota.user
drwx-----x 4 root root 4096 8월 28 13:24 home/
drwx-----x 2 root root 4096 8월 27 20:30 home2/
-rw------- 1 root root 16224 9월 1 00:35 quota.user

[root@ns web]# edquota rmcobol 음 사용자 쿼터 적용입다
Disk quotas for user rmcobol (uid 505):
Filesystem blocks soft hard inodes
soft hard
/dev/hda2 16 20 20 1
0 0
/dev/hdb1 37764 400000 400000 2429
0 0

위 보시면 /hda2 - 이건 메일 쿼터 고요
/hdb1 - 홈 계정 쿼터여요
히히 저는 처음 잘 몰라서 아래로 쭉 사용자를 쓸려구 했는 데
[root@ns web]# edquota <사용자> 이런식으로 사용하시면 돼요 ^^
[root@ns web]# edquota rmcobol 이래하면 위처럼 나오거든요 그럼 용량입력하세요
kbyte 기준이닌까 400000 / 1000 = 400M 가 인가요 1Mbyte 1000 kbyte
블럭이 용량이어요[계정용량 100M~50M]이런거요 저쪽건 볼필요 없구요
[root@ns web]# edquota webmail
Disk quotas for user webmail (uid 506):
Filesystem blocks soft hard inodes
soft hard
/dev/hda2 12 20 20 1
0 0
/dev/hdb1 141452 250000 250000 1128
0 0

[root@ns web]# quotaon /web 쿼터 적용해제 그런거죠
[root@ns web]# quotaoff /web

[root@ns web]# repquota -a
*** Report for user quotas on device /dev/hda2
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 22964 0 0 1013 0 0
mail -- 56 0 0 14 0 0
rpm -- 8528 0 0 14 0 0
pcap -- 264 0 0 15 0 0
apache -- 48 0 0 11 0 0
mysql -- 6028 0 0 189 0 0
named -- 92 0 0 24 0 0
rmcobol -- 16 20 20 1 0 0
webmail -- 12 20 20 1 0 0


*** Report for user quotas on device /dev/hdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 4460 0 0 14 0 0
rmcobol -- 37764 50000 50000 2429 0 0
webmail -- 141452 250000 250000 1128 0 0
#500 -- 13700 0 0 21 0 0
#501 -- 1428 0 0 3 0 0


음 여기서 1k byte 1000 이닌까요 250,000 / 1000 = 250 M
50000 / 1000 = 50 M
이런식으로 주시면 됩니다

[root@ns web]# repquota -a
*** Report for user quotas on device /dev/hda2
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 23020 0 0 1027 0 0
mail -- 56 0 0 14 0 0
rpm -- 8528 0 0 14 0 0
pcap -- 264 0 0 15 0 0
apache -- 48 0 0 11 0 0
mysql -- 6028 0 0 189 0 0
named -- 92 0 0 24 0 0
rmcobol -- 16 20 20 1 0 0
webmail -- 12 20 20 1 0 0


*** Report for user quotas on device /dev/hdb1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 4476 0 0 15 0 0
rmcobol -- 50000 50000 50000 7days 2445 0 0
제가 테스트 했거든요 음 50 이상 자료 업하려니 안되더라구요
이유야 길죠 ^^ soft , hard 이건 아시죠
webmail -- 141452 250000 250000 1128 0 0
#500 -- 13700 0 0 21 0 0
#501 -- 1428 0 0 3 0 0

이로써 메일 쿼터랑 홈계정 쿼터를 배웠습니다
정균님 강좌 참조하세요
http://www.oops.org/?t=lecture&s=quota
2005/12/20 18:03 2005/12/20 18:03