OverTheWire 21->22. (정답O)

0_0·2023년 4월 18일
0

OverTheWire

목록 보기
22/22

✔ 문제풀이 해설이 상세함. 정답 스포 주의!!! ✔

계정 로그아웃 : ctrl + d
계정 로그인 : (로그아웃 상태에서) ssh 계정명@bandit.labs.overthewire.org -p 2220

[OverTheWire 21->22.]

프로그램은 cron에서 자동 실행된다. =>
/etc/cron.d에서 구성을 확인하고, 실행 중인 명령을 확인 => cat /etc/cron.d




cron
- 특정한 명령이나 스크립트를 지정한 시간/날짜에 자동적으로 주기적 실행.
- 한번 실행되면 시스템에 상주하며 필요할 때마다 동작.
- /etc/crontab 파일에 설정된 것을 읽어서 작업 수행.

crontab 파일 형식

분 시 일 월 주 [사용자이름] [집행명령]

min(분, 0~59) / hour(시, 0~23) / day of month(일, 1~31) / month(월, 1~12/Jan,Feb등) / day of week(주, 0~6(일~토)/Sun,Mon등)

- 표현
* : 범위 내 모든 경우
숫자 : 정확히 일치하는 그 시각, 날짜
'-'로 연결된 두 숫자 : 두 숫자 사이에 포함된 범위
','로 구분해서 나열된 숫자 : 나열된 숫자 중 일치하는 경우

- 예시
***** : 1분마다 실행
*/3 **** : 3분마다 실행
0 22 ** 1-5 : 월~금 매일 22시에 실행

crontab -u 사용자아이디

옵션
-u 사용자이름 : 루트관리자는 해당 사용자의 crontab 파일을 보거나 삭제, 편집가능
-l : 예약된 작업리스트(crontab 파일)
-e : 예약된 작업(crontab 파일) 수정
-r : 예약된 작업(crontab 파일) 삭제

사용자 제어
- /etc/cron.deny와 /etc/cron.allow 설정파일에서 관리
- /etc/cron.allow가 있으면 파일 내 지정된 사용자만 crontab 등록 가능.
  지정되지 않은 사용자는 crontab 명령 실행 불가능.
- 허용파일이 없으면 /etc/cron.deny 사용.
  지정된 사람을 제외한 나머지 사용자만 crontab 명령 실행 가능.
- 두 파일 모두 없으면 대부분 루트 관리자.

/etc/cron.d

- 루트 파일이 cron.d에 위치.
- cron 명령어 실행시 cron.d의 파일들을 job으로 등록.



과정

cd /etc -> ll -> cat ./crontab

cd /etc/cron.d -> ll -> cat etc/crontab.d

  • 해석
    cat ./cronjob_bandit22
***** bandit22 /usr/bin/cronjob_bandit22.sh &> /dev/null
=> 1분마다 cronjob_bandit 스크립트를 실행. (/dev/null은 에러를 모두 보내서 삭제. 결과가 깨끗)

-> ctrl + Insert로 복사하기

아이디 : bandit22
암호 :



0개의 댓글