2008.09.21 18:45 Unix

split 명령


이제 앞으로 Floppy는 없어지겠지만 큰 사이즈의 파일을 원하는 사이즈로 나누려면 split 명령을 이용하면 된다.
예를 들어 byte 단위로 나누려면 -b 옵션을 글자수 단위로 나누려면 -c 옵션을 사용하면 된다.
따라서 Floppy에 넣을 수 있는  1400KB 단위로 나누려면 다음과 같이 하면 된다.

# split -b 1400000 FILENAME

이와 같이하면 1400000 byte의 파일이 xaa, xab, ... 등의 이름으로 파일이 생성된다.

다시 원래의 파일로 합치려면

# cat x* > ORIGINAL_FILENAME

참고원문
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP

                       Unix Tip 3150 - September 20, 2008

                   http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

SPLIT FILES FOR FLOPPIES

To split a file up for floppies:

# split -b 1400000

The filenames will be xaa, xbb, etc.
To restore them:

# cat x* > original_filename

Posted by She쥐포s
 TAG Cat, split, UNIX, 유닉스

댓글을 달아 주세요

2008.09.21 17:47 Unix/Shell

null copy

○ null copy
        File의 Size를 0으로 만드는 작업으로 일반적으로 로그파일이 커졌을 때 해당 파일의 사이즈를 초기화하는 목적
        등으로 사용됨.

○ 방법
        1. cat /dev/null > FILENAME
                 /dev/null 파일을 직접 파일에 Redirection한다.
                일반적인 경우 사용됨.
                 예)
                    # cat /dev/null > /var/log/messages

        2. > FILENAME
                직접 Redirection해서 파일에 쓴다.
                Bourne Shell, Korn Shell에서 사용됨
                예)

                    # > /var/log/messages


참고 원문
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP

                       Unix Tip 3151 - September 21, 2008

                   http://www.ugu.com/sui/ugu/show?tip.today

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

NULL IT FAST

Here is the fastest way to truncate a file to zero
bytes in a bourne or korn shell.

$ > /var/log/messages

This is a good method, if the file has to be truncated,
but is opened by another process. For example, if you
want to truncate /var/log/messages, which is held
open by syslogd...

Posted by She쥐포s

댓글을 달아 주세요

※ lynx란?
요즘처럼 Graphical한 Browser가 나오기 전에 사용하던 Text Browser로 배치작업으로 웹페이지의
내용을 가져올때 사용하면 편리하다.

※ 원하는 작업
한 회사의 FTP 서버로 FTP 접속을 초당 수십회 정도 로그인 시도를 한다면 이는 분명 누군가가
해당 사이트에 대해 공격을 하는 것으로 볼 수 있으며, 해당 아이피가 어디에 속해 있는지 알고 싶다.

- FTP Log에서 Login 시도 IP를 걸러내는 작업은 각자에게 맡기고..

- IP가 포함된 파일이 hack.txt라면

################## 시작 ##################
for a in `cat hack.txt`
do
echo "IP Address : $a"
# 다음 두줄로 보이는 내용은 한줄에 입력해야 한다.
echo "whoistype=I&domain=$a&x=33&y=8" | lynx -post_data -source http://WHOIS서버주소/검색URL |
         egrep "(기관명|Org Name)"|grep ":"
# 위의 두줄로 보이는 내용은 한줄에 입력해야 한다.
echo "=="
sleep 10
done
################## 끝 ##################

한줄로 입력해야 한다는 줄의 "whoistype~y=8" 부분은 Proxy Tool을 이용하여 POST로 넘겨주는 데이터의
일반형을 구해야 한다.

※ 내용이 약간 설렁 설렁 한 것 같은데... 사용법을 잘 연구해 보시길...
※ 중요한 것은 echo "POST DATA" | lynx -post_data -source... 이 부분이다.

Posted by She쥐포s

댓글을 달아 주세요

○ 아스키 파일 암호화 하기

아스키 파일은 쉽게 암호화및 복호화될 수 있다.

