시스템 서비스는 Linux 시스템의 기능에 중요한 역할을 하며 백그라운드에서 다양한 작업과 프로세스를 처리합니다.systemctl>사용자가 이러한 서비스를 효과적으로 관리할 수 있게 해주는 강력한 명령줄 도구입니다. 이번 글에서는 기본적인 사용법을 알아보겠습니다.systemctl>Linux 환경에서 서비스를 시작, 중지, 다시 시작, 활성화, 비활성화 및 표시합니다.
systemctl이란 무엇입니까?
서비스 관리에 들어가기 전에 기본 사항을 이해하는 것이 중요합니다.systemctl>. 이 명령은 최신 Linux 배포판의 핵심 구성 요소인 systemd 시스템과 서비스 관리자를 제어하는 데 사용됩니다.
systemctl [command] [unit]>
여기,
-
command>: 수행할 작업(예: 시작, 중지, 다시 시작, 활성화, 비활성화) -
unit>: 영향을 받을 서비스 또는 단위입니다.
Systemctl은 컨트롤러 또는 Systemd의 유용성 (백그라운드에서 실행되는 일련의 프로그램이 있는 초기화 시스템), 관리 서비스의 보조 기능을 사용하여 이러한 명령은 시스템을 루팅하는 모드가 아닌 경우 루트 비밀번호를 요청하는 루트 모드에서 실행됩니다.
서비스란 무엇입니까?
컴퓨팅에서의 서비스는 사용자 개입 없이 특정 작업과 기능을 수행하는 백그라운드 프로세스입니다. 서비스는 종종 시스템 부팅 중에 자동으로 시작되고 지속적으로 실행되어 웹 서비스, 파일 공유 또는 시스템 모니터링과 같은 기능을 제공합니다. 이는 운영 체제에 의해 관리되며 필요에 따라 시작, 중지 또는 다시 시작할 수 있습니다. 서비스는 필수 작업을 지속적으로 사용할 수 있도록 보장합니다. 예를 들면 다음과 같은 웹 서버가 있습니다. 아파치, 같은 데이터베이스 서버 MySQL, 그리고 시스템 로깅 서비스.
데몬이란 무엇입니까?
데몬은 Linux 또는 Unix 시스템에서 지속적으로 실행되는 백그라운드 프로세스입니다. 직접적인 사용자 상호 작용 없이 작업을 수행하며 부팅 시 자동으로 시작되는 경우가 많습니다. 일반적인 예로는 웹 서버, 데이터베이스 서버 및 시스템 모니터링 도구가 있습니다. 데몬은 일반적으로 다음과 같이 d로 끝나는 이름을 갖습니다.httpd>또는sshd>. 시스템 기능과 서비스를 효율적으로 관리하는 데 도움이 됩니다.
초기화 시스템이란 무엇입니까?
init 시스템은 Linux 시스템이 부팅될 때 실행되는 첫 번째 프로세스이며 시스템 초기화를 담당합니다. 시스템 서비스 및 프로세스를 관리하고 시작, 중지 및 다시 시작을 처리합니다. 일반적인 초기화 시스템에는 SysVinit, Upstart 및 systemd가 포함됩니다. init 시스템은 필요한 모든 서비스가 올바르게 실행되고 있는지 확인하고 서비스 간의 종속성을 관리합니다. 시스템 운영 전반에 걸쳐 시스템 프로세스를 모니터링하고 관리하기 위해 백그라운드에서 계속 실행됩니다.
시스템의 단위
systemd에서 단위는 systemd가 관리하고 제어하는 기본 개체입니다. 이는 서비스, 타이머, 장치 및 마운트 지점과 같은 시스템 리소스를 나타냅니다. 각 단위는 다음과 같은 특정 접미사가 붙은 구성 파일로 정의됩니다..service>서비스를 위해 또는.timer>타이머용. systemctl 명령을 사용하여 장치를 시작, 중지, 활성화 또는 비활성화할 수 있습니다. 이는 시스템이 다양한 프로세스와 리소스를 부팅하고 관리하는 방법을 정의하는 데 필수적입니다.
.systemd의 서비스 단위
시스템화됨.service>단위는 Linux 시스템에서 서비스를 관리하는 데 사용되는 구성 파일입니다. 이는 서비스를 시작, 중지 및 다시 시작해야 하는 방법과 시기를 정의합니다. 각.service>파일에는 서비스 이름, 설명, 실행할 명령과 같은 세부 정보가 포함되어 있습니다. 이러한 파일은 일반적으로 다음 위치에 있습니다./etc/systemd/system>또는/lib/systemd/system>. 이를 관리하려면 다음과 같은 명령이 필요합니다.systemctl start>,systemctl stop>, 그리고systemctl enable>.
시스템에서 모든 시스템 단위를 찾는 방법은 무엇입니까?
사용 가능한 시스템 장치를 나열하거나 Linux의 모든 서비스를 나열하려면 다음 명령을 사용합니다.
systemctl list-unit-files --type service -all>
Linux에서 시스템 서비스를 시작하는 방법
통사론:
호랑이 사자 차이
sudo systemctl start service.service>
start 명령은 명령줄에 지정된 하나 이상의 장치를 시작(활성화)하는 데 사용됩니다.
예:
sudo systemctl start mariadb>

