crontabでは、次の行を使用して夜間システムの再起動をスケジュールしました。
0 4 * * * /sbin/shutdown -r +5
shutdown -c
この時点でシステムを引き続き実行する必要がある場合は、ログインして再起動をキャンセルできるようにしたいが、4:00以降にsshを試みると、4:00以降に実行するには4:00前にログインする必要があります。 :00:00 と表示されます。スケジュールされたシャットダウン中に特権を持つユーザーのみがログインを許可されることを示すメッセージを表示します。
4:5分再起動をキャンセルするために4:00以降にSSHにアクセスできるユーザー権限をどのように付与しますか?
これを行うにはいくつかの簡単な方法があるようですが、私は初めてLinuxに触れ、現在すべてを学んでいますが、インターネット上で解決策を見つけることができません。
答え1
マニュアルshutdown
ページから抜粋:
If the time argument is used, 5 minutes before the system goes down the /run/nologin file is created to ensure that
further logins shall not be allowed.
Linuxシステムでは、PAMはユーザー認証プロセスを担当します。 PAM構成には、/etc/pam.conf
およびがあります/etc/pam.d/*
。
ファイル(/run/nologin)はPAMモジュールによってチェックされますpam_nologin.so
。
たとえば、Debian 12では次のようになります。
$ cat /etc/pam.d/login
#
# The PAM configuration file for the Shadow `login' service
#
# Enforce a minimal delay in case of failure (in microseconds).
# (Replaces the `FAIL_DELAY' setting from login.defs)
# Note that other modules may require another minimal delay. (for example,
# to disable any delay, you should add the nodelay option to pam_unix)
auth optional pam_faildelay.so delay=3000000
# Outputs an issue file prior to each login prompt (Replaces the
# ISSUE_FILE option from login.defs). Uncomment for use
# auth required pam_issue.so issue=/etc/issue
# Disallows other than root logins when /etc/nologin exists
# (Replaces the `NOLOGINS_FILE' option from login.defs)
auth requisite pam_nologin.so
そのため、認証に必要なpam_nologin.soという行をコメントアウトするだけで十分だと思いました。