암호화하기 위해서는 간단히 파일의 표준출력을 파이프를 이용해 "crypt" 명령의 입력으로 넘겨주고
새 파일명으로 redirect 시키면 된다. "Enter key:" 라는 프롬프트가 나오면 패스워드를 입력한다.

$ cat foo | crypt > foo.e
Enter key:

복호화하기 위해서는 간단히 암호화된 파일의 표준출력을 파이프를 이용해 "crypt" 명령의 입력으로
넘겨주고 새 파일명으로 redirect 시키면 된다. "Enter key:"라는 프롬프트가 나오면 패스워드를 입력한다.

$ cat foo.e | crypt > foo.new
Enter key:

=========== 원문 ===========
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
                             UNIX GURU UNIVERSE
                                UNIX HOT TIP

                       Unix Tip 3144 - September 14, 2008

                   http://www.ugu.com/sui/ugu/show?tip.today
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

CRYPT AN ASCII FILE

An ascii file can be easily encrypted and
decrypted.

To encrypt simply pipe the STDOUT of
the file to "crypt" and redirect it to
a new file name. Enter a passowrd when
prompted with "Enter key".

$ cat foo | crypt > foo.e
Enter key:

To unencrypt simply pipe the STDOUT of
the encrypted file to "crpyt" and
redirect it to a new file name. Enter
a passowrd when prompted with
"Enter key".

$ cat foo.e | crypt > foo.new
Enter key:

Posted by She쥐포s

댓글을 달아 주세요

GNU date 옵션중에 말로 지정해서 날짜를 지정하는 것을 아는 사람은 알겠지만..
모르는 사람을 위해서 설명한다.

# date --date='3 day ago' +%Y%m%d

이 명령은 3일 전 날짜를 20080831의 형태로 출력하는 명령이다.

# date --date='3 day' +%Y%m%d

이 명령은 3일 후 날짜를 20080905의 형태로 출력하는 명령이다.
Posted by She쥐포s

댓글을 달아 주세요

오늘 모 회사의 Secondary DNS 작업을 지원을 해주면서 알게된 내용에 대해 적으려 함.

문제는
1. Apr 16 00:34:38 ns2 named[4586]: client SERVER_IP#XXXX: received notify
   for zone 'DOMAINNAME'
   Apr 16 00:34:38 ns2 named[4586]: zone ZONEFILENAME/IN: refused notify from non-master: SERVER_IP#XXXX

; bind가 시작될 때 자기가 갖고 있는 zone이 최신 버전인지 확인하기 위해, 데몬에게 "notify" 메시지를 보낸다.
  그러나 권한이 없기 때문에(there is no authorization) 데몬은 자신의 요청을 거부하게 된다.

  이 경우 options부분에 allow-notify를 세팅하여 해결하였다.

options {
        ......
//   allow-transfer { SERVER_IP; };
      allow-notify { SERVER_IP; };
        ......
}

  이제 named 를 재시작하고 나면 다음과 같이 나올 것이다.

Apr 16 00:43:13 ns2 named[4973]: zone ZONEFILENAME/IN: sending notifies (serial 2004110621)
Apr 16 00:43:13 ns2 named[4973]: client SERVER_IP#XXXX: received notify for zone 'DOMAINNAME'
Apr 16 00:43:13 ns2 named[4973]: zone ZONEFILENAME/IN: notify from SERVER_IP#XXXX: zone is up to date

  위의 내용은 다음의 사이트에서 힌트를 얻었다.
 
  http://benjamin.sonntag.fr/a37-named_zone_sonntag_eu_org_refused_notify_from_non-master.html

  모 회사의 Secondary Server의 named.conf에는 allow-transfer가 자신에게 지정되어 있었다.
  그래서 자신에게 걸려있는 allow-transfer 부분은 주석처리를 하였다.

2. zone domain.com/IN: refresh: could not set file modification time of
   '/var/named/slaves/domain.com.hosts': permission denied

