2017-08-20 24 views
0

問題は非常に永続的です。 私は自己解凍型のrarファイル、例えばfiles.rarを持っています。 これはC:¥Program Files(x86)¥CompanyName¥XDS¥binで解凍されていますIcacls、Program Files(x86)のサブフォルダにあるアクセス許可の問題

これで、binフォルダにあるバッチファイルinstall.batが起動します。 32ビットバージョンのcmd.exeがこのバッチファイルを実行します。 これまでのところ、これはすべてうまくいきました。

しかし、私はbinフォルダ内の1つのファイルの名前を変更し、別のファイルを削除する必要があります。なぜそこにファイルを置いて削除する必要があるのだろうと思いますか?さて、32ビット版と64ビット版のドライバがあります。ターゲットに応じて、どちらか一方をNatUSB.dllに変更し、他方を削除する必要があります。

私は、このバッチファイル(簡体字)を実行した場合:

icacls natusb*.dll /inheritance:r /grant:r everyone:(OI)(CI)F 
icacls natusb*.dll /T 

rename NatUSB_32_ezusb.dll NatUSB32.dll 
del NatUSB_32_winusb.dll 

を私は次のような問題があります。

  • 私は管理者権限が必要ですし、それは私の会社の 目的のために受け入れられないの
  • の名前を変更すると「アクセスが拒否されました」と表示されます。すでにNatUSB32.dllが存在する可能性があります。 しかし、管理者として、私は、このファイルを削除することはできません:デルNatUSB_32_winusb.dllもその後、私はBIN2に2つのファイルをコピーしようとした

を「アクセスが拒否されました」を与える

  • を「アクセスが が拒否されました」 。理由:私が "icacls bin/T"を実行すると、私が許可情報を取得するファイルのリストが長すぎますので、私はこの情報をいくつかのファイルのためだけに得ることを望みました。不幸なことに、管理者とシステムのファイル権限が「フルコントロール」であっても、私は「アクセスが拒否されました」(bin2にコピーしようとしている間)ということになります。 ところで、icacls natusb * .dll/Tは権限を与えません。これはフォルダ全体でしか動作しないようです。

    私はXSD(親)フォルダに午前行う "BIN2 /継承をICACLS:R /助成金:R皆:(OI)(CI)F" 私は 次に、

    "BIN2/T ICACLS"

    BIN2みんな:(OI)(CI)(F) BUILTIN \ユーザー:(OI)(CI)(F)

    私はまだカントコピーBIN2へビンから数のnat * .dllが。

    binフォルダにアクセス権を設定しようとすると(上記と非常に似ています)、「bin:ハンドルが無効です」というメッセージが表示されます。

    bin NT SERVICE\TrustedInstaller:(I)(F) 
        NT SERVICE\TrustedInstaller:(I)(CI)(IO)(F) 
        NT AUTHORITY\SYSTEM:(I)(F) 
        NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F) 
        BUILTIN\Administrators:(I)(F) 
        BUILTIN\Administrators:(I)(OI)(CI)(IO)(F) 
        BUILTIN\Users:(I)(RX) 
        BUILTIN\Users:(I)(OI)(CI)(IO)(GR,GE) 
        CREATOR OWNER:(I)(OI)(CI)(IO)(F) 
    

    、私はこれを変更することはできませんICACLSで、前に述べたように、次のよう

    はところで、ビン上のアクセス権があります。ところで、セキュリティタブに重複するグループや名前は表示されません。

    簡潔に言えば:ファイルの名前を変更したり、ファイルを削除したり(現在の問題を解決するために緊急でなければならない)、C:\ Program Files(x86)\ XXX \ XDS \ binからXDS \ bin2にファイルをコピーすることに問題があります。

    問題を解決するには、アクセス権を強制するためにスクリプトでicaclsまたは別のビルドコマンドを使用する必要があります。フォルダのセキュリティタブにアクセス権を設定することはできません。スクリプトから行う必要があります。また、サードパーティのソフトウェアをインストールすることはできません。自由に使用できるツールのための数KB、おそらく1MBは、他のすべてが失敗した場合に許容されるかもしれません。

    ソリューションには管理者権限も必要ありません。

  • 答えて

    0

    これはあなたの主な問題である:

    icacls natusb*.dll /inheritance:r /grant:r everyone:(OI)(CI)F 
    

    (OI)(CI)フラグはディレクトリの、ないファイルに対してのみ有効です。フラグが無効なため、アクセス権は無視されます。このコマンドの正味の効果は、ファイルからすべてのアクセス許可を削除し、管理者を含むすべてのユーザーへのアクセスを暗黙的に拒否することです。無効なフラグを取る場合

    、コマンドが期待どおりに動作します:あなたはは、管理者のアクセスが必要になりますかのよう

    icacls natusb*.dll /inheritance:r /grant:r everyone:F 
    

    はしかし、問題のあなたの説明与えられ、それが見え、権限理由は、管理者以外のユーザーに対しては読み取り専用です。別のフォルダ(ユーザーのApplication Dataフォルダなど)にインストールしたり、あらかじめ宛先フォルダの権限を変更したりできない限り、その方法はありません。

    フォルダのアクセス許可を変更すると、セキュリティ上の脆弱性が発生する可能性があります。

    +0

    こんにちは。あなたの返事をとてもお考えください。私はあなたの解決策を試みます。 – user2943111

    +0

    もちろん、ありがとうございます。 – user2943111

    +0

    事前に権限を変更するにはどうすればよいですか?ファイルのパーミッションをrarファイルに保存して継承を無効にすることはできますか? PFx86の下にあるサブディレクトリで、全員または所有者にフルアクセスできるようになりますか?とにかく、それが私が見つけようとしているものです。あなたは私のすべての仕事をする必要はありませんが、すべての助けが高く評価されます。 – user2943111

    関連する問題