ソフトウェア
 Computer >> コンピューター >  >> ソフトウェア >> ソフトウェア

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

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

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

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

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

:これらのツールの一部は現在かなり古いため、最新バージョンのWindowsで動作する場合と動作しない場合があります。

WindowsRunasコマンド

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

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

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

runas /noprofile /user:Administrator cmd

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

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

runas /user:Administrator "notepad my_file.txt"

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

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

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

Sudo for Windows – Sourceforge

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

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

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

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

Sudoersをダブルクリックします 追加をクリックします ボタン。

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

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

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

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

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

コマンドプロンプトを開き、sudoと入力して、昇格された権限でコマンドを実行することもできます。

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

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

Sudo for Windows – Luke Sampson

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

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

上記ではPowerShellを使用していますが、コマンドプロンプトを使用しても同じエラーが発生します。ただし、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で次の出力が表示されます。

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

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

昇格

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

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

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

Windows用のElevationPowerToys

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

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

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

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


  1. Linuxでxargsコマンドを使用する方法

    経験豊富なユーザーの中には、ターミナルでよりスマートに、よりハードに作業するための新しい方法を常に模索しています。 xargs は、2つのコマンド間のブリッジとして機能する便利なコマンドで、一方の出力を読み取り、読み取った項目でもう一方を実行します。このコマンドは、ユーザーがパターンの検索、ファイルの削除と名前の変更などを行うシナリオで最も一般的に使用されます。ここでは、 xargsの使用方法を示します あなたの利益のために命令しなさい。 xargsとは何ですか? 基本的な形式では、 xargs 標準入力(またはSTDIN)から情報を読み取り、読み取った項目を使用してコマンドを1

  2. LinuxでTeeコマンドを使用する方法

    Linuxシェルでパイプとリダイレクトを使用したことがある場合は、teeを使用する必要がある場合もあります。 ユーティリティ。 ティーは何をしますか? などのコマンド ls 現在のディレクトリの内容が表示されます。つまり、これらのコンテンツをstdout(標準出力)(通常は画面)、より正確には仮想端末ディスプレイに表示します。 のようなコマンド ls > file123 画面には何も表示されません。 signは、すべての出力をstdoutに表示するのではなく、ファイルにリダイレクトします。 file123には、以前に画面に表示されていたコンテンツが入力されます。 ディレクトリ