Plex サーバーとして実行している Ubuntu PC があります。誰もコンピューターをシャットダウンできず、ユーザーがマシンを再起動することだけを許可するにはどうすればよいでしょうか。Windows では可能であることは知っていますが、Ubuntu でも可能かどうか疑問に思っています。
答え1
これを行う最も効果的な方法は、次のようにターゲットのパワーをマスクすることです。
sudo systemctl mask poweroff.target
これで、電源ボタンを押し続けたり、物理的にマシンの電源を切ったりしない限り、誰もマシンをシャットダウンできなくなります。
再起動はこのマスクの影響を受けません。
将来、メンテナンスやハードウェアの交換のためにマシンをシャットダウンする必要がある場合は、unmask
次のターゲットを設定できます。
sudo systemctl unmask poweroff.target
答え2
管理者以外のユーザーに再起動の権限を与える必要がある場合は、sudoers
ファイルにエントリを追加することができますreboot
(および/または、実行させたい内容によって異なります)。その後、 (および/または)systemctl reboot
を実行できるようになります。sudo reboot
sudo systemctl reboot
この回答は、彼らがそれ以外の方法でアクセスできないことを前提としていますsudo
つまり、グループに属していない通常の非管理者ユーザーであるということですwheel
。
ファイルsudoers
は にあります/etc/sudoers
が、いけない直接編集するのではなく、 を使って編集するようにしてください。visudo
編集するにはルート権限が必要なので、 を実行しますsudo visudo
。visudo
コマンドは編集内容の構文を検証します。設定を壊したり、あなた自身将来的にルートアクセスを取得します。
次に、次のような行をsudoers
ファイルに追加します。
username ALL=(root): /usr/sbin/reboot
username ALL=(root): /usr/bin/systemctl reboot
username
はユーザーのユーザー名(または%groupname
グループ)であり、パスはシステム上のコマンドへの実際のパスです( で確認してください。which
例:which reboot
)。
詳細については、man sudoers
、man sudo
、 そしてman visudo
。