通常のユーザーとしての電源オフまたは再起動


17

コマンドを実行するには、poweroffまたはreboot1は、スーパーユーザーである必要があります。とにかくこれを通常のユーザーとして実行できますか?sudo再起動または電源オフのたびにパスワードを入力したくないだけです。


2
答えは、ディストリビューションが使用するinitシステムに依存します...たとえば、他のユーザーがまだログインしていない場合、昇格された権限なしでリブートまたはsystemdlogind
パワーオフ

@jasonwryan現在、デフォルトでは使用systemdしないUbuntuを使用していますが、Archなどの他のディストリビューションは特権がなくても再起動できますか?
Stormvirux

はい:最初のコメントの条件に従って。
-jasonwryan

回答:


22

/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/sudoersman sudoersまたはオンラインマニュアルページ


4

あなたが/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は、このファイルがシステムアップグレードに耐えることです。


1
このアプローチを選択する場合、からファイルを読み取る/etc/sudoersための適切な#includeディレクティブがあることを確認してください/etc/sudoers.d/
-patricktokeeffe

2

また、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

1

最も簡単なソリューション:

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


4
Fedora、CentOS、RHELにはそのようなオプションはありません。
fpmurphy

1
これはUbuntuでも機能しません。少なくともドキュメントから得られることです。これがDebianのみの機能であるかどうかを確認すると役立ちます。
ラファエルアーレンス

まだない=} 2020年のUbuntu(18.04)における
ティンク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.