ファイルの権限を変更するための、Linuxのchmod
と同等のWindows版はありますか?
Gregがattrib
に言及 - しかしattrib
はchmod
に近くないattrib
は単一ファイルの読み取り専用/隠し属性を設定できます - それは icacls
のようなきめ細かい制御を提供しません。
icacls
はアクセス制御リストを設定/リセットするので、あなたは個々のSIDとグループに対する権利を許可/拒否することができます。それはかなり複雑です。
これは私が github Gist に保存した例です。フォルダ内のすべてのファイルの所有権とアクセス制御リストをリセットします。特に、以前のインストールからファイルを移動するときに、「この操作を実行するには..からのアクセス許可が必要です」という厄介な問題を修正するのに特に便利です。
icacls * /reset /t /c /q
リセットを実行すると、既存のリストがデフォルトのリストに置き換えられます。/t
はすべてのファイル、フォルダ、サブフォルダに再帰的に作用します/q
は成功メッセージを表示しません
エラーが発生しても/c
は残りのファイルを継続します。
既存のACLをバックアップしたり、すべてのACLに適用したりすることもできます。さまざまなオプションとスイッチについて非常によく説明している ss64 をご覧ください。
LinuxとDOS/Windowsは異なる目的で属性を使用しているので(残念ながら)まったく同じことはできません。(Chathurangaが述べたように)セキュリティモデルは異なります。
H
)属性とシステム(S
)属性がありますが、それらはLinuxにはありません。そこでは、ファイル名の前にドット(.
)を付けてファイルを隠します。A
)属性に相当するものもありません。x
)Linux属性に相当するものはありません。D
)属性と同等です(しかしそれはとにかく変更することはできません)。DOSファイルの属性R
(読み取り専用)は、同等のものと見なされる可能性のあるものです。この属性setは、w
属性とほぼ同じです。すべて行方不明です。しかし、この属性を変更する許可はACLの影響を受けます。
Windows上でchmod
/chown
と同等のものを使用するのはクールかもしれません。おそらく、何らかのスクリプト言語で書かれていて、それが今度はattrib
とcacls
(または後継者)を呼び出すのです。
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C
ドメインユーザーのフォルダに対するアクセス許可を変更するのが魅力的です。 cacls
とicacls
に関する追加情報。
attrib
コマンドは、非常に基本的なもの(読み取り専用、アーカイブフラグ)に最も近いものです。それからACL(アクセス制御リスト)コマンドcacls
があります。大事なことを言い忘れましたが、Windowsは実際にはPosixに準拠しているので、unix風のフラグが存在します。 Cygwinツールセットをインストールすると、chmod
が手に入ります。 (ちょっと話題を異にしているのですが、unixコマンドに相当するものを探しているので、Cgygwinをダウンロードしてインストールすることはあなたにとって興味深いものかもしれません。)
Windowsのコマンドtakeown.exe
を使用して、現在のログインユーザーIDにファイルのアクセス権を変更します。 http://technet.Microsoft.com/ja-jp/library/cc753024.aspx
WindowsのセキュリティモデルはLinuxとは異なるため、Windowsにはchmodという名前のものはありません。 attrib
コマンドを使用して、オブジェクトのプロパティを変更できます。 (しかし、それらはよりグローバルな資産に向かっています。)
私にとっては、回避策としてCygwinをインストールし、そのbinフォルダをシステムパスに追加します。それから、あなたがコマンドラインで "chmod"を実行すれば、それはうまくいくでしょう。私はその正当性を検証していませんが。