; 모 회사의 경우 Cache Poisoning에 대비해 최신 버전의 Bind로 업그레이드한 상태이며
  리눅스를 사용중이었으며, chroot를 적용한 패키지를 설치하였다. Secondary로 설정하여
  named 데몬을 재시작하였을 때 위와 같은 메시지가 발생했다.
  /var/named/chroot/var/named/ 아래에 존재하는 파일들의 퍼미션을 살펴보니
  소유자는 root, 그룹은 named로 되어 있었다. 즉 다음 그림과 같이 되어 있었다.

사용자 삽입 이미지

   zone 파일이 전송되어서 생성된 파일인지 여부는 알 수 없었으나
   기존의 파일들을 임의의 디렉토리로 옮기고 named를 재시작 후에 정상화 되었다.

사용자 삽입 이미지


Posted by She쥐포s

댓글을 달아 주세요

2008.07.23 19:10 Unix/Linux

mkisofs 사용법

VMWare를 사용하다가.. 디스크를 공유할 길이 없어 iso 이미지를 만들어야만 했다... ㅡ.ㅡ

Nero를 이용해 만들어보려 했더니.. 게을러서 그런 것인지 메뉴를 못 찾겠고..
이응도 어디서 하는 것인지 알수 없어

가장 고전적인 방법인 mkisofs를 사용하기로 했다.. ㅡ.ㅡ

프롬프트> mkisofs.exe -o "이미지명.iso" -J -V VOLUME_NAME "타겟디렉토리명"
예) mkisofs.exe -o SP.iso -J -V SP_CD H:\SP

이렇게 하면 mkisofs를 실행한 디렉토리에 "이미지명.iso"가 생긴다.

mkisofs는 원래 리눅스의 cdrecord와 패키지를 이루는 유틸리티인데
감사하게도 윈도우에서도 사용할 수 있도록 포팅을 해놓았다..

-J : Joliet Filesystem 지원, 64자까지 인식

Posted by She쥐포s

댓글을 달아 주세요

○ ssh root 접속제한

# vi /etc/ssh/sshd_config

       # PermitRootLogin yes
       라고 되어있는 부분의 주석을 해제하고 yes를 no로 고친다
       PermitRootLogin no

# /etc/rc.d/init.d/sshd restart

○ su 명령어 제한

# vi /etc/pam.d/su 에 6번라인

        # auth required /lib/security/$ISA/pam_wheel.so use_uid
        주석 제거
        auth required /lib/security/$ISA/pam_wheel.so use_uid

# usermod -G wheel [user]
        -> wheel 그룹에 속한 사용자는 su 사용불가

○ sudo 명령어 사용

# visudo

        맨 마지막 행에
        [user] (TAB) ALL=(ALL) (TAB) ALL
        추가

참고 : http://blog.naver.com/ssalleng21?Redirect=Log&logNo=130030195364

Posted by She쥐포s

댓글을 달아 주세요

o 단순히 빈라인(※ 스페이스나 탭을 사용하지 않은 순수한 빈라인)의 수를 알아내기 위해서는
   다음의 명령을 사용하면 된다.

cat FILENAME | awk '/^$/ { ++x } END { print "No. of Blank line = " x }'
Posted by She쥐포s
 TAG awk, UNIX, 명령어,

댓글을 달아 주세요

2008.05.05 17:37 Unix

vi로 파일 역순출력

o 일반적인 Linux System 또는 tac가 깔려있는 경우라면 손쉽게 파일내용을 역순으로 출력할 수 있다.

그러나 tac가 없는 경우 vi를 이용하여 파일의 내용을 거꾸로 바꾸는 방법을 소개한다.

vi에서 다음을 입력한다.

:g/.*/m0


Posted by She쥐포s

댓글을 달아 주세요

이전버튼 1 2 3 4 5 6 7 ··· 16 이전버튼

블로그 이미지
She쥐포s
Yesterday37
Today10
Total247,048

달력

 « |  » 2019.11
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

최근에 달린 댓글

글 보관함