「サーバーでCtrl+Alt+Deleteを無効にしたい」
物理サーバーや仮想マシンで複数ユーザーが作業する環境では、誤ってCtrl+Alt+Deleteを押してシステムが再起動してしまうリスクがあります。特に共有サーバーや本番環境では、この操作を無効化しておく必要があります。
この記事では、CentOS/RHEL系LinuxでCtrl+Alt+Deleteを無効にする方法を、CentOS 7以降のsystemdによる方法から旧来のCentOS 6/5での設定方法まで解説します。
・CentOS 7以降(systemd)は
systemctl mask ctrl-alt-del.target で無効化できる・CentOS 6は
/etc/init/control-alt-delete.conf の該当行をコメントアウトする・CentOS 5は
/etc/inittab の ctrlaltdel 行をコメントアウトする・無効化後はシステムの再起動や再設定なしに即時反映できる(systemd環境)
・再度有効化する場合は
systemctl unmask ctrl-alt-del.target を使うでも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
CentOS 7以降(RHEL 7以降):systemdで無効化する
CentOS 7以降では、Ctrl+Alt+Deleteの処理はctrl-alt-del.target というsystemdターゲットで管理されています。1. 現在の設定を確認する
# ctrl-alt-del.targetのリンク先を確認する [root@server ~]# ls -la /lib/systemd/system/ctrl-alt-del.target lrwxrwxrwx. 1 root root 13 Mar 24 10:00 /lib/systemd/system/ctrl-alt-del.target -> reboot.target
reboot.target にリンクされており、Ctrl+Alt+Deleteを押すと再起動が実行されます。2. maskで無効化する
# Ctrl+Alt+Deleteを無効化する [root@server ~]# systemctl mask ctrl-alt-del.target Created symlink from /etc/systemd/system/ctrl-alt-del.target to /dev/null. # 設定を即時反映する [root@server ~]# systemctl daemon-reload
mask コマンドにより、ctrl-alt-del.target が /dev/null にリンクされ、Ctrl+Alt+Deleteが押されても何も起きなくなります。3. 無効化を確認する
# maskedになっていることを確認する [root@server ~]# systemctl status ctrl-alt-del.target ctrl-alt-del.target Loaded: masked (/dev/null; bad) Active: inactive (dead)
4. 再度有効化する場合
# Ctrl+Alt+Deleteを再度有効化する [root@server ~]# systemctl unmask ctrl-alt-del.target [root@server ~]# systemctl daemon-reload
CentOS 6:control-alt-delete.confを編集する
CentOS 6では、Ctrl+Alt+Deleteの処理は/etc/init/control-alt-delete.conf で管理されています。1. 設定ファイルを編集する
# control-alt-delete.conf を編集する [root@server ~]# vi /etc/init/control-alt-delete.conf
2. execの行をコメントアウトする
# 変更前 exec /sbin/shutdown -r now "Control-Alt-Delete pressed" # 変更後(行頭に # を追加してコメントアウト) #exec /sbin/shutdown -r now "Control-Alt-Delete pressed"
CentOS 5:inittabを編集する
CentOS 5では、Ctrl+Alt+Deleteの処理は/etc/inittab の ctrlaltdel 行で設定されています。# /etc/inittab を編集する [root@server ~]# vi /etc/inittab # 変更前(ctrlaltdel行) ca::ctrlaltdel:/sbin/shutdown -t3 -r now # 変更後(行頭に # を追加してコメントアウト) #ca::ctrlaltdel:/sbin/shutdown -t3 -r now
# initにinittabの再読み込みを指示する [root@server ~]# telinit q
まとめ
| OS / 環境 | 無効化の方法 |
|---|---|
| CentOS 7以降(systemd) | systemctl mask ctrl-alt-del.target |
| CentOS 7以降:再有効化 | systemctl unmask ctrl-alt-del.target |
| CentOS 6 | /etc/init/control-alt-delete.conf のexec行をコメントアウト |
| CentOS 5 | /etc/inittab のctrlaltdel行をコメントアウト → telinit q |
サーバーのセキュリティ設定を体系的に身につけたいですか?
Ctrl+Alt+Delete無効化のような細かいセキュリティ設定の積み重ねが、安全なサーバー運用を実現します。
ネットの切れ端の情報をコピペするだけでなく、現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます