単一の(管理者以外の)ユーザーがコマンドプロンプトから特定のコマンドを使用することを制限する方法を知りたいのですが。例:dir
は許可する必要がありますが、shutdown
はブロックする必要があります。ボーナスとして、これはホワイトリストで可能ですか(つまり、dir
を除くすべてのコマンドがブロックされます)?
UNIX/Linuxオペレーティングシステムとは異なり、Windowsには内部コマンドと外部コマンドの2種類のコマンドがあります。 dir
、cd
、rd
、copy
、del
などのコマンドは、コマンドインタープリターに組み込まれているため、内部コマンドです。 。他のすべてのコマンドラインユーティリティ(net
、shutdown
、telnet
、ftp
など)は外部コマンドであり、.exeが関連付けられていますファイル。コマンドラインでhelp
と入力すると、内部コマンドのリストを取得できます。
内部コマンドは、オールオアナッシングの取引です。コマンドプロンプトへのアクセスを許可すると、それらすべてへのアクセスが許可されます。外部コマンドは他のコマンドと同じようにプログラムであるため、ユーザーにipconfig
コマンドを実行させたくない場合は、そのユーザーによるコマンドの読み取り権限を取り消すことができます。
ただし、コマンドラインは魔法ではないことを知っておく必要があります。これは、ユーザーが通常は実行できないことを実行することを許可することはできません。コマンドラインで公開される機能は、引き続きシステムのセキュリティによって管理されます。フォルダへの読み取り/書き込みアクセス権を持たないユーザーは、rd
またはdel
を使用してフォルダを削除することはできません。フォルダへの読み取りアクセス権がない場合、フォルダにcd
することはできません。
私はあなたが達成しようとしていることについて本当に考えることをお勧めします。コマンドをブロックすることは、ドアノブを取り外すようなものです。ドアが開くのを妨げることはありません。ドアを固定したい場合は、ロックします。
ユーザーのshutdown
コマンドへのアクセスをブロックするとします。それは彼らがシステムをシャットダウンするのを止めません。コンピュータをシャットダウンする方法は文字通り12通りあります。あなたがしているのは、ある特定の方法をブロックすることだけです。代わりに、セキュリティポリシーを使用して、ユーザーがコンピューターをシャットダウンする権利を拒否する必要があります。そうすれば、マシンをシャットダウンしようとする試みは、どのように実行しようとしても、ブロックされます。これはサーバーのデフォルトポリシーです。
Windowsディレクトリのデフォルトのセキュリティ権限を変更することも一般的に悪い考えです。それはあなたが考えもしないような影響を与える可能性があります。そして、それらはすぐには明らかにならないかもしれません。
実行ダイアログにsecpol.mscと入力し、[アプリケーション制御ポリシー]、[AppLocker]、[実行可能ファイル]の順に移動して、エディターを起動します。
右クリックして実行可能ルールを作成し、[次へ]をクリックして、許可するユーザーを選択するか、拒否。次に[ファイルパス]、[次へ]、[ファイルの参照]の順にクリックし、*.*
を使用します。 [次へ]をクリックするか、[作成]をクリックして、名前とコメントを付けることができます。
また、file/folder/pathの下にある*.*
の-Deny userXと言うこともできます。ただし、Word、Firefox、さらには標準のWindowsツールを含むすべてのアプリをホワイトリストに登録する必要があります。
Yesと言って、デフォルトのルールを作成します。
新しいルールをリストの一番上に移動して、他のルールよりも優先されるようにする必要があります。
注:シャットダウンはEXEであるため、ブロックされます。ただし、CD、MD、RDなどのネイティブDOSコマンドはDOSの一部であるため、この方法でブロックされることはありません。読み取り専用のファイル権限は、書き込み権限を持つべきではないファイル/フォルダーでこれらをブロックできます。