명령 시작
Linux에서 시스템 서비스를 중지하는 방법
통사론:
sudo systemctl stop service.service>
stop 명령은 명령줄에 지정된 서비스 또는 하나 이상의 장치를 중지하는 데 사용됩니다.
예:
sudo systemctl stop mariadb>

명령 정지 및 상태
Linux에서 시스템 서비스 상태를 표시하는 방법
통사론:
sudo systemctl status service.service>
status 명령은 서비스 상태를 확인하는 역할을 합니다. 하나 이상의 장치에 대한 간결한 런타임 상태 정보와 저널의 최신 로그 데이터를 표시합니다. 단위가 지정되지 않은 경우 시스템 상태를 표시합니다.
예:
sudo systemctl status mariadb>

명령 상태
Linux에서 시스템 서비스를 다시 시작하는 방법
통사론:
sudo systemctl restart service.service>
restart 명령은 실행 중인 서비스를 다시 시작하는 데 사용됩니다. 명령줄에 지정된 하나 이상의 장치를 중지한 다음 시작합니다. 장치가 아직 실행되고 있지 않으면 시작됩니다.
예:
sudo systemctl restart mariadb>

명령 재시작
Linux에서 시스템 서비스를 활성화하는 방법
통사론:
sudo systemctl enable name_service.service>
활성화 명령은 하나 이상의 유닛 또는 유닛 인스턴스로 구성된 경우 초기화 이후 서비스를 실행하는 데 사용됩니다. 그러면 다음과 같은 세트가 생성됩니다. 심볼릭 링크 , 표시된 유닛 파일의 [Install] 섹션에 인코딩되어 있습니다. 변경 사항이 즉시 고려되도록 시스템 관리자 구성이 다시 로드됩니다(daemon-reload와 동일한 방식으로).
예
sudo systemctl enable mariadb>

명령 활성화

명령 상태
Linux에서 시스템 서비스를 비활성화하는 방법
통사론:
sudo systemctl disable name_service.service>
비활성화 명령은 하나 이상의 장치를 초기화한 이후 서비스를 철회하는 역할을 합니다. 이렇게 하면 장치 구성 디렉터리에서 지정된 장치를 지원하는 장치 파일에 대한 모든 심볼릭 링크가 제거되므로 활성화 또는 링크를 통해 변경된 모든 내용이 취소됩니다.
숫자의 알파벳
예:
sudo systemctl disable mariadb>

명령 비활성화

