Server

CentOS7 자동 시작 설정_.sh(/etc/rc.d/rc.local)

TTwY 2019. 12. 18. 15:52
728x90
반응형

AWS의 user data 설정 처럼 OS 시작 시 .sh 파일을 이용하여 시작을 설정해야 하는 CASE가 발생

Google 검색을 해봤을 때 위의 /etc/rc.d/rc.local 설정이 가장 많이 조회 되었지만 자세한 설정 방법이 나오지 않아

다른 글들을 참조하여 완성한 자동 시작 설정을 공유합니다.

 

AWS의 user data같은 기능을 원했지만, 빠른 해결이 필요하여 매우 제한적인 기능임을 미리 말씀드립니다. 

 

주의.

/etc/rc.d/rc.local : 실행 레벨 2,3,5에서 가장 마지막에 실행되는 파일로 보통 사용자가 부팅 시에 필요한 서비스를 구동할 때 이 파일 안에 등록하여 사용한다.

단, 주의할 사항은 PATH 같은 환경변수가 일반 쉘과 같은 환경으로 설정되지 않을수도 있기 때문에, 환경변수를 설정하고 명령어를 실행하거나, 절대경로로 실행하는 것을 추천한다.

또한 스크립트 실행 도중 에러가 발생했을 때, 표준 출력과 표준 에러를 직접 터미널로 확인하기 어려우므로 파일로 리디렉션하되, 표준 에러도 같이 리디렉션 하도록 하는 것을 추천한다.

 

launch 시 .sh 파일 실행 하도록 설정 (OS : CentOS7) - OS 부팅 시 sshd_config 의 환경변수 수정 

* root 권한으로 모든 단계 수행

 

1. script를 생성, 작성, 권한 부여 ( vi /etc/rc.d/ssh_change.sh )

 

#!/bin/bash

sudo sed -i 's/PasswordAuthentication no/PasswordAuthentication yes/g' /etc/ssh/sshd_config;

sudo service sshd restart;

 

- 권한 부여 : chmod 755 /etc/rc.d/ssh_change.sh

 

2. /etc/rc.d/rc.local에 등록

vi /etc/rc.local 

su root -c "/etc/rc.d/ssh_change.sh"

 

- 권한 부여 : chmod 755 /etc/rc.d/rc.local

 

3. 테스트 진행 ( reboot 등 상황에 맞게 테스트 진행 )

 

이론 참조 - 

https://eine.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%B6%80%ED%8C%85%EA%B3%BC%EC%A0%95%EA%B3%BC-%EB%B6%80%ED%8C%85%EC%8B%9C-%EB%A7%88%EB%8B%A4-%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%8B%A4%ED%96%89Startup-Script

728x90
반응형