推奨されます, 2024

エディターズチョイス

5 Linuxのsudoコマンドに代わるWindowsの選択肢

Linuxを使ったことがある人、あるいはLinuxを使う人を知ったことがある人なら、おそらくsudoコマンドを聞いたことがあるでしょう。 このコマンドは、ほぼすべてのLinuxディストリビューションにとって重要なコンポーネントです。コマンドを別のユーザー、特にrootユーザーとして実行させることができます。 特定のLinuxディストリビューションでは、 suコマンドを使用してrootユーザーとしてログインできますが、これは非常に危険と考えられており、だれもログインしません。

実際、UbuntuのようなLinuxディストリビューションではデフォルトで無効になっているのでとても危険です。 rootユーザーとしてコマンドを実行したい場合は、代わりにsudoコマンドを使用する必要があります。 それでは、Windowsはどうでしょうか。 残念ながら、ほとんどの人はWindowsにAdministratorsとしてログインしています。これはLinuxのrootユーザーと同じです。 ただし、マイクロソフトは、ユーザーアカウント制御またはUACを有効にすることによって、管理者としてログインした場合の危険な影響を軽減しようとしました。

そのため、ユーザーが管理者権限を持っていても、そのアカウントで実行されているアプリケーションは、ユーザーによって手動で承認されない限り、それらの権限を継承しません。 これにより、管理者としてログインしているWindowsユーザーにマルウェアやスパイウェアが感染するのを防ぐことができます。

では、Linuxユーザーにはsudoコマンドがありますが、Windowsユーザーには何がありますか? Windowsユーザーが昇格した特権でコマンドを実行するために使用できる代替方法はありますか? Windows用のsudoコマンドはありますか? この記事では、Windowsユーザー用のsudoコマンドに代わる5つの方法について説明します。

:これらのツールのいくつかは現在非常に古くなっているので、最新バージョンのWindowsでは機能しない場合があります。

Windows Runasコマンド

Windowsにはrunasコマンドがあり、これはLinux上でsudoに直接対応するものです。 runasコマンドを使用すると、別のユーザーまたは管理者としてスクリプト、プログラム、またはコマンドを実行できます。 runasコマンドの完全な構文は、次のとおりです。

 runas [/ profile] [/ env] [/ netonly] [/ smartcard] [/ showtrustlevels] [/ trustlevel] / user:UserAccountNameプログラム 

管理コマンドプロンプトを開きたい場合は、次のように入力します。

 runas / noprofile / user:管理者cmd 

/ noprofileは現在のユーザープロファイルを読み込みません。 ユーザー環境変数にアクセスする必要がある場合は、これを削除することができます。 メモ帳を使用して管理者権限でテキストファイルを開きたい場合は、次のコマンドを使用できます。

 runas / user:管理者 "notepad my_file.txt" 

使い方の詳細については、runasのTechnetページを参照してください。

runasコマンドを使用する場合、プログラムをインストールしたり設定を変更したりすると、そのコマンドを実行しているユーザーアカウントにも変更が加えられます。 たとえば、一般ユーザであるユーザXと管理者であるユーザYがいるとします。 Xにログインして管理者の資格情報を使用してrunaを実行すると、ユーザーXではなく管理者の設定が変更されます。

そのため、EXEファイルを右クリックして[管理者として実行]を選択してアプリケーションをインストールすると、ログインしているものではなく、組み込みの管理者ユーザープロファイルにインストールされます。 プロファイルの問題なしにsudoのような真の昇格された特権が必要な場合は、次の代替案をチェックしてください。

Sudo for Windows - Sourceforge

Sudo for Windowsはあなたがインストールすることができる無料のプログラムで、Windows用のLinux上でsudoコマンドと同じ経験をあなたに与えるでしょう。 唯一の違いは、Sudo for Windowsは開発者が述べたように「ユーザーのプロファイルと作成されたオブジェクトの所有権を保持する」ということです。 アプリをインストールしたり、マイドキュメントなどのユーザーの場所を変更したりするために昇格されたアクセス許可を使用したい場合、これは本当に便利です。

それはあなたに管理者権限を与えるでしょう、しかしあなたがコマンドを実行するのに使っているアカウントの代わりに現在のプロファイルのすべての変更を保持します。 プログラムには.NETバージョン2.0が必要です。これは個別にダウンロードすることはできません。 2.0を入手するには、2.0を含む.NET Framework 3.5をインストールする必要があります。