명령 상태
systemctl을 사용하여 시스템 종료 또는 재부팅
시스템을 재부팅합니다: 지시한다systemd>전체 시스템을 다시 시작합니다. 모든 서비스가 중지되고 시스템이 다시 시작되기 전에 전체 종료 프로세스를 거칩니다.
sudo systemctl reboot>
시스템 종료: 이는 systemd에게 시스템의 전원을 끄라고 지시합니다. 모든 서비스와 프로세스가 중지되고 시스템의 전원이 안전하게 꺼집니다.
sudo systemctl shutdown>
저널
journalctl>Linux 시스템에서 사용되는 명령입니다 로그를 쿼리하고 표시하려면systemd>저널은 로깅 데이터를 수집하고 저장하는 시스템 서비스입니다. 간단한 사용법을 알려드리겠습니다journalctl>:
journalctl -n 10>시스템 저널의 마지막 10개 항목(라인)을 표시하는 데 사용됩니다. 명령의 각 부분이 수행하는 작업은 다음과 같습니다.
-
journalctl>: 호출journalctl>시스템 저널에서 로그를 쿼리하고 표시하는 데 사용되는 명령입니다. -
-n 10>: 표시할 줄 수를 지정합니다. 이 경우,-n 10>지시하다journalctl>저널의 마지막 10개 항목을 표시합니다.
journalctl -n 10>
systemd를 사용하여 서비스를 보호하는 것은 잠재적인 취약점과 무단 액세스로부터 시스템을 보호하는 데 필수적인 방법입니다. 이를 수행하는 방법에 대한 간단한 가이드는 다음과 같습니다.
1. 서비스 단위 파일 이해
- 서비스 구성 : systemd의 각 서비스는 일반적으로 다음 위치에 있는 단위 파일로 관리됩니다.
/etc/systemd/system/>. 이러한 파일은 시작 동작, 리소스 제한 및 보안 설정을 포함하여 서비스 작동 방식을 정의합니다.
2. 서비스 권한 제한
- 사용자 및 그룹 권한 : 서비스가 실행되는 사용자 및 그룹을 지정합니다. 보안 위반의 영향을 최소화하려면 가능하면 루트 사용자를 사용하지 마십시오.
3. 체계적인 보안 기능 활용
- 비공개Tmp : 비공개 활성화
/tmp>그리고/var/tmp>서로 다른 서비스 간 정보 유출을 방지하기 위한 서비스 디렉터리입니다. - ProtectSystem 및 ProtectHome : 시스템 보안을 강화하기 위해 각각 시스템 디렉터리 및 사용자 홈 디렉터리에 대한 액세스를 제한하려면 이러한 옵션을 설정합니다.
- ReadOnlyPath 및 ReadWritePath : 서비스가 읽거나 쓸 수 있는 디렉터리를 지정합니다. 쓰기 액세스를 제한하면 중요한 파일에 대한 의도하지 않은 수정을 방지할 수 있습니다.
4. 자원 사용량 제한
- CPU 및 메모리 제한 : 사용
CPUQuota>그리고MemoryLimit>서비스의 CPU 및 메모리 사용량을 제한하여 리소스 고갈 공격을 방지하는 옵션입니다.
5. 네트워크 제어 활성화
- 네트워크 액세스 제한 : 활용
RestrictAddressFamilies>,IPAddressAllow>, 그리고IPAddressDeny>서비스에 대한 네트워크 액세스를 제어하여 잠재적인 위협에 대한 노출을 제한하는 옵션입니다.
6. 파일 시스템 권한 설정
- 파일 시스템 권한 : 서비스의 파일과 디렉터리에 적절한 권한이 있는지 확인하세요(
chmod>) 및 소유권(chown>) 무단 액세스를 방지합니다.
7. 정기적인 업데이트 및 모니터링
- 시스템을 최신 상태로 유지 : 시스템 및 서비스 소프트웨어를 정기적으로 업데이트하여 보안 취약점을 패치하고 보안 조치가 유효한지 확인하십시오.
- 로그 모니터링 : 시스템 저널 로그 모니터링(
journalctl>) 의심스러운 활동이나 보안 관련 이벤트에 대해 확인하고 필요한 경우 적절한 조치를 취합니다.
결론
우리는 Linux에서 시스템 서비스를 관리하는 데 필수적인 명령줄 도구로서 서비스 시작, 중지, 다시 시작, 활성화 및 비활성화와 같은 작업에서 중요한 역할을 하는 systemctl에 대해 논의했습니다. 이 기사에서는 구문과 주요 명령을 다루는 systemctl에 대한 포괄적인 가이드를 제공했습니다. 사용 가능한 시스템 장치 나열부터 자동 시작 활성화 또는 비활성화에 이르기까지 각 명령은 효과적인 서비스 관리에 기여합니다. 또한 이 기사에서는 서비스 상태 확인, 서비스 시작, 중지 및 다시 시작, 자동 시작 활성화 또는 비활성화와 같은 작업에 대한 실용적인 솔루션을 제공하면서 일반적인 질문을 다루었습니다. 전반적으로 systemctl 명령을 이해하고 익히는 것이 필수적입니다. Linux 관리자 시스템의 안정성과 최적의 성능을 보장합니다.
Systemctl – FAQ
리눅스 서비스란 무엇입니까?
Linux 서비스는 사용자 상호 작용과 독립적으로 실행되어 특정 기능을 제공하거나 시스템 작업을 수행하는 백그라운드 프로세스 또는 애플리케이션입니다. 이는 일반적으로 systemd인 init 시스템에 의해 관리되며 다음과 같은 명령을 사용하여 시작, 중지 및 관리될 수 있습니다.
systemctl>.
Systemctl과 서비스의 차이점은 무엇입니까?
systemctl>시스템 서비스를 관리하는 데 사용되는 명령줄 도구입니다.service>에 대한 심볼릭 링크입니다.systemctl>많은 시스템에서 이전 init 스크립트와의 호환성을 제공합니다.
Linux에서 서비스 상태를 확인하는 방법은 무엇입니까?
`를 사용하세요
systemctl status `>서비스가 실행 중인지, 활성(최근 중지됨) 또는 비활성(시작되지 않음)인지 확인합니다. 이를 통해 메모리 사용량 및 활성 연결과 같은 중요한 정보가 표시됩니다.
서비스를 시작, 중지, 다시 시작하려면 어떻게 해야 합니까?
시작을 위해 , 사용 :
sudo systemctl start>정지용 , 사용 :
sudo systemctl stop>재시작하기 위해 , 사용 :
sudo systemctl restart>메모 : 교체하는 것을 기억하세요
>실제 서비스 이름으로.
부팅 시 서비스가 자동으로 시작되도록 하려면 어떻게 해야 합니까?
사용
sudo `>systemctl enable `>시스템 부팅 시 서비스가 자동으로 시작되도록 설정합니다.얇은 알고리즘자동 시작을 비활성화하려면 `
sudo systemctl disable `>.