2

ColdFusion 9 add Windows Server Datacenter を実行しています。システム上にディレクトリを作成するバッチ ファイルを作成しました。cfexecuteバッチ ファイルを実行するために呼び出した場合cmd.exe、作成されたディレクトリの所有者は誰ですか? ColdFusion を実行しているユーザーですか、それともバッチ ファイルを作成したユーザーですか、それともそのどちらでもありませんか?

Windows のスケジュールされたタスクの作成が制限されてcfdirectoryおり、CF ユーザーのアクセス許可が昇格されているため、フォルダーの作成に使用できず、さらにmode=777は機能しません。ご意見やご感想をお待ちしております。

4

3 に答える 3

5

Coldfusion によって実行されるすべてのアクションは、coldfusion サービスが実行されているユーザーのコンテキストで実行されるため、すべてのファイル/フォルダーもそのユーザーによって所有されます。これは Windows サーバーであるため、UNIX コマンドを使用して権限を変更することはできません。

cfexecute にアクセスできる場合は、コマンド ラインからほとんど何でも実行できるため、彼らが cfdirectory を制限することは無意味です。おそらく、これを彼らに指摘する必要があります。アクセスを制限したい場合は、セキュリティ サンドボックスと、サービスを実行するユーザーの権限を使用してこれを行うことをお勧めします。

于 2016-03-07T14:25:24.203 に答える
0

snake's correct answerへの簡単な補足として、NIO を少し使用して、Java7+のファイル/ディレクトリの所有権を確認できます。

    Paths = createObject("java", "java.nio.file.Paths");
    Files = createObject("java", "java.nio.file.Files");
    fileOrDirectoryToCheck = Paths.get("c:\path\someFolder\", []);
    owner = Files.getOwner(fileOrDirectoryToCheck, []);
    writeDump("Owner: " & owner.getName());
于 2016-03-08T05:59:14.637 に答える