Sudo for Windowsをインストールしたら、S udoersというプログラムによって作成された特定のグループに管理者特権を許可するためのユーザーアカウントを追加する必要があります。 マイコンピュータまたはこのPCを右クリックして管理をクリックします。 次に[ ユーザーとグループ ]を展開して[ グループ ]をクリックします 。 あなたはSudoersと呼ばれるものを見るべきです

Sudoersをダブルクリックして、 追加ボタンをクリックしてください

次のダイアログで、[ 詳細設定 ]ボタンをクリックし、[ 検索開始 ] クリックします 。 これにより、システム上のすべてのユーザーとグループが一覧表示されます。 追加したいユーザーをダブルクリックします。

追加したいと思う多くのユーザーのためのこのステップを繰り返して下さい。 [OK]をクリックすると、上記の[ Members]リストボックスにメンバーが一覧表示されます。 [OK]をクリックすると、sudo GUIとコマンドを使用できるはずです。 プログラムを右クリックすると、 Sudoオプションが表示されます。

コマンドプロンプトを開いてsudoと入力して、昇格したアクセス許可でコマンドを実行することもできます。

全体的に、それはかなり気の利いたと非常にうまく機能します。 ただし、このプログラムは右クリックまたはコマンドプロンプトでプログラムやプロセスを起動するのには非常に便利ですが、コマンドラインアプリを実行するためのものではありません。 たとえば、sudo mkdir“ c:\ Program Files \ new”を実行したい場合、これはSudo for Windowsを使用しても機能しません。 その機能のために、同じものとは別の開発者によるプログラムがあります。 以下を読んでください。

Sudo for Windows - ルークサンプソン

あなたがコマンドラインアプリを実行することを可能にする別のSudo for Windowsを書いた別の開発者もいます。 それでは、C:\ Program Filesに新しいフォルダを作成する例に戻りましょう。 デフォルトではこれはできません。

上記ではPowerShellを使用していますが、コマンドプロンプトを使用しても同じエラーが発生します。 ただし、Sudo for Windowsをインストールしたら、コマンドの先頭にsudoという単語を追加するだけで、エラーなしで完全に機能します。

インストールするには、PowerShellを開いて次のコマンドを順番に入力する必要があります。

 iex(新規オブジェクトnet.webclient).downloadstring( '// get.scoop.sh') set-executionpolicy無制限-s cu -f scoop install sudo 

すべてうまくいった場合は、各コマンドの実行後にPowerShellに次のような出力が表示されます。

それでおしまい! これで、コマンドを入力してsudoを前面に追加することができます。 このプログラムに関する唯一の厄介なことは、UACウィンドウがまだポップアップしていて、それが機能するためにはYesをクリックしたことです。 そのわずかな煩さがあっても、その利点はそれだけの価値があります。

昇格する

ElevateはUACと連携するプログラムですが、sudoのようには機能しません。 Elevateでは、runasコマンドのように実行ユーザーをAdministratorに変更します。 ただし、コマンドラインやバッチファイルで作業する場合は便利です。

昇格の主な目的は、UACを回避することではなく、昇格していないシェルから昇格した状態でプロセスを開始し、コマンドが完了した後も通常どおり続行することです。 Elevateは、右クリック全体をスクリプト化して管理者プロセスとしてコマンドプロンプトを実行することを心配する必要がないため、スクリプト作成に役立ちます。

Windows用の標高PowerToys

コマンドラインで多くの作業をしたり、スクリプトやバッチファイルを使用したりする人のために、Elevation PowerToys for Windowsページには便利なツールやスクリプトが多数あります。

スクリプト昇格の電源玩具は、コマンドラインからプログラムを昇格させようとしたり、管理者としてスクリプトを実行したりするときに、UACのいらだたしい面を克服するために作成されました。

うまくいけば、それはあなたがWindows上で実際にsudoを使っているように感じさせるのに十分なツールとプログラムです。 それに代わるものはありませんが、近い選択肢がいくつかあります。 あなたがWindowsでプログラム、コマンドまたはスクリプトを昇格させるために何か他のものを使うならば、私たちにコメントで知らせてください。 楽しい!

Top