![]() ...¸®´ª½º¸¦ Á» ´õ Àç¹ÌÀÖ°Ô! |
By C.E.C. Artime and J.A. Baro Çѱ۹ø¿ª ÀüÁ¤È£ÀÌ ±ÛÀº Çѱ۹ø¿ªÆÇÀÔ´Ï´Ù. ¿ø¹®Àº ¿©±â¿¡¼ º¼ ¼ö ÀÖ½À´Ï´Ù. |
¿ì¸®´Â ext2 ÆÄÀϽýºÅÛ¿¡¼ ºÎÁÖÀÇÇÏ°Ô Áö¿öÁø ÆÄÀÏÀ» »ì¸° ½Ãµµ¸¦ Àû¾ú´Ù. ÀÌ·± ÀÏÀº ¸Å¿ì ²ûÂïÇϱ⶧¹®¿¡ ¿©·¯ºÐÀº °°Àº ½Ç¼ö¸¦ ÇÏÁö¸»±æ ´çºÎÇÑ´Ù. ¿ì¸®°¡ À§±âµ¿¾È ¹è¿î °ÍµéÀ» º¸¿©ÁÖ±âÀ§ÇØ ¿ì¸®´Â »óȲ Àüü¸¦ À̾߱âÇÏ·Á ÇÑ´Ù.
Fish¿Í BellÀ̶ó´Â µÎ ÄÄÇ»ÅÍ. Fish´Â Sun E250À̰í, BellÀº ÆæÆ¼¾ö3 (450 MHz)ÀÌ´Ù. µÑ ¸ðµÎ °°Àº ÀÌ´õ³Ý ³×Æ®¿÷ ¾È¿¡ ÀÖ´Ù.
BellÀº 2.2r7¿¡¼ ¹®Á¦¾øÀÌ ¾÷±×·¹À̵åÇÑ Debian GNU/Linux 3.0r0À» ½ÇÇàÇÑ´Ù. Ä¿³ÎÀº Linux 2.4.18 ÀÌ´Ù.
Fishµµ Sparc64¿ë Debian 3.0r0 À» ½ÇÇàÇÑ´Ù. ÃÖ±Ù 2.2r7¿¡¼
¾÷±×·¹À̵åÇÏ°í º¸´Ï (root
°¡ ¾Æ´Ñ) ÀÏ¹Ý »ç¿ëÀÚ°¡
XFree¸¦ »ç¿ëÇÒ ¼ö ¾ø´Â ¹®Á¦°¡ ¹ß»ýÇß´Ù. Ä¿³ÎÀº Linux 2.4.18-SMP
ÀÌ´Ù.
¸ðµç ÆÄÀϽýºÅÛÀº ext2
ÀÌ´Ù.
FishÀÇ Xfree¸¦ root
´Â »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ ÀÏ¹Ý »ç¿ëÀÚ´Â
»ç¿ëÇÒ ¼ö ¾ø¾ú´Ù.
ÁüÀÛ: ±ÇÇÑÀ̳ª »ç¿ëÀÚ ¼³Á¤ÆÄÀÏ¿¡ ¹®Á¦°¡
ÀÖ´Ù.
ÇØ°áÃ¥: »õ·Î¿î »ç¿ëÀÚ¸¦ Ãß°¡ÇÏ¿© Ȩµð·ºÅ丮·Î
root
ÀÇ (¸¶Ä§Ç¥·Î ½ÃÀÛÇÏ´Â) ¼³Á¤ÆÄÀÏÀ» º¹»çÇÑ´Ù:
root@fish# adduser judas Enter new UNIX password: Retype new UNIX password: root@fish# cp --recursive /root/.[a-zA-Z]* /home/judas root@fish# chown --recursive judas:judas /home/judas/.*
[cp
¿Í chown
ÀÇ Á¤±ÔÇ¥Çö½Ä ¾Æ±Ô¸ÕÆ®
»çÀÌÀÇ Â÷À̸¦ ¹ß°ßÇߴ°¡?]
¸¹Àº ½Ãµµ¿Í ½Ç¼ö ³¡¿¡ X ¹®Á¦¸¦ ÇØ°áÇß´Ù. ÀÌÁ¦ »ç¿ëÀÚ¸¦ Á¦°ÅÇÑ´Ù.
°úÁ¤À» Á¶±Ý ºü¸£°Ô ÇÏ·Á°í ½ÃµµÇÏ´Ù°¡ manpage¿¡¼ ¸Å·ÂÀûÀÎ
¿É¼ÇÀ» ¹ß°ßÇß´Ù:
root@fish# deluser --remove-all-files judas
Â÷Â÷Â÷! Àç³ÀÌ ½ÃÀÛÇß´Ù! ºÒÇàÈ÷µµ ÀÌ ¿É¼ÇÀº deluser
°¡
µð½ºÅ© Àüü¿¡¼ judas
°¡ ¼ÒÀ¯ÇÑ ÆÄÀÏÀ» ¸ðµÎ Áö¿ì°Ô
¸¸µé¾ú´Ù!
/home
ÀÌ ´Ù »ç¶óÁ³´Ù.
À̺ÐÀÌ Áö³ÈÄ ¿ì¸®´Â
ÇØ´ç ÀåÄ¡¸¦ (/dev/sda8
) ¾ð¸¶¿îÆ®(umount)Çß´Ù.
¸ÕÀú ºÒ¿îÇÑ ÀåÄ¡¿¡ ±â·ÏµÈ ¹ÙÀÌÆ®¸¦ ±×´ë·Î º¹»çÇÏ·Á°í Çß´Ù.
Fish¿¡ °ø°£ÀÌ ¾ø¾î¼, BellÀÇ Çϵåµð½ºÅ©¿¡ º¹»çÇß´Ù:
root@fish# ftp bell ftp> put '|dd if=/dev/sda8' fishbackup
»ç½Ç ÀÌ °úÁ¤Àº ³×Æ®¿÷¿¡ ¹®Á¦°¡ ÀÖ¾î¼ ÀÌ·¸°Ô ½±Áö ¾Ê¾Ò´Ù:
Å« ÆÄÀÏÀ» Àü¼ÛÇϸé ÇÑÂüÀÖ´Ù ²÷¾îÁ³´Ù. ÆÄÀÏÀ» ³ª´²¾ß Çß´Ù.
ÆÄƼ¼Ç /dev/sda8
ÀÇ Å©±â´Â 10142 MiBÀÌ´Ù.
GNU shellutils
ÀÇ factor
µµ±¸¸¦ »ç¿ëÇß´Ù:
root@fish# factor 10142 10142: 2 11 461
±×·¡¼ ÇÑ Á¶°¢¿¡ ÀûÇÕÇÑ Å©±â¸¦ ¾Ë ¼ö ÀÖ´Ù.
´ÙÀ½À¸·Î ¿ì¸®´Â FTP´ë½Å OpenSSLÀ» »ç¿ëÇß´Ù.
¹èÄ¡(batch)¸ðµå·Î »ç¿ëÇϱâÀ§ÇØ ¸ÕÀú ¾ÏÈ£¸¦ ±³È¯Çß´Ù:
root@fish# ssh-keygen artime@bell$ ssh-keygen root@fish# scp /root/.ssh/identity.pub artime@bell:/home/artime/.ssh/authorized.keys root@fish# scp artime@bell:~/.ssh/identity.pub ~/.ssh/authorized.keys
´ÙÀ½ ½ºÅ©¸³Æ®¸¦ Fish¿¡¼ ½ÇÇàÇß´Ù:
#!/bin/sh for i in $(seq 0 460) do dd if=/dev/sda8 bs=$((2*11*1024)) skip=$i of=fula scp --batch fula artime@bell:~/fiback.$i done
Bell¿¡¼ Á¶°¢µéÀ» ºÙ¿´´Ù:
for i in $(seq 0 460) do cat fiback.$i >> fiback.raw done
ÀÌ °úÁ¤À» Fish¿¡¼ ´ÙÀ½°ú °°ÀÌ Çѹø¿¡ ÇÒ ¼öµµ ÀÖ´Ù:
#!/bin/sh for i in $(seq 0 460) do dd if=/dev/sda8 bs=$((2*11*1024)) skip=$i | ssh artime@bell "cat >> fiback.raw" done
¿ì¸®´Â Aaron CraneÀÌ ¾´ Linux Ext2fs undeletion mini-HOWTO¿Í Tomas EricssonÀÌ ¾´ Ext2fs undeletion of directory structures mini-HOWTO, Tom Pycke°¡ ¸¸µç recover ÇÁ·Î±×·¥°ú debugfs¸¦ i386¿¡¼ »ç¿ëÇϱâÀ§ÇÑ Torsten WernerÀÇ ÆÐÄ¡¿¡ ¸Å´Þ·È´Ù.
Recover
´Â ÆÄÀÏÀ» Çϳª¾¿ »ì·Á³»´Â µµ±¸´Ù. ¿ì¸®´Â
ÆÄÀÏÀ» °©Àڱ⠼ö¹é°³ ÀÒ¾î¹ö·È´Ù. ±×·¡¼ ÀÌ µµ±¸´Â ÁÁÀº ¼±ÅÃÀÌ
¾Æ´Ñ °Í°°´Ù. °¡Àå Á÷Á¢ÀûÀÎ ¹æ¹ýÀº WernerÀÇ debugfs
ÆÐÄ¡¸¦ »ç¿ëÇÏ´Â °ÍÀÌ´Ù. ¿ì¸®´Â ¼Õ»óµÈ ÆÄÀϽýºÅÛÀÇ º¹»çº»À»
ÀÌ¹Ì i386¿¡ ÀúÀåÇß´Ù. ±×·¡¼ ¿ì¸®´Â twerner.debian.org
¿¡
ÀÖ´Â ½ÇÇàÆÄÀÏÀ» »ç¿ëÇÒ ¼ö ÀÖ´Ù:
artime@bell$ ./debugfs fishback.raw debugfs> restore debugfs> quit artime@bell$ mkdir mnt artime@bell$ mount -t ext2 -o loop fishback.raw mnt artime@bell$ ls -l mnt
¿ì¸®´Â ÀÌ·¸°Ô ÆÄÀÏÀ» Çϳªµµ ãÁö¸øÇß´Ù! ¾Æ¸¶µµ Á» ´Ê°Ô
/dev/sda8
À» ¾ð¸¶¿îÆ®ÇÑ °Í°°´Ù. T. Werner°¡
ȨÆäÀÌÁö¿¡ ÁöÀûÇϵíÀÌ ±×°¡ ¸¸µç µµ±¸´Â ¾ÆÁ÷ À̸§ÀÌ ÀÖ´Â
ÆÄÀϸ¸À» »ì¸± ¼ö ÀÖ´Ù.
The Linux Documentation
Project¿¡¼ ¿ì¸®°¡ ãÀº ÀÌ ¹®¼´Â ÀÒ¾î¹ö¸° ÆÄÀÏÀÇ inode¸¦
ã°í debugfs
ÀÇ dump
¸í·ÉÀ» »ç¿ëÇÏ¿©
ÆÄÀÏÀ» »ì¸®´Â ¹æ¹ýÀ» ¾Ë·ÁÁÖ¾ú´Ù. ±×·¡¼ °°Àº µð·ºÅ丮ÀÇ ¸¹Àº
ÆÄÀÏÀ» »ì¸± ¼ö ÀÖ¾ú´Ù. ±×·¯³ª À̵éÀº Áö¿öÁø Àüü ÆÄÀϵéÀÇ ÀÛÀº
ÀϺο¡ ºÒ°úÇÏ´Ù. ÀÌ¹Ì ¸»ÇßµíÀÌ ÀÌ HOWTOÀÇ ÆÄÀÏÀ» Çϳª¾¿ »ì¸®´Â
¹æ¹ýÀº ¿ì¸®¿¡°Ô ÀûÇÕÇÏÁö¾Ê´Ù.
¿©±â¼ ¿ì¸®´Â µð·ºÅ丮¾È¿¡¼ Áö¿öÁø ÆÄÀϵéÀ» ±¸º°ÇÏ´Â ¹æ¹ýÀ»
¾Ë¾Ò´Ù. ¿ì¸®´Â Áö½Ã¸¦ µû¶ú´Ù.
7Àý¿¡ ÀÖ´Â ½ºÅ©¸³Æ®¸¦
¿ì¸®ÀÇ debugfs
¿¡ ¸Âµµ·Ï Á¶±Ý ¼öÁ¤Çß´Ù
#!/bin/sh awk '{ print "mi <" $1 ">\n"\ "\n\n\n\n\n\n\n"\ "0\n"\ "1\n"\ "\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }'
¾î·µç ¿ì¸®´Â µð·ºÅ丮¸íÀ» ãÁö¸øÇؼ 8Àý·Î ³Ñ¾î°¡Áö ¸øÇß´Ù. ±×·¡¼ ´Ù¸¥ ¹æ¹ýÀ» ã¾Æ¾ß Çß´Ù.
¸¶Áö¸· ½Ãµµ´Â
$ man debugfs
¿©±â¼ ¿ì¸®´Â howto¿¡ ¾ð±ÞµÇÁö¾ÊÀº rdump
¸í·É¾î¸¦
ã¾Ò´Ù. Ext2fs Undeletion of Directory Structures mini-HOWTO
6Àý¿¡¼ ¾òÀº lsdel.out
¿¡ ±â·ÏµÈ µð·ºÅ丮 inode·Î
´ÙÀ½ ½ºÅ©¸³Æ®¸¦ ½ÇÇàÇß´Ù:
#!/bin/sh awk '{ print "rdump <" $1 "> folders\n" }'
´ëºÎºÐÀÇ µð·ºÅ丮°¡ folders
µð·ºÅ丮¿¡ º¹±¸µÇ¾ú´Ù.
±×·¯³ª À̸§ÀÌ ¾ø´Ù! ±×·¡¼ ¸¶Áö¸·À¸·Î ¿ì¸®´Â ³»¿ëÀ» º¸°í µð·ºÅ丮
200°³¿¡ »ç¿ëÀÚÀ̸§À» ºÙ¿´´Ù. ±×·¡µµ ¸î¸î ÆÄÀÏÀ», ƯÈ÷ À̸ÞÀÏ
ÆÄÀÏÀ» »ì¸®Áö ¸øÇß´Ù. Á÷Á¢ ã¾Æº¸±â·Î Çß´Ù:
$ strings fishback.raw | grep -B1 -A99 "To: lisistrata" > lisistrata.mbox
¿ì¸®°¡ ´õ ´Ù·ç°í ½ÍÀº °Íµé.
root
·Î óÀ½ºÎÅÍ Ã³À½º¸´Â ¿É¼ÇÀ» Àý´ë·Î
»ç¿ëÇÏÁö¸¶¶ó.
mt
¿Í
tar
´Â ¹é¾÷¿¡ À¯¿ëÇÑ µµ±¸´Ù. Aaron CraneÀÌ ¾´
howto¿¡´Â ÀÌ¿Í °ü·ÃÇÑ Èï¹Ì·Î¿î ¸µÅ©µéÀÌ ÀÖ´Ù.
½© ¸í·É¾î¿¡¼ Á¤±ÔÇ¥Çö½ÄÀ» »ç¿ëÇϸé, ƯÈ÷ ¸¶Ä§Ç¥·Î ½ÃÀÛÇÏ´Â
¼³Á¤ÆÄÀϵéÀ» ´Ù·ê¶§ ¸Å¿ì À§ÇèÇÏ´Ù. ¾Æ¸¶µµ root
´Â
("È®Àå"ÀÌ ¾Æ´Ñ) Á¦ÇÑµÈ Á¤±ÔÇ¥Çö½ÄÀ» Áö¿øÇÏ´Â ½©À» »ç¿ëÇØ¾ß ÇÒ
°ÍÀÌ´Ù. ¿ì¸®´Â eshÀ»
°í·ÁÇϰí ÀÖ´Ù.
ÀÌ ±ÛÀº ´ëºÎºÐ (Ǫ¿¡¸£Å丮ÄÚ) Gran Canaria ÇØº¯¿¡¼, Á» À¯º°³ ÀÚÀ¯¼ÒÇÁÆ®¿þ¾î PDAÀÎ Agenda VR3À» °¡Áö°í ½è´Ù.
C.E.C. ArtimeÀº 2000³âºÎÅÍ GNU ÆÒÀÌµÈ ÀÚÀ¯¼ÒÇÁÆ®¿þ¾î ¿ËÈ£ÀÚ´Ù.
J.A. BaroÀº 1996³âºÎÅÍ ¸®´ª½º¸¦ »ç¿ëÇÑ Perl ÇØÄ¿´Ù.