문제

C#으로 작성된 콘솔 프로그램이 사용자 Foo에서 실행됩니다. 프로그램은 파일을 만듭니다. 어떤 상황에서는 IUSR에서 실행되는 웹 응용 프로그램이 콘솔 앱에서 만든 파일을 삭제할 수 있어야합니다.

파일이 생성 될 때 IUSR에 삭제 (또는 동등한)를 부여하고 싶습니다. C#에서 어떻게 할 수 있습니까?

내가 찾았 어 Fileiopermission 그리고 그것이 무엇인지 확실하지 않지만 특정 사용자를 지정할 수 없으므로 지금은 내가 필요한 것입니다.

누구 든지이 작업을 수행하는 방법에 대한 좋은 포인터를 얻었습니까?

그건 그렇고, 나는 일부 회로에서 IUSR이 파일에 대한 권리를 삭제하는 것이 합리적으로도 피할 것이라는 것을 알고 있지만이 경우 관련 파일의 특성은 IUSR에 이러한 권리를 부여하는 것이 행복하다는 것을 의미합니다.

도움이 되었습니까?

해결책

Windows 탐색기 사용 -> 파일이있는 디렉토리를 선택하십시오 -> 마우스 오른쪽 버튼 클릭 -> 속성 -> 보안 탭 -> "수정"오른쪽을 iusr_xxx 사용자 계정으로 제공하십시오.

콘솔 앱과 웹 앱을 모두 실행하는 컴퓨터에 물리적으로 액세스 할 수 있다고 가정합니다.

편집 : NTFS 권한의 프로그램 설정을 위해서는 System.Security.AccessControl.FileSecurity 클래스와 file.setAccessControl 방법.

도움이되기를 바랍니다.

다른 팁

@Sabau : 귀하의 답변에 대한 수정에 감사드립니다. 다시 시도해 보도록 영감을주었습니다. 이번에는 내가 해결 한 것 같습니다. 나는 다른 사람들이 어떻게 끝났는지 볼 수 있도록 약간의 테스트 프로그램을 작성했습니다. 내 테스트를 위해 나는 IUSR에 완전히 제어했지만 분명히 당신은 원하는 것을 추가/거부 할 수 있습니다.

    using System;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Security.Permissions;
using System.Security.Principal;
using System.Security.AccessControl;

namespace GrantingFilePermsTests
{
    class Program
    {
    static void Main(string[] args)
    {
        string strFilePath1 = "E:/1.txt";
        string strFilePath2 = "E:/2.txt";

        if (File.Exists(strFilePath1))
        {
        File.Delete(strFilePath1);
        }
        if (File.Exists(strFilePath2))
        {
        File.Delete(strFilePath2);
        }

        File.Create(strFilePath1);
        File.Create(strFilePath2);
        // Get a FileSecurity object that represents the
        // current security settings.
        FileSecurity fSecurity = File.GetAccessControl(strFilePath1);

        // Add the FileSystemAccessRule to the security settings.
        fSecurity.AddAccessRule(new FileSystemAccessRule("IUSR_SOMESERVER",FileSystemRights.FullControl,AccessControlType.Allow));

        // Set the new access settings.
        File.SetAccessControl(strFilePath1, fSecurity);



        }
    }
}

그들의 답변에 감사드립니다.

빠른 Google 검색이 생성되었습니다 C#로 NTFS 권한 설정

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top