Search Results for 'inode'

1 POSTS

  1. 2008.12.24 Solaris 에서 삭제를 할수 없는 파일이 있을때 해결 방법

Solaris 혹은 Linux 에서 파일이 지워지지 않을때 정말 당황스럽습니다.

제가 조금 알아봐 본 방법을 적어 놓도록 하겠습니다.

일단 밑을 보시면 맨밑에 q 라는 파일은 있습니다.

# ls -al
총 42
drwxr-xr-x  20 root     other        512 12월 24일  14:30 .
drwxr-xr-x  40 root     sys         1024 2008년  5월 21일 ..
drwxr-xr-x   7 root     bin          512 2008년  5월 21일 BerkeleyDB.4.2
drwxr-xr-x  13 root     other        512 2008년  5월 21일 apache
drwxr-xr-x  12 root     other        512 2008년  5월 21일 apache.org
drwxr-xr-x   2 root     bin         2048 12월 23일  09:34 bin
drwxr-xr-x  17 root     bin          512 12월 23일  09:34 doc
drwxr-xr-x   2 root     bin          512 12월 23일  09:34 etc
drwxr-xr-x   5 root     other        512 2008년  5월 21일 gd
drwxr-xr-x  10 root     bin         1024 12월 23일  09:34 include
drwxr-xr-x   2 root     bin          512 2008년  5월 21일 info
drwxr-xr-x   8 root     bin         3072 2008년  5월 21일 lib
drwxr-xr-x   4 root     bin          512 2008년  5월 21일 libexec
drwxr-xr-x   7 root     bin          512 12월 23일  09:34 man
drwxr-xr-x  12 mysql    other        512 2008년  5월 21일 mysql
drwxr-xr-x   3 root     other        512 2008년  5월 21일 php
drwxr-xr-x   2 root     bin          512 12월 23일  09:34 sbin
drwxr-xr-x  11 root     bin          512 2008년  5월 21일 share
drwxr-xr-x   9 root     bin          512 2008년  5월 21일 ssl
drwxr-xr-x   3 root     bin          512 12월 23일  10:11 var
-rw-r--r--   1 root     other       7342 12월 24일  13:43q

이 파일을 삭제 할려고 명령어를 해봤으나 파일, 디렉토리를 찾을 수 없다고 하면서 삭제 자체가 되지 않았습니다.

이때 inodefind 를 이용하여 삭제를 해보도록 하겠습니다.

# ls -lsia
총 58
     81762    2 drwxr-xr-x  20 root     other        512 12월 24일  13:43 .
         2    2 drwxr-xr-x  40 root     sys         1024 2008년  5월 21일 ..
    118423    2 drwxr-xr-x   7 root     bin          512 2008년  5월 21일 BerkeleyDB.4.2
    138503    2 drwxr-xr-x  13 root     other        512 2008년  5월 21일 apache
    137868    2 drwxr-xr-x  12 root     other        512 2008년  5월 21일 apache.org
     83214    4 drwxr-xr-x   2 root     bin         2048 12월 23일  09:34 bin
     96251    2 drwxr-xr-x  17 root     bin          512 12월 23일  09:34 doc
    150275    2 drwxr-xr-x   2 root     bin          512 12월 23일  09:34 etc
    150077    2 drwxr-xr-x   5 root     other        512 2008년  5월 21일 gd
     96280    2 drwxr-xr-x  10 root     bin         1024 12월 23일  09:34 include
    111766    2 drwxr-xr-x   2 root     bin          512 2008년  5월 21일 info
    111773    6 drwxr-xr-x   8 root     bin         3072 2008년  5월 21일 lib
    111882    2 drwxr-xr-x   4 root     bin          512 2008년  5월 21일 libexec
    111894    2 drwxr-xr-x   7 root     bin          512 12월 23일  09:34 man
    133553    2 drwxr-xr-x  12 mysql    other        512 2008년  5월 21일 mysql
    137869    2 drwxr-xr-x   3 root     other        512 2008년  5월 21일 php
    150337    2 drwxr-xr-x   2 root     bin          512 12월 23일  09:34 sbin
    111905    2 drwxr-xr-x  11 root     bin          512 2008년  5월 21일 share
    126905    2 drwxr-xr-x   9 root     bin          512 2008년  5월 21일 ssl
    155488    2 drwxr-xr-x   3 root     bin          512 12월 23일  10:11 var
     83314   16 -rw-r--r--   1 root     other       7342 12월 24일  13:43q

여기서 삭제할 파일의 inode 가 83314 인걸 알 수 있습니다.

이젠 find 명령어를 이용하여 삭제하겠습니다.

# find . -inum 83314 -exec rm {} \;   or     # find . -inum 83314 -exec rm -rf {} \;


밑의 명령어의 경우는 혹시 이런 파일들이 크래커의 해킹에 이용하는 파일이 될 가능성이 있기 때문에 일단 파일을 볼 수 있도록 정상파일로 수정하는 방법 입니다.

# find . -inum 83314 -exec mv {} filename \; 


이제 파일이 제대로 삭제 되었는지 확인을 하겠습니다.

# ls -al
총 42
drwxr-xr-x  20 root     other        512 12월 24일  14:30 .
drwxr-xr-x  40 root     sys         1024 2008년  5월 21일 ..
drwxr-xr-x   7 root     bin          512 2008년  5월 21일 BerkeleyDB.4.2
drwxr-xr-x  13 root     other        512 2008년  5월 21일 apache
drwxr-xr-x  12 root     other        512 2008년  5월 21일 apache.org
drwxr-xr-x   2 root     bin         2048 12월 23일  09:34 bin
drwxr-xr-x  17 root     bin          512 12월 23일  09:34 doc
drwxr-xr-x   2 root     bin          512 12월 23일  09:34 etc
drwxr-xr-x   5 root     other        512 2008년  5월 21일 gd
drwxr-xr-x  10 root     bin         1024 12월 23일  09:34 include
drwxr-xr-x   2 root     bin          512 2008년  5월 21일 info
drwxr-xr-x   8 root     bin         3072 2008년  5월 21일 lib
drwxr-xr-x   4 root     bin          512 2008년  5월 21일 libexec
drwxr-xr-x   7 root     bin          512 12월 23일  09:34 man
drwxr-xr-x  12 mysql    other        512 2008년  5월 21일 mysql
drwxr-xr-x   3 root     other        512 2008년  5월 21일 php
drwxr-xr-x   2 root     bin          512 12월 23일  09:34 sbin
drwxr-xr-x  11 root     bin          512 2008년  5월 21일 share
drwxr-xr-x   9 root     bin          512 2008년  5월 21일 ssl
drwxr-xr-x   3 root     bin          512 12월 23일  10:11 var

맨밑에 있는 q 파일이 삭제된것을 알 수 있습니다.

위에서 언급하였듯이 이런 파일이 약간의 부주의(vi 사용시 많이 생김)로 인해 생기지 않고 갑자기 생겼을 경우 크래커(해킹)에 의심을 해야 하니 조심 하시길 바랍니다.