루트 사용자에게만 시스템을 중지/다시 시작할 수 있는 권한이 있는지 확인하는 방법은 무엇입니까?

루트 사용자에게만 시스템을 중지/다시 시작할 수 있는 권한이 있는지 확인하는 방법은 무엇입니까?

CentOS Linux는 기본적으로 모든 사용자에게 halt및 명령을 사용하여 시스템을 "중지" 및 "다시 시작"할 수 있는 권한을 허용합니다 reboot.

halt루트만 / rebootsystem 에 대한 권한을 갖도록 시스템을 구성하려면 어떻게 해야 합니까 ?

답변1

CentOS/RHEL/페도라

다음 명령의 항목을 제거하여 해당 명령에 대한 액세스를 비활성화할 수 있습니다 /etc/security/console.apps/*.

$ $ ls /etc/security/console.apps/
authconfig      gparted          poweroff                      system-config-date      system-config-network-cmd  zenmap-root
authconfig-gtk  halt             reboot                        system-config-keyboard  system-config-selinux
authconfig-tui  kismet_capture   setup                         system-config-language  system-config-users
chkrootkit      liveusb-creator  system-config-authentication  system-config-lvm       wifi-radar
config-util     lshw-gui         system-config-boot            system-config-network   wireshark

$ rm -f /etc/security/console.apps/reboot

위의 내용은 여기에서 찾을 수 있습니다.27.2. 콘솔 프로그램 액세스 비활성화 - CentOS 배포 가이드

균열 방법

다음을 수행하면 이를 달성할 수 있다고 생각합니다. 디렉터리에는 /lib/upstart다음 명령이 있습니다.

$ pwd
/lib/upstart

$ ls -la
total 176
drwxr-xr-x.  2 root root  4096 Sep  9  2011 .
dr-xr-xr-x. 16 root root 12288 May  4 21:27 ..
lrwxrwxrwx   1 root root     6 May 26  2011 halt -> reboot
lrwxrwxrwx   1 root root     6 May 26  2011 poweroff -> reboot
-rwxr-xr-x   1 root root 17112 May 11  2011 reboot
-rwxr-xr-x   1 root root 14472 May 11  2011 runlevel
-rwxr-xr-x   1 root root 65976 May 11  2011 shutdown
-rwxr-xr-x   1 root root 56304 May 11  2011 telinit

실행 파일을 다시 시작하려면 chmod 700을 사용하세요.

$ chmod 700 /lib/upstart/reboot

답변2

이 명령을 사용하면 이미 루트가 되거나 콘솔에 로그인하게 됩니다. 일반 사용자가 SSH 세션에서 "halt" 또는 "reboot"를 실행하면 시스템 중지 또는 재부팅을 거부합니다.

$ halt
halt: must be superuser.

관련 정보