2

次の権限を持つパスがあります。

E:\MY_PATH                  BUILTIN\Administrators:(OI)(CI)F
                            NT AUTHORITY\SYSTEM:(OI)(CI)F
                            BUILTIN\Administrators:F
                            CREATOR OWNER:(OI)(CI)(IO)F
                            BUILTIN\Users:(OI)(CI)R
                            BUILTIN\Users:(CI)(special access:)
                                              FILE_APPEND_DATA

                            BUILTIN\Users:(CI)(special access:)
                                              FILE_WRITE_DATA

このパスには、変更または削除できないテキストファイルがあります。行を追加することしかできません。

このファイルへの書き込みをしばらく許可してから、元の設定に戻す方法を知りたいのですが。

ログファイルで大きくなりすぎているので、古い行は省略して、最近の1000行だけを残したいと思います。

ただし、行を削除したり、ファイルを削除したりする権限はありません。

助けてください。

前もって感謝します。

CACLS /を読んだばかりですか?しかし、私はこのコマンドの使い方を理解していませんでした。

4

1 に答える 1

2

どうやって問題を解決したいのかよくわかりません。
ユーザーに常にログを変更する権利を与えてみませんか?管理者がACLを変更する必要がある場合、なぜ彼はログファイルを編集しないのですか?ロギングサービス/アプリの実行中にログを編集できますか?

たくさんの質問、今私の答えに。私はcaclsではなくicaclsを使用します。

権利を付与するには:
icacls logfilename /grant *S-1-5-32-545:(WD)

権利を削除するには(これは、付与されたACLエントリがそのファイル上のそのユーザーの唯一のエントリである場合にのみ機能します!):
icacls logfilename /remove *S-1-5-32-545

SIDはOS言語に依存せず、英語のWindowsとドイツ語のWindowsで同じように機能するため、上記の呼び出しでは名前ではなくSIDを使用しています。

保存-復元ロジックが必要な場合は、ファイルのACL呼び出しを保存し、次を
icacls logfilename /save aclsavefile
使用してACLを復元できます。
icacls . /restore aclsavefile

ご覧のとおり、保存にはファイル名が必要であり、復元にはフォルダー名が必要です(ファイル名はaclsavefileに保存され、そこから取得されます)。注意:Windows 7では、ACLの復元には(バックアップ?)権限が必要であり、管理者として実行した場合にのみ実行できます。

于 2012-08-15T12:29:52.620 に答える