私はWindows用のBash(Linuxサブシステム)を持っていて、Linux上で実行されているアプリケーション用のいくつかのPowershellスクリプト(面白い)を作成してデスクトップから起動できます。
すべてが仮想化され、オフラインであるため、すでに内容をすべて知っているので、セキュリティに関する講義をあまり探していないだけで楽しい学習経験になることを願っています。
これが私が思いついたものですが、2つの問題があります。
1:私のスクリプトは最初の行以降は続行されません。したがって、powershellはbashと入力しますが、後続のコマンドは実行しません。
2: ルートパスワードを入力する必要があります。一部のアプリにはルートアクセスが必要なため、これをスキップするか、単に入力してもらいたいです。
bash (powershell command to drop into the bash shell)
export DISPLAY=:0 (necessary for gui apps)
sudo (app name)
(app asks for password)
Password
したがって、このコマンドを1つずつ実行すると正常に動作しますが、添付のSynaptic Package ManagerとPowerShellのスクリーンショットを参照してください。
ベストアンサー1
解決策は2つの部分に分けられます。
パート1 - スクリプトの実行
プロセスは簡単です。スクリプト全体を bash に引数として渡す必要があります。
bash -c 'export DISPLAY=:0 ; sudo <app_name>'
私はPowerShellを使用しません。したがって、上記の行のpowershell構文に従って関連部分をエスケープしてください。
パート2 - パスワードをスキップ
これを行うには、sudoers
ファイル内のパスワードのないログインを許可する必要があります/etc/sudoers
。user
使い終わったら、次のコードを入力してください(あなたのコードに置き換えてください)。username
/etc/sudoers
sudo nano /etc/sudoers
user ALL=(ALL) NOPASSWD: ALL
ただし、これはsudoのデフォルトの動作を変更し、そのユーザーが使用されたときにパスワードを入力する必要はありません。sudo