CentOS Linux는 기본적으로 모든 사용자에게 halt
및 명령을 사용하여 시스템을 "중지" 및 "다시 시작"할 수 있는 권한을 허용합니다 reboot
.
halt
루트만 / reboot
system 에 대한 권한을 갖도록 시스템을 구성하려면 어떻게 해야 합니까 ?
답변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.