CentOS Linuxは、デフォルトですべてのユーザーに、およびhalt
コマンドを使用してシステムを「停止」および「再起動」する権限を許可しますreboot
。
halt
rootman / reboot
systemの権限を持つようにシステムを設定するにはどうすればよいですか?
答え1
CentOS/RHEL/Fedora
次のコマンドのエントリを削除して、そのコマンドへのアクセスを無効にできます/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.