웹사이트 검색

Linux에서 종료 및 재부팅 명령을 비활성화하는 방법


shutdown 명령은 Linux 시스템의 전원이 꺼지는 시간을 예약합니다. 특정 옵션 및 재부팅을 사용하여 호출할 때 시스템을 정지, 전원 끄기 또는 재부팅하는 데 사용할 수도 있습니다. Strong>은 시스템을 다시 시작하도록 지시합니다.

Ubuntu, Linux Mint, Mandriva와 같은 특정 Linux 배포판에서는 기본적으로 일반 사용자로서 시스템을 재부팅/중지/종료할 수 있습니다. 이는 특히 서버에서 이상적인 설정은 아니며 특히 시스템 관리자가 걱정해야 할 사항입니다.

이 문서에서는 Linux에서 일반 사용자에 대해 shutdownreboot 명령을 비활성화하는 방법을 보여줍니다.

Linux에서 종료 및 재부팅 명령 비활성화

/etc/sudoers 파일을 사용하여 shutdownreboot 명령을 비활성화하는 가장 쉬운 방법은 여기에서 사용자(tecmint<) 또는 이러한 명령을 실행할 수 없는 그룹(개발자)입니다.

vi /etc/sudoers

명령 별칭 섹션에 다음 줄을 추가합니다.

Cmnd_Alias     SHUTDOWN = /sbin/shutdown,/sbin/reboot,/sbin/halt,/sbin/poweroff

User privilege specification
tecmint   ALL=(ALL:ALL) ALL, !SHUTDOWN

Allow members of group sudo to execute any command
%developers  ALL=(ALL:ALL) ALL,  !SHUTDOWN

이제 일반 사용자(tecmint)로 shutdownreboot 명령을 실행해 보세요.

또 다른 방법은 루트를 제외한 모든 사용자의 shutdownreboot 명령에 대한 실행 권한을 제거하는 것입니다.

chmod o-x /sbin/shutdown
chmod o-x /sbin/reboot

참고: systemd에서 이러한 파일(/sbin/shutdown, /sbin/reboot, /sbin/halt, /sbin/poweroff)은 /bin에 대한 심볼릭 링크일 뿐입니다. /systemctl:

ls -l /sbin/shutdown
ls -l /sbin/reboot
ls -l /sbin/halt
ls -l /sbin/poweroff

다른 사용자가 이러한 명령을 실행하는 것을 방지하려면 위에서 설명한 대로 실행 권한을 제거하기만 하면 되지만 systemd에서는 효과적이지 않습니다. /bin/systemctl에서 실행 권한을 제거할 수 있습니다. 즉, 루트를 제외한 다른 모든 사용자는 systemctl만 실행하게 됩니다.

chmod  o-x /bin/systemctl

다음 가이드를 읽어 SSH 루트 로그인과 같은 특정 기능을 비활성화하고 SSH 액세스, SELinux, Linux에서 원치 않는 서비스를 제한하는 방법을 알아볼 수도 있습니다.

  1. Ubuntu에서 루트 로그인을 활성화 및 비활성화하는 방법
  2. RHEL/CentOS 7/6에서 SELinux를 일시적으로 또는 영구적으로 비활성화하는 방법
  3. Linux에서 SSH 루트 로그인을 비활성화 또는 활성화하고 SSH 액세스를 제한합니다.
  4. Linux 시스템에서 원치 않는 서비스를 중지하고 비활성화하는 방법

그게 다야! 이 기사에서는 Linux의 일반 시스템 사용자에 대해 종료 및 재부팅 명령을 비활성화하는 방법을 보여주었습니다. 이 작업을 수행하는 다른 방법을 알고 계시다면 댓글로 공유해 주세요.