このコマンドを実行するにはpoweroff
スーパーreboot
ユーザーである必要があります。とにかく一般ユーザーとして実行できますか?sudo
再起動または電源を切るたびにパスワードを入力したくありません。
答え1
/etc/sudoers
adminグループのすべてのユーザーがパスワードを要求せずに次のコマンドを実行できるように変更しました。
sudo halt
sudo reboot
sudo poweroff
次の行を追加するだけです。/etc/sudoers
## Admin user group is allowed to execute halt and reboot
%admin ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
管理者グループに自分を追加します。
1人のユーザーだけがこれを実行できるようにするには、そのユーザーを削除して次のものに置き換え%admin
ます。username
## user is allowed to execute halt and reboot
stormvirux ALL=NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
/etc/sudoers
withman sudoers
または the について詳しく知ることができます。オンラインマンページ
答え2
/etc/sudoers.d
必要に応じて新しいファイルを作成し(名前をとして指定'shutdown'
)、次の行を追加することもできます。
# Allows me to shutdown the system without a password
yourUserName ALL = NOPASSWD: /sbin/halt, /sbin/reboot, /sbin/poweroff
「yourUserName」をユーザー名に変更し、使用したいコマンドを追加または削除するだけですshutdown
。個人的に以下の特定のファイルを作成する際の主な違いの1つsudoers.d
は、ファイルがシステムのアップグレード後も維持されることです。
答え3
最も簡単な解決策:
sudo echo $USER >> /etc/shutdown.allow
その後、次のいずれかのコマンドを使用できます。
shutdown -ah now // halt
shutdown -ar now // reboot
~によると人々は電話を消す持つ-ㅏ非ルート使用オプション:
shutdown
使用する場合-ㅏパラメータ(終了呼び出しにこれを追加)/etc/inittab)、ファイルが存在することを確認します。/etc/shutdown.allow存在する。次に、そのファイルのログインを仮想コンソールにログインしている人のリストと比較します。
Debian Linuxで動作します。そして、.netのユーザー名の数は32に制限されています/etc/shutdown.allow
。
答え4
Debian システムの特定のユーザーまたはグループに対する起動権限だけでなく、すべての systemctl サービスへのアクセス権を取得する別の方法は次のとおりです。
sudo chown root:myuserorgroup /bin/systemctl
sudo chmod 4755 /bin/systemctl
すべてのブートスクリプトはに接続されている/sbin/shutdown
ため、その権限と所有権を変更する/sbin/poweroff
と、rootユーザーとして実行するために必要な権限が付与されます。/sbin/reboot
/bin/systemctl
ユーザーは任意のsystemctl操作を実行できます。。これはセキュリティの脅威のように聞こえるかもしれませんが、デフォルトのユーザーがアクセスをオフにする必要があるだけでなく、systemctl
。