Ubuntu 18.04 Gnome de。
次の再起動にフラグを付けてWindowsのGrubエントリを選択する簡単なbashスクリプトファイルを作成しました。 Linux DEから直接Windowsをすばやく再起動します。
問題は、実行するファイルを変更するためにdconfを使用する必要があることです。これにより、ターミナルで実行をクリックして、パスワードを自動的に要求します。それ以外の場合は、ファイルを実行するだけでは何も実行されません。bcはパスワードの入力を待機しています。
このようなbashスクリプトファイルを固有のSudo権限で実行して、パスワードを要求する必要がないようにする方法はありますか?
[〜#〜] edit [〜#〜](@waltinatorに向けられていますが、コメントのフォーマットがひどいため):
そうだろう
/bin/kill
bashスクリプトファイルの場所と名前は?たとえば、私のbashスクリプトファイルの名前はrestart2windowsで、デスクトップにあります。
/home/myusername/Desktop/restart2windows
そのため、この行を/ etc/sudoersに追加するだけです(visudoを使用してそのファイルを編集すること、およびアドバイスどおりにsudoers.dを編集する必要があるかどうかはまだ不明です)。
myusername mymachinename = NOPASSWD: /home/myusername/Desktop/restart2windows
これは正しいでしょうか?
編集2
私はvisudoを介してsudoersを編集してみました:
Sudo visudo
上記で提案した行をコメント行の下に追加しました:
#includedir /etc/sudoers.d
その後、デスクトップからbashスクリプトファイルを実行しようとしましたが、何も実行されませんでした。端末で実行することを選択した場合、端末はパスワード入力を待機しています。
これが非常にシンプルなbashスクリプトファイルの内容です。
#!/bin/bash
Sudo grub-reboot 2
Sudo reboot now
見つかりました この質問はここにあります そこにSudoを追加する必要があるようです? OPからの彼のコード行がOPのコード行と一致しないため、その質問に対するその回答に混乱しています。
編集3:
私はこの同じ投稿をUbuntuforums.orgにも投稿しました: https://ubuntuforums.org/showthread.php?t=2434878
読んだ man sudoers
-単一のコマンドへのパスワードなしのアクセスを許可します。読んだ man visudo
も。
man
ページから:
PASSWD and NOPASSWD
By default, Sudo requires that a user authenticate him or herself before running a
command. This behavior can be modified via the NOPASSWD tag. Like a Runas_Spec, the
NOPASSWD tag sets a default for the commands that follow it in the Cmnd_Spec_List.
Conversely, the PASSWD tag can be used to reverse things. For example:
ray rushmore = NOPASSWD: /bin/kill, /bin/ls, /usr/bin/lprm
would allow the user ray to run /bin/kill, /bin/ls, and /usr/bin/lprm as root on the
machine rushmore without authenticating himself. If we only want ray to be able to run
/bin/kill without a password the entry would be:
ray rushmore = NOPASSWD: /bin/kill, PASSWD: /bin/ls, /usr/bin/lprm
Note, however, that the PASSWD tag has no effect on users who are in the group specified
by the exempt_group option.
また、「既存のbash
スクリプトをroot
として実行する」ことは、多くの非常に悲しいセキュリティ話の始まりであることに注意します。
スクリプトをroot
として実行するのではなく、スクリプト内の2つのコマンド(の完全パス)へのパスワードなしのアクセスをユーザーに許可します。