CentOSでCtrl-Alt-Deleteを無効にする|systemctlとinittabの両対応


この記事の監修:宮崎智広(Linux教育歴15年以上・受講者3,100名超)
HOMELinux技術 リナックスマスター.JP(Linuxマスター.JP)Linuxtips, システム管理 > CentOSでCtrl-Alt-Deleteを無効にする|systemctlとinittabの両対応
「Ctrl+Alt+Deleteを押してしまったらシステムが再起動してしまった」
「サーバーで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 を使う

「このままじゃマズい」と感じていませんか?
参考書を開く気力もない、同年代に取り残される不安——
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
図解60P/登録10秒/解除も3秒 / 詳細はこちら

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)

「Loaded: masked」と表示されれば無効化完了です。

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/inittabctrlaltdel 行で設定されています。

# /etc/inittab を編集する [root@server ~]# vi /etc/inittab # 変更前(ctrlaltdel行) ca::ctrlaltdel:/sbin/shutdown -t3 -r now # 変更後(行頭に # を追加してコメントアウト) #ca::ctrlaltdel:/sbin/shutdown -t3 -r now

変更後、以下のコマンドで設定をinitに再読み込みさせます。

# 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日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。


無料メルマガで学習を続ける

Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。

登録無料・いつでも解除できます

暗記不要・1時間後にはサーバーが動く

3,100名以上が実践した「型」を無料で公開中

プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。

登録10秒/合わなければ解除3秒 / 詳細はこちら

Linux無料マニュアル(図解60P) 名前とメールで30秒登録

宮崎 智広

この記事を書いた人

宮崎 智広(みやざき ともひろ)

株式会社イーネットマーキュリー代表。現役のLinuxサーバー管理者として15年以上の実務経験を持ち、これまでに累計3,100名以上のエンジニアを指導してきたLinux教育のプロフェッショナル。「現場で本当に使える技術」を体系的に伝えることをモットーに、実践型のLinuxセミナーの開催や無料マニュアルの配布を通じてLinux人材の育成に取り組んでいる。

趣味は、キャンプにカメラ、トラウト釣り。好きな食べ物は、ラーメンにお酒。休肝日が作れない、酒量を減らせないのが悩み。最近、ドラマ「フライトエンジェル」を観て涙腺が崩壊しました。