コマンドを実行するには、poweroffまたはreboot1は、スーパーユーザーである必要があります。とにかくこれを通常のユーザーとして実行できますか?sudo再起動または電源オフのたびにパスワードを入力したくないだけです。
systemdしないUbuntuを使用していますが、Archなどの他のディストリビューションは特権がなくても再起動できますか?
コマンドを実行するには、poweroffまたはreboot1は、スーパーユーザーである必要があります。とにかくこれを通常のユーザーとして実行できますか?sudo再起動または電源オフのたびにパスワードを入力したくないだけです。
systemdしないUbuntuを使用していますが、Archなどの他のディストリビューションは特権がなくても再起動できますか?
回答:
/etc/sudoersadminグループに属するすべてのユーザーがパスワードを要求されることなく次のコマンドを実行できるように変更しました。
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。
systemdlogind