ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 리눅스 실무기술 300 정리
    시스템 2020. 12. 24. 15:00
    반응형

    * useradd rsyoung    /etc/login.defs, /etc/default/useradd 파일을 참조하여
            /etc/passwd 파일에 등록. ID/ UID/ GID, home 디렉토리, 쉘 정의
            /etc/shadow 파일에 password 정보등록

        /home/rsyoung 생성
        /etc/skel/ 모든 파일 (히든파일포함)을 /home/rsyoung 에 복사함
        /var/spool/mail/rsyoung 메일박스를 생성함

    * passwd에 대한 간략한 정보

        passwd -s <userid>

    * userdel

        userdel <userid>
            /etc/passwd
            /etc/shadow
            /etc/group
            파일에서 해당 id 제거

        userdel -r <userid>
            /home/<userid>
            /var/spool/mail/<userid>
            파일까지 제거

        userdel -f <userid>
            심지어 로그인중이라도 삭제 ㅠ.ㅠ (잔인한놈 ㅋㅋㅋ)

    * w

        현재 시스템에 접속한 정보 확인

    * last, last reboot

        시스템의 부팅정보

    * who -d

        죽어있는 프로세스 정보 확인

    * chsh -l

        /etc/shells의 내용을 보여줌
            : chsh은 기본쉘을 변경하는 것임. 기본쉘은 로그인쉘을 의미하며 
              /etc/passwd의 값이 변경됨
        현재쉘을 변경하는 명령은
            /bin/sh
            /bin/csh
            /bin/bash

    * logname

        서버에 접속할 당시의 이름. rsyoung --> root --> mybrain으로 사용자를 변경해도
        logname은 rsyoung임

    * users

        서버에 접속해있는 사용자들의 계정만을 확인하는 명령. 
        참조하는 파일
            /var/run/utmp   
            /var/log/wtmp

    * chage

        aging 정보 변경하기. aging 정보는 /etc/passwd 파일에 저장됨    

    * ls -a

        . 시작하는 파일 리스트 (not hidden file only)

    * ls -A

        ., .. 제외

    * ls -F

        파일종류 표시
            regular file: none
            execution file: *
            directory: /
            symbolic link: @
            FIFO file: |
            socket file: =

    * ls -n

        UID/ GID 표시

    * ls -1

        file명만 리스트

    * ls -alRSh | more

        recursively 디렉토리까지 파일 크기별로 (K,M,G) 단위 표시

    * 홈 디렉토리의 위치는  /etc/passwd 파일에 지정되어있고 로그인하면 쉘환경변수 HOME에 저장함

     

    * cat -b <text file>

        행번호를 붙혀서 출력, 빈행은 번호를 붙히지 않음

    * cat -n <text file>

        빈행도 번호를 부여함

    * cp -rp <dir1> <dir2>

        원본파일의 소유자, 그룹소유자, 권한, 시간정보등을 보존하면서 복사하기

    * mv -u

        이동하려는 파일이 더 최근것일경우만 이동시킴

    * rename test test0 test?

        test? 파일에 대해서 test로 시작하는 prefix를 test0로 변경
        test1 --> test01

    * rename .htm .html *.htm

        *.htm 파일에 대해서 .htm --> .html로 변경

    * more 명령

       - b : 한페이지씩 앞으로 이동
       - = : 현재 위치의 행번호 표시하기
       - /문자열 : 지정한 문자열을 검색하기
       - n : /문자열로 검색한 문자열을 차례대로 계속해서 찾기
       - !쉘명령어: more 명령어 상태에서 쉘명어를 실행하기
       - v : more 명령어로 열려있는 파일의 현재위치에서 vi를 실행하기

    * head 명령어로 바이트단위로지정하여 확인

       head -c 200 website

    *less 명령

      - space bar or f : 현재페이지에서 한페이지 뒤로 이동
      - b : 현재페이지에서 한페이지 앞으로 이동
      - Enter : 한행씩 차례대로 뒤로 이동
      - 숫자 + n: 원하는페이지 만큼 뒤로 이동 (이후부턴 n만 클릭)
      - q : 종료

    *로그파일 실시간 모니터링

      - $ tail -f /var/log/messages
      - $ tail -f /var/log/secure
      - $ tail -f /va/log/maillog

    * 파일 내용을 행단위로 거꾸로 출력하기

      - $ rev <file name>

    * 탭을 공백문자로 변경

      - $ cat <file name> | expand -t <# of space>
      - Tab이 # of space만큼 공백으로 변경됨

    * 지정한 파일의 시간정보를 특정파일의 날찌시간과 동일하게 변경

      - tourch -r <original file> <target file>
      - <target file>이 <original file>과 동일한 시간으로 변경됨

    * 특정 파일내에서 가장 긴 행의 길이 확인

      - $ wc -L <file name>

    * 특정 디렉토리내에 존재하는 전체 디렉토리개수 확인하기

      - $ ls -Rl /etc | grep "^d" | wc -l

    * 특정 파일내용을 지정한 열을 기준으로 정렬

      - $ sort -k 2 textfile

    * 현재 디렉토리내의 파일들을 용량기준으로 오름차순 정렬

      - $ ls - l /var/log | sort -k 5

    * 현재 디렉토리내의 파일들을 용량기준으로 내림차순 정렬

      - $ ls -l /var/log | sort -rk 5

    * 지정한 파일의 모든 영문자를 대문자로 바꾸기

      - $ cat trtest | tr '[a-z]' '[A-Z]'

    * 지정한 파일내의 특정문자 삭제

      - $ cat trtest | tre -d <삭제할 문자>

    * /etc/passwd의 구조

      ----------------------------------------------------------------------------------------------------------------------
      ID : password: UID : GID : Description : Home Directory : Shell
      ----------------------------------------------------------------------------------------------------------------------

      rsyoung: x : 500 : 500 : my username : /home/rsyoung : /bin/bash

      (1)         (2)  (3)     (4)            (5)                  (6)                   (7)

    */etc/passwd 파일에서 ID, 패스워드자리, UI만 출력

      - $ cut -d : -f 1, 2, 3 /etc/passwd

    * 바이트만 잘라내기

      - $ cut -b1 /etc/passwd  (첫바이트)
      - $ cut -b1,2,3 /etc/passwd (1, 2, 3 바이트)
      - $ cut -b-10 /etc/passwd (처음부터 10 바이트)
      - $ cut -b10- /etc/passwd (10부터 마지막바이트)

    * 파일 종류를 확인하는 file 명령어가 참조하는 파일

      - /usr/share/file/magic
      - /usr/share/file/magic.mgc
      - 위 두 파일을 참조하여 파일 종류를 표시해 줌.

    * type 명령으로 리눅스 명령어의 종류 확인

      - $ type test

    * 표준입력되는 문자열을 가로 -> 세로순으로 정렬

      - $ cat group | column -x

    * 표준입력되는 무자열을 특정문자를 기준으로 가로정렬

      - $ cat group | column -t -s :

    * dd로 파일복사하기

      - $ dd if=<input file> of=<output file>

    * 두파일이 동일한지 검사

      - $ diff --brief <file 1> <file 2>

    * 파일 세개 비교

      - $ diff3 <file1> <file 2> <file 3>

    * grep

      - Globally find Regular-Expression and Print의 약자
      - egrep = grep -E
      - fgrep = grep -F
      - 대소문자 구분없이 검색 : -i

    * 특정 디렉토리내에서 디렉토리리스트만 확인

      - $ ls -l /etc | grep "^d"

    * 특정 디렉토리내에서 일반파일리스트만 확인

      - $ ls -l /etc | grep "^-"

    * 특정 디렉토리내에 존재하는 파일들 한번에 편집하는 명령어 만들기

      - $ ls -l | grep "^-" | awk '{print "vi "$8}'

    *awk

      - 1977년 Bell 연구소의 Alfred v. Aho' Peter j. Wenberger, Brian W. Kernighan이 만듬

    * /home 디렉토리의 각 계정별로 압축하는 명령어 만들기

      - $ ls -l /home | grep "^d" | awk '{print "tar cvfpz " "/backup/"$8".tar.gz" "/home/"$8}'
      - Shell 파일 생성후 실행함

    * 공백을 TAB 문자로 대체하는 unexpand

      - $ cat spacefile | unexpand

    * Symbolic Link vs. Hard Link

      - Symbolic Link: 원본파일을 가르키도록 링크만 시켜둔 것 (다른 파일시스템에서 적용됨)
      - Hard Link: 다른 이름으로 존재하는 동일한 파일 (다른 파일시스템에서 적용안됨)

    * 기본 명령어에 대한 심볼릭 링크 관리기 alternatives

      - /etc/alternatives 디렉토리와 /var/lib/alternatives 디렉토리에는 많은 링크파일들의 설정이 정의되어 있으며 시스템 설치시에 기본적으로 정의되어 있는 링크파일들의 설정값

    * 비어있는 파일 찾기

      - $ find / -empty -exec ls -l {} \;
      - {}는 검색된 파일이 하나씩 치환됨을 의미

    * 최근 몇시간 이전(후)에 사용된 적이 있는 파일 검색

      - $ find /home/rsyoung -atime -100 -exec ls -l {} \;

    * 특정명령어의 간략한 도움말 확인하기

      - $ whatis find

    * 실행파일, 소스, man페이지파일의 위치를 찾기

      - $ whereis -b ifconfig

    * 파일시스템의 용량이 0인 모든 파일 시스템을 대상으로 디스크용량 확인

      - $ df -a

    * 디스크용량을 파일 시스템의 종류와 함께 표시

      - $ df -T

    * 특정 디렉토리의 전체 사용량 점검

      - $ du -s /etc

    * hdparm로 디스크의 기본 설정정보 확인

      - $ hdparm /dev/hdc1

    * hdparm 명령어로 버퍼링되어있지 않은 데이터의 디스크 ACCESS 속도 체크하기

      - $ hdparm -t /dev/sda

    *hdparm 명령어로버퍼링되어 있는 데이터와 되어있지 않은 데이터의 ACCESS 속도 비교하기

      - $ hdparm -tT /dev/sda

    * IDE 하드디스크 휴지 또는 준비상태로 전환하기

      - $ hdparm -Y /dev/hdc
      - $ hdparm -y /dev/hdc

    * 하드디스크에 배드블럭 존재 유무 검사

      - $ badblocks -v /dev/sda1

    * 어떤 디스크가 장착되어있는지 확인하기

      - $ df 
      - $ fdisk -l /sda7    (root 명령으로 확인)

      - $ fdisk -l   (root 명령으로 확인)

    * 대용량 디스크 파티션 (2TB 이상) - parted

      - 리눅스의 모든 파티션들은 msdos 레이블만을 사용함
      - 리눅스의 부트로더인 LILO와 GRUB은 msdos 디스크 레이블만을 인식
      - 2TB 이상되는 디스크는 gpt라는 레이블을 사용해야함
      - gpt 레이블은 LILO와 GRUB에서 인식되지 못하므로 시스템디스크 같은 부팅디스크는 gpt 레이블을 사용해서는 안됨.

    * /etc/fstab 파일 구조

      - [파일시스템장치명] [마운트포인트] [파일시스템종류] [옵션] [dump관련설정] [파일점검옵션]
      - [옵션의 종류]
        + defaults: rw, nouser, auto, exec, suid 속성을 모두가지는 속성
        + auto: 부팅시 자동마운트
        + exec: 실행파일이 실행되는 것을 허용하는 파일 시스템
        + suid: SetUID와 SetGID의 사용을 허용하는 파일 시스템
        + ro: 읽기전용
        + rw: 읽고 쓰기 파일시스템
        + user: 일반 계정사용자들도 마운트 할수 있는 파일 시스템
        + nouser: 일반 사용자들은 마운트 할 수 없는 파일 시스템 (root만 마운트)
        + noauto: 부팅시 자동마운트되지 않게 함
        + noexec: 실행파일을 실행되지 못하게 하는 파일시스템
        + nosuid: SetUID와 SetGID의 사용을 허용하지 않는 파일 시스템
        + usrquota: 개별 사용자의 쿼타 설정이 가능한 파일 시스템
        + grpquota: 그룹별 쿼타설정이 가능한 파일 시스템

      - [dump관련 설정]
        + 1: 데이터백업등을 위해 dump가 가능한 파일시스템
        + 0: dump 명령으로 덤프되지 않은 파일시스템

      - [파일점검 옵션]
        + 0: 부팅시 실행되는 fsck가 실행되지않게 설정
        + 1: 루트파일 시스템 
        + 2: 루트파일 시스템 이외의 파일 시스템

    * mke2fs로 파일시스템 생성하기전에 배드블럭 검사하기

      - $ mke2fs -t ext4 -c /dev/sdb1

    * 파일시스템 생성시에 예비블럭 크기 지정

      - $ mke2fs -t ext4 -m 20 /dev/sdb1
      - 전체 파일시스템의 20%를 예비블럭으로 생성

    *e2fsck명령어로 특정 파일시스템의 점검및 복구

      - $ e2fsck /dev/hdc2
      - /dev/hdc2가 unmount된 상태에서 수행해야 함

    * 백업수퍼블럭을 이용한 파일 시스템 보구

      - $ dumpe2fs /dev/sda3 | grep superblock   (Superblock 위치확인)
      - $ e2fsck -b 98304 -f -y /dev/hdc2
      - $ e2fsck -b 98304 -j ext3 -y /dev/hdc2   (ext3 filesystem의 경우)

    * e2fsck로 배드블럭 마킹

      - $ e2fsck -j ext3 -cv /dev/sda3
      - e2fsck 옵션에서 badblocks를 실행하여 배드블럭을 찾은 후에 디스크의 배드블럭 아이노드에 추가하여 마크함으로써 배드블럭을 사용하지 못하도록 하는 방법

    * e2fsck로 손상된 파일시스템 자동복구

      - $ e2fsck -b 98304 -p /dev/hdc2
      - 옵션 -p가 없으며 질문에 답을 해야함..해넘어갈 수 있음 ^^;

    * 특정 파일시스템의 상세정보와 그 사용내역확인

      - $ dumpe2fs /dev/sda3

    * 특정 파일시스템의 수퍼블럭만 확인

      - $ dumpe2fs -h /dev/sda3

    * tune2fs로 특정 파일시스템의 수퍼블럭 정보 확인

      - $ tune2fs -l /dev/sdb1

    * 파일시스템 디버거 debugfs

      - $ debugfs
      - q: 종료
      - help: 도움말
      - params: 실행옵션에 대한 파라미터 보기

    * 리눅스에서 삭제된 파일들의 inode목록 확인

      - $ debugfs -w /dev/sd3
      - lsdel

    * 현재 상태에서 사용가능한 debugfs 명령어 확인

      - lr

    * nice값 조정하기

      - $ renice -15 -p 2010
      - $ renice +10 -p 3999


    * 각 프로세스 명령해 옵션들까지 pstree로 확인하기

      - $ pstree -a

    * 현재 프로세스와 그 조상 프로세스를 강조하여 pstree 결과 출력

      - $ pstree -h

    * 각 프로세스들의 PID를 함께 표시하여 pstree 출력

      - $ pstree -p

    * pstree의 결과를 긴출력이 있더라도 그대로 출력

      - $ pstree -l

    * 프로세스 이름으로 정렬하여 pstree 출력

      - $ pstree -n

    * bg를 이용하여 백그라운드로 프로세스 실행

      - $ jobs
      - $bg %1
      - Ctrl + Z로 foregroud process 를 Stop 시킬 수 있으며, jobs로 확인가능

    * 백그라운드 프로세스를 포그라운드로 전환

      - $ fg %1

    *kill 명령어에서 사용 가능한 시그널들 모두 확인하기

      - $ kill -l

    * chkconfig로 관리되는전체 리스트 확인

      - $chkconfig --list

    * 특정파일이나 특정 디렉토리를 사용하고 있는 프로세스 모두 죽이기

      - $ fuser -k /usr/sbin/httpd

    * 특정 데몬 (프로세스) 파일이 사용하고 있는 상세정보 확인

      - $ fuser -v /usr/sbin/httpd

    * jobs로 실행중인 프로세스들의 PID 확인

      - $ jobs -l
      - $ jobs -p

    * 특정 프로세스의 PID를 출력하는 pidof

      - $ pidof httpd

    * 현재 마운트된 정보 자세히 살펴보기

      - $ mount -v
      - $ cat /etc/mtab

    *free 명령어로 시스템 메모리 사용현황 확인

      - $ free

    * free 명령어로 메모리사용현황 정보를 초단위 갱신하여 확인

      - $ free -s 3

    * 시스템 부하율 점검

      - $ uptime

    * top

    top - 15:09:38 up  4:56,  3 users,  load average: 0.07, 0.08, 0.06
            [현재시간] [up time] [사용자]  [1분, 5분, 15분 각각의 평균부하율]     

    Tasks: 188 total,   1 running, 187 sleeping,   0 stopped,   0 zombie
      [전체 프로세스수]  [running]  [sleeping]         [stopped]     [zombie]


    Cpu(s): 11.7%us,  6.3%sy,  0.0%ni, 82.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
              [사용자]     [시스템]   [nice 정책]   [idel]   [I/O waiting]  [IRQ]   [soft IRQ]   [Steal값] 

    Mem:   6057416k total,  1978864k used,  4078552k free,   358080k buffers
               [Total]                 [Used]               [Free]                 [버퍼링된 메모리양]    

    Swap: 12000516k total,        0k used, 12000516k free,   770520k cached
              [Total]                       [Swap된양]   [Free]              [캐싱메모리양]

    * top의 결과를 메모리 사용율이 높은 프로세스 순서로 정렬

      - $ top
      - SHIFT + M

    * top의 결과를 실행시간이 오래된 프로세스 순서대로 정렬

      - $ top
      - SHFIT + T

    * top의 결과를 idle 프로세스들을 모두 감추고 확인

      - $ top
      - i

    * top 상태에서 특정 프로세스 죽이기

      - $ top
      - k

    * top 상태에서 프로세스들의 우선순위 조정

      - $ top
      - r

    * top 상태에서 특정 사용자가 실행한 프로세스 확인

      - $ top
      - u

    * 시스템 각 계정의 최근 접속 정보 확인

      - $ lastlog

    * 자주 사용하는 ssh 명령어 alias 설정으로 간편하게 사용하기

      - $ alias ssh123='ssh -l rsyoung abc.def.ghi.jkl'

    * 휴대용 시스템의 전원관리 정보를 확인하는 apm

      - $ cat /proc/apm
      - APM (Advanced Power Management)

    * 히스토리파일 (.bash_history)에 저장된 최근 명령어리스트 확인

      - $ fc -l
      - $ fc -l 250 260  (범위지정)
      - $ fc -ln 250 260 (번호 생략)

    * 최근에 사용했던 명령어를 지정된 편집기로 편집한 다음 실행

      - $ fc -e vi


    * 터미널에 작업중인 내용을 텍스트 형태로 모두 저장하기

      - $ script
      - exit
      - $ script <filename>
      - exit


    * 일정기간 이상 사용되지 않은 파일은 자동삭제

      - $ tmpwatch --mtime 10 /home/rsyoung


    * shutdown 명령어가 실행된 후 시스템 종료 절차

      - sych 작업
      - 종료메시지 전달 to 사용자
      - 새로운 사용자 로그인 금지
      - 지정된 시간내에 종료안된 프로세스 강제 종료
      - 지정된 시간내 로그아웃 안된 사용자 강제 로그아웃
      - 메모리에 남아있는 데이터를 디스크에 저장
      - 시스템 종료에 관련된 정보를 시스템 로그파일에 기록 (wtmp, utmp)
      - 마운트되어 있는 디바이스들을 마운트 해제
      - 시스템 종료

    * init 프로세스의 의미

      - PID 1번
      - swapper (PID 0번, 커널의 일부)가 init 프로세스를 생성함

    * 하드웨어시간과 운영체제 시간 확인

      - $ hwclock -r
      - $ date

    * 운영체제 시간을 참조하여 하드웨어 시간 재설정

      - $ hwclock -w

    * 파일 허가권 종류

      - permission
      - attribution
      - SetUID, SetGID, StickyBit

    * 특정파일에 SetUID Bit 설정하기

      - $ chmod 4<xxx> testfile
      - SetUID가 설정된 파일을 실행하였을 경우 실행되는 동안 실생시킨 사용자의 권한이 아닌 파일 소유자권한으로 실행한다.

    * 특정 디렉토리에 Sticky Bit 설정하기

      - $ chmod 1<xxx> testdir
      - testdir 디렉토리내에서 특정 파일을 생성하면 생성한 사용자의 소유로 파일이 생성됨

    * SetUID의 대문자 S의 의미

      - SetUID는 설정하였지만 일반퍼미션에 소유자퍼미션자리에 실행권한이 설정되지않았기 대문에 S로 마킹됨.  Sticky Bit의 T도 동일한 의미임.

    * Attribution - chattr & lsattr

      - chattr 명령어는 파일과 디렉토리의 속성을 지정하는 명령어
      - $ lsattr rc.local

    *특정파일에 삭제, 변경, 추가등을 불가능하게 속성부여

      - $ chattr +i rc.local
      - $ lsattr rc.local
      - i : immutable
      - a: secure deletion - 파일삭제시 해당 블럭이 모두 0으로 셋팅
      - S: synchronous updates

    * 특정 파일이 어떤 패키지에 의해 설치된 파일인가 확인

      - $ rpm -qf /bin/ps

    * 특정 패키지에 의해 설치된 모든 파일들 확인

      - $ rpm -ql httpd

    * 특정 패키지에 의해 설치된 파일들의 정상여부 점검

      - $ rpm -qs htdtp-2.2.10-2.i386

    * 특정 RPM 패키지의 설정파일들만 확인하기

      - $ rpm -qc httpd

    * 설치된 특정 RPM 패키지의 문서파일위치 확인

      - $ rpm -qd quota

    * RPM 패키지 의존성 관계 확인하기

      - $ rpm -qRp quota-3.16-5.fc10.i386.rpm

    * 설치된 RPM 패키지 변경 가능성 여부 검증하기

      - $ rpm -V httpd-2.2.10-2.i386

    * yum을 이용한 업데이트 가능한 패키지 리스트 확인하기

      - $ yum list all   (이미 설치되어있는 목록)
      - $ yum list available (설치 가능한 모든 패키지)
      - $ yum list updates (업데이트 가능한 패키지 리스트)
      - $ yum list installed <패키지 명>   (패키지의 인스톨여부 확인)

    * 라우팅설정과 라우팅 테이블 확인하는 route

      - $ route
      - $ netstat -rn

    * 특정 ethernet으로 송수신되는 패킷을 파일에 저장

      - $ tcpdump -i eth0 -w TCPDUMP
      - $ tcpdump -r TCPDUMP

    *ping

      - ICMP (Internet Control Message Protocol) 프로토콜 사용

    * 특정 도메인명의 호스트 통신경로 확인하기

      - $ traceroute www.daum.net

    * nmap

      - nmap은 사용자가 지정한 네트워크와 호스트 (서버)들을 대상으로 보안측면에서 취약한 점이 있는가를 스캐닝할 수 있고 포트기반을 스캐닝할 수 있다.
      - 옵션
        + -sS: TCP SYN 스캔
        + -sT: TCP 연결 스캔
        + -sF -sX -sN: Stealth FIN, Xmas Tree, 또는 Null 스캔모드
        + -sP: Ping 스캐닝
        + -sU: UDP 스캐닝
        + -sO: IP 프로토콜 스캔
        + -sI <zombie host[:probeport]: Idlescan
        + -sA: ACK 스캔
        + -sW: Window 스캔
        + -sR: RPC 스캔
        + -sL: List 스캔

    * nmap으로 로컬 서버 스캔해보기

      - $ nmap -sT -O -v localhost

    * 현재 시스템에 열려있는 서비스와 포트 점검

      - $ lsof | grep LISTEN

    * 특정파일이 사용하는 서비스데몬 (프로세스) 확인

      - $ lsof /lib/libdb-4.0.so

    * 현재 열려진 포트를 사용하고 있는 프로세스 확인

      - $ lsof | grep <port num>

    *현재 시스템에 열려져있는 TCP 포트 점검

      - $ lsof -i TCP | grep LISTEN

    * 환경변수 적용하여 root로 변경

      - $ su - root

    * sudo

      - sudo 명령어는 /etc/sudoers 파일에 설정되어 있는 허가된 사용자들에 한하여 허용
      - 일반사용자에게 root 사용자만 사용할 수 있는 명령어들의 사용을 허용하고자 할때 사용

    * 쿼타파일의 위치

      - 파일시스템의 루트에 위치해야함
      - aquota.user, aquota.group

    * 시스템로그파일 관리를 위한 logrotate

      - /usr/sbin/logrotate
      - /etc/cron.daily/logrotate
      - /etc/logrotate.conf
      - /etc/logrotate.d

    *logwatch의 시스템 로그분석 결과 보고

      - $ /usr/sbin/logwatch

    * /etc/fstab에 설정된 모든 스왑파일시스템을 스왑영역으로 설정

      - $ cat /etc/fstab
      - $ swapon -a     (swapoff -a , 스왑해제)

    * 시스템크론 데몬

      - 시작:
        + $ /etc/rc.d/init.d/crond start
        + $ service crond start
      - /etc/crontab
        + 01 * * * * root run-parts /etc/cron.hourly  : 매시 1분마다 실행
        + 02 04 * * * root run-parts /etc/cron.daily  : 매일 4시 02분마다 실행
        + 22 4 * * 0   root run-parts /etc/cron.weekly: 매주 일요일 4시 22분마다 실행
        + 42 4 1 * *   root run-parts /etc/cron.monthly: 매월 1일 4시 42분 마다 실행

    * 일반 사용자의 crontab 명령어 사용허가 또는 제한

      - $ cat /etc/cron.allow

    * crontab으로 설정한 개별사용자의 cron 설정, 파일로 확인

      - $ cat /var/spool/cron/<userid>

    * root 권한으로 일반 사용자의 cron 설정

      - $ crontab -u <userid> -e

    * root 권한으로 root의 cron 설정내용 확인하는 방법

      - $ crontab -l

    * root 권한으로 일반 사용자의 cron 설정내용 확인

      - $ contab -u <userid> -l

    * at으로 예약작업 설정하기

      - $ at -f /root/backup.sh 22:05  (22시 05분에 예약)
      - $ atq   (큐확인)
      - $ atrm <id>   (큐에서 id 삭제)
      - $ at -f /root/backup.sh 1pm+1days   (1일 후 오후 1시)
      - $ at -f /root/backup.sh 10182015  (2015년 10월 18일로 설정)
      - $ ls -l /var/spool/at     (예약된 작업이 파일로 저장됨)
      - $ atrun    (큐에 있는 예약된 작업 바로 실행)
      - $ batch -f /root/backup.sh 20:00   (at과 동일)

    * 커널 파라미터값 확인 및 설정하는 sysctl 사용법

      - $ cat /etc/sysctl.conf 

    * 현재 커널의 모든 파라미터값 확인

      - $ sysctl -a

    * 커널의 특정 파라미터값 변경하기

      - $ sysctl -a | grep kernel.sysrq 
      - $ sysctl -w kernel.syssrq=1
      - $ cat /proc/sys/kernel/sysrq

    * modprobe 명령어로 로드되어있는 모듈 제거하기

      - $ modprobe -r birdge

    * modprobe 명령어로 현재 사용되고 있는 커널모듈 설정확인

      - $ modprobe -c
      - $ modprobe -d | grep <모듈명>

    *modprobe 명령어로 전체(특정) 커널모듈 파일 확인하기

      - $ modprobe -l
      - $ modprobe -l | grep <모듈명>

    * 커널모듈 정보를 확인

      - $ lsmod
      - $ cat /proc/modules

    * 리눅스 커널모듈의 의존성관계 재설정

      - $ depmod -a
      - 리눅스 부팅과정에서 "Finding modules dependance..." 에러가 발생할 경우 싱글모드로 들어가서 depmod -a 실행

    반응형

    '시스템' 카테고리의 다른 글

    데이터베이스 INDEX SCAN 확인  (0) 2021.10.19
    SQL 튜닝 (일반적인 SQL 튜닝 기법)  (0) 2020.09.24
    리눅스 로그 분석  (0) 2020.09.21
    Postgresql database 백업  (0) 2020.09.18
    Query Service 성능 개선기  (0) 2020.05.29
Designed by Tistory.