コマンドを実行するには、poweroff
またはreboot
1は、スーパーユーザーである必要があります。とにかくこれを通常のユーザーとして実行できますか?sudo
再起動または電源オフのたびにパスワードを入力したくないだけです。
systemd
しないUbuntuを使用していますが、Archなどの他のディストリビューションは特権がなくても再起動できますか?
コマンドを実行するには、poweroff
またはreboot
1は、スーパーユーザーである必要があります。とにかくこれを通常のユーザーとして実行できますか?sudo
再起動または電源オフのたびにパスワードを入力したくないだけです。
systemd
しないUbuntuを使用していますが、Archなどの他のディストリビューションは特権がなくても再起動できますか?
回答:
/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
とman sudoers
またはオンラインマニュアルページ
あなたが/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
は、このファイルがシステムアップグレードに耐えることです。
/etc/sudoers
ための適切な#include
ディレクティブがあることを確認してください/etc/sudoers.d/
。
また、setuidを使用して、トリックによってこれを実現することもできます。setuid / setgidビットを無視することがあるため、すべてのシステムで機能するかどうかはわかりません。
私の場合、システム状態の変更を実行できるユーザーのグループを指定できますadm
。次に、このグループに適切なユーザーを追加します。
gpasswd -a $USER adm
許可を指定します。
chmod 4550 /usr/bin/reboot
ls -l
outpusは次のようになります。
-r-sr-x--- 1 root adm 18928 Mar 13 2015 /usr/bin/reboot
その後、入力するだけです:
reboot
最も簡単なソリューション:
sudo echo $USER >> /etc/shutdown.allow
次に、次のコマンドのいずれかを使用できます。
shutdown -ah now // halt
shutdown -ar now // reboot
man shutdownによると、root以外で使用するための-aオプションがあります。
場合
shutdown
で呼び出され-a引数(でシャットダウンの呼び出しにこれを追加の/ etc / inittabのファイルかどうかを確認するために、それをチェック)/etc/shutdown.allowファイルが存在しています。次に、そのファイル内のログイン名を、仮想コンソールにログインしているユーザーのリストと比較します...
Debian Linuxで動作します。また、には32のユーザー名の制限があります/etc/shutdown.allow
。
systemd
logind