質問: ### 前提・実現したいこと バッチファイルでシェルを動かすということを行っています。 具体的には以下の処理をバッチファイルで行おうとしています。 ・bashでUbuntu環境にアクセスする(使用OSはwin10) ・root権限を取得する ・ホームディレクトリに移動し、ホームディレクトリにあるシェルを動かす ### 発生している問題・エラーメッセージ 直近の問題はsudo visudoで一部のシェルのみをパスワード不要で実行するという作業がうまくできません。 ### 該当のソースコード ``` @echo off bash -c 'sudo -i ./suto.sh' ``` sudo visudo 追加行 ALL=NOPASSWD: (ここの内容が分かりません) 宜しくお願いします。
回答: 訂正1: 質問者さんのコメントにより、自分の回答が解決になっていない点に気づけました。質問者さんがコメントされているとおり、例えばユーザksohで/usr/bin/a.shとb.shのみパスワードなしで実行を許したいといった場合、sudoersの書き方で以下のようにすれば期待通りにできるのですね! `ksoh ALL=NOPASSWD: /usr/bin/a.sh,/usr/bin/b.sh` 不勉強のため頓珍漢な回答をしてしまいました。大変失礼しました。 追記1: 最初/home/ksoh/a.shというようなコマンド例を想定して上の例を書きましたが**セキュリティー上問題**なので、/usr/bin/a.shのような例に訂正しました。 以下、元の回答 特定のユーザー例えばksohをpasswordなしでsudoコマンド実行可能にするにはsudo visudoで以下の行を追加すると可能になると思います `ksoh ALL=NOPASSWD: ALL` sudoグループの全ユーザーに対してpassword入力を不要にするなら以下となります。 `%sudo ALL=NOPASSWD: ALL` ただし自分はbash on Linux on Windowsではなく普通のLinux 16.04LTS上でやっています。