Linuxsudoコマンドに代わる5つのWindows

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

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

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

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

注:これらのツールの一部は現在かなり古いため、最新バージョンのWindowsで動作する場合と動作しない場合があります。 (Note: Some of these tools are quite old now, so they may or may not work with the latest versions of Windows. )

WindowsRunasコマンド

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

runas [{/profile|/noprofile}] [/env] [/netonly] [/smartcard] [/showtrustlevels] [/trustlevel] /user:UserAccountName program

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

runas /noprofile /user:Administrator cmd

runasコマンド

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

runas /user:Administrator "notepad my_file.txt"

使用方法の詳細については、runasのTechnetページを確認してください。(Technet page)

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

したがって、EXEファイルを右クリックして[管理者(Administrator)として実行(Run)]を選択してアプリケーションをインストールすると、ログインしているユーザープロファイルではなく、組み込みの管理(Administrator)者ユーザープロファイルにインストールされます。プロファイルの問題なしにsudoのような真の昇格された特権が必要な場合は、以下の次の選択肢を確認してください。

Sudo for Windows – Sourceforge

Sudo for Windows(Windows)LinuxforWindows(Linux)でのsudoコマンドと同じエクスペリエンスを提供するインストール可能な無料のプログラムです。唯一の違いは、Sudo for Windowsは、開発者が述べたように「ユーザーのプロファイルと作成されたオブジェクトの所有権を保持する」ことです。(“preserves the user’s profile and ownership of created objects”)これは、アプリのインストールやマイドキュメント(My Documents)などのユーザーの場所の変更に昇格された権限を使用する場合に非常に便利です。

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

Sudo for Windowsをインストールしたら、 Sudoers(udoers)と呼ばれるプログラムによって作成された特定のグループに昇格された特権を持つことを許可するユーザーアカウントを追加する必要があります。[マイコンピュータ](My Computer)または[このPC ]を右クリックして、 [管理(Manage)]をクリックします。次に、[ユーザーとグループ]を展開し、[(Users and Groups)グループ(Groups)]をクリックします。Sudoersと呼ばれるものが表示されるはずです。

sudousers

Sudoersをダブルクリックし、[追加(Add)]ボタンをクリックします。

メンバーを追加

次のダイアログで、[詳細設定(Advanced)]ボタンをクリックし、[今すぐ検索(Find Now)]をクリックします。これにより、システム上のすべてのユーザーとグループが一覧表示されます。追加するユーザーをダブルクリックします。(Double-click)

グループにユーザーを追加

追加するユーザーの数に応じて、この手順を繰り返します。次に、[OK]をクリックすると、上記の[メンバー]リストボックスにメンバーが表示されます(Members)[OK]をクリックすると、 (Click OK)sudoGUI(GUI)とコマンドを使用できるようになります。プログラムを右クリックすると、Sudoオプションが表示されます。

sudo右クリック

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

sudoコマンドプロンプト

全体的に、それはかなり気の利いたものであり、非常にうまく機能します。ただし、この特定のプログラムは、右クリックまたはコマンドプロンプトを介してプログラムまたはプロセスを起動する場合に非常に役立ちますが、コマンドラインアプリを実行するためのものではないことに注意してください。(launching)たとえば、sudo mkdir“ c:Program Files ew”を実行したい場合、これはSudoforWindowsを使用しても機能(Sudo)ませ(Windows)。その機能のために、同じものと呼ばれるが、異なる開発者による別のプログラムがあります。以下をお読みください(Read)

Sudo for Windows – Luke Sampson

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

powershell mkdir

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

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

iex (new-object net.webclient).downloadstring('https://get.scoop.sh')

set-executionpolicy unrestricted -s cu -f

scoop install sudo

すべてが正常に機能する場合は、各コマンドの後にPowerShellで次の出力が表示されます。

scoopsudoをインストールします

それでおしまい!これで、コマンドの入力とsudoの前への追加を開始できます。このプログラムの唯一の厄介な点は、UACウィンドウが引き続きポップアップし、[はい(Yes)]をクリックして機能させることです。そのわずかな煩わしさがあっても、メリットはそれだけの価値があります。

昇格

Elevateは、 (Elevate)UACで動作するプログラムであり、sudoとまったく同じようには動作しません。Elevateを使用すると、runasコマンドと同様に、実行中のユーザーがAdministratorに変更されます。(Administrator)ただし、コマンドラインまたはバッチファイルでの作業には便利です。

昇格

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

Windows用のElevationPowerToys

コマンドラインで多くの作業を行ったり、スクリプトやバッチファイルを操作したりする場合は、Elevation PowerToysforWindowsページに便利なツールとスクリプトが多数あります。

エレベーションパワートイ

スクリプト昇格(script elevation power toys)パワートイは、コマンドラインからプログラムを昇格させようとしたり、管理者としてスクリプトを実行したりするときに、 UACの苛立たしい側面を克服するために作成されました。

うまくいけば、それはあなたが実際に(Hopefully)Windowsでsudoを使用しているように感じさせるのに十分なツールとプログラムです。完全に代わるものはありませんが、それに近いオプションはかなりあります。Windowsでプログラム、コマンド、またはスクリプトを昇格させるために他の何かを使用している場合は、コメントでお知らせください。楽しみ!



About the author

私は 10 年以上の経験を持つソフトウェア開発者です。私は Mac プログラミングを専門としており、TextEdit、GarageBand、iMovie、Inkscape など、さまざまな Mac アプリケーション用に数千行のコードを書いてきました。また、Linux および Windows 開発の経験もあります。開発者としての私のスキルにより、macOS から Linux まで、さまざまなソフトウェア開発プラットフォーム向けの高品質で包括的なチュートリアルを作成することができます。このチュートリアルは、使用しているツールについて詳しく知りたい人にとって最適な選択肢です。



Related posts