2011-12-30 5 views
6

Windowsファイルのアクセス権は* nixのアクセス許可とは全く異なりますので、chmodはGnuWincoreutilsのWindowsではどのように実装されていますか?ウィンドウのchmodはどのように機能しますか?

+0

おそらく全くありません。いくつかのGnuWin32バイナリから見たものは、少なくともWindows上で動作しないものを削除するだけです。 – Joey

+0

これは実際にプログラミングに関するものであれば、そのまま言い換えてください。 – Randolpho

+4

"Windowsでchmod ... _implemented_がどのようにプログラミングの質問であるのか"については不明な点は何ですか? –

答えて

2

あなたの質問が間違っていない限り、私はこれが本当にサーバー障害の問題だと思います。

しかし、これは実際にはWindowsでPOSIX準拠のchmodを実装することに関わるプログラミングであると仮定して、質問に答えるつもりです。まず、いくつかの背景... this wikipedia articleは、2つのシステムの相違点について議論する公正な仕事をしています。要するに、Windows NTベースのOS(Windows XP非FAT、Windows Vista、Windows 7、Windows Server 200X)は、VAXとUNIXに似ているアクセス制御リストシステムを使用します。彼らはまた、単に読み書き/実行するよりもいくつかのアクセス許可を持っています。

しかし、違いはあまり偉大ではありません。ファイルの所有者は、POSIXシステムと同じようにファイルのパーミッションを与えることができますが、所有者、所有者のグループ、およびPOSIXのように世界の他の国では、特定のユーザとユーザグループに権限を微調整することができます。

ユーザーが複数のグループに所属できるとすれば、グループアクセス権を設定すると、ユーザーが所属するすべてのグループがファイルACLに追加され、同じアクセス許可が設定されると思います。世界は十分に簡単です、それは「Everyone」グループです。同所有者。私はまた、アクセス許可そのものがPOSIX許可、すなわち読み書き、実行に限定されると考えています。

これは、ユーザーがファイルで処理したいと思う大部分のアクセス許可の問題の99%をカバーするので、chmodユーティリティが使用する限り、そのイメージを表示します。ユーザーはいつでもファイルのプロパティウィンドウを開いて、心臓のコンテンツへのアクセス許可をより細かく調整できます。

Windows上でchmodを実行するには、コマンドスイッチを追加して、ACLに特定のユーザーと権限を追加することができます。

編集
私はより直接的に対象を扱うStackOverflowの上で右ここthis answerを見つけました。

明らかに、_chmodと呼ばれるwin32関数があります。この関数は、UNIX風のカーネルではほぼchmodのように動作します。

+0

アンダースコアのプレフィックス関数は(通常)常にcランタイム拡張です。 _chmodは、Visual C++の拡張機能であり、厳密にはWin32関数ではありません。 –

+0

@ChrisBeckeあなたはそうです、それは[Microsoftランタイム](http://msdn.microsoft.com/en-us/library/sk54f3f5(v = vs80).aspx)の一部ですが、必ずしもWin32 – Randolpho

関連する問題