2009-05-12 3 views

답변

1

표준 FTP는 사용 권한이나 파일 소유권을 변경할 수 없지만 FTP 서버가 사용자 지정 사이트 명령을 통해 이러한 종류의 작업을 허용하는 것이 일반적입니다. 적어도 이것은 UNIX 호스트 FTP 서버에 일반적입니다.

표준 FTP 클라이언트로 서버에 연결하고 site help을 입력 해보십시오. 그러면 사용자 지정 SITE 명령 목록을 사용할 수 있습니다. 그런 다음 site help <cmd>을 입력하여 특정 명령의 사용법을 알 수 있습니다.

사용 권한 모델이 표준 UNIX 사용 권한보다 세분화되어있어 Windows 기반 서버에 대한 옵션이 확실하지 않습니다. UNIX 서버에서는 그룹 소유권과 사용 권한을 자주 변경할 수 있지만 루트가 아닌 이상 파일 소유자를 변경할 수 없습니다. 루트로서 FTP 서버에 로그인하는 것은 정말 나쁜 생각이라고 말할 필요가 없습니다.

도움이 되었기를 바랍니다.

당신은 실행, 또는 어떤 방식으로 사용자가 AD 사용자가 새 폴더와 상호 작용 할 FTP 서버의 어떤 종류의 말을하지 않습니다

1

R. IIS의 FTP 서비스를 사용하고 있고 FTP를 사용하여 새 폴더에 액세스하려면 AD 사용자가 필요하다고 가정합니다.

IIS는 Windows의 다른 파일 액세스 방법 (폴더의 속성보기에있는 보안 탭에서 액세스)과 동일한 액세스 권한을 사용합니다.

다음을 수행하는 WinForm을 만들었습니다. 새 로컬 사용자 계정을 만들고 그룹에 추가하고 FTP 서버의 기본 디렉토리 아래에 새 디렉토리를 만들고 새 가상 FTP 폴더를 만듭니다. 사용자는 폴더에 연결을 매핑 할 수 있습니다.) 마지막으로 새 사용자에게 새 디렉토리에 대한 모든 권한을 부여합니다. 디렉토리는 가상 폴더 였으므로 FTP를 통해 모든 권한을가집니다.

새 사용자를 만들 필요가없는 것처럼 들리지만 새 사용자에게 변경 권한을 부여하기 만하면됩니다. 내 애플 리케이션에서 나는 껍질 밖으로 배치 파일을 호출하고 몇 가지 매개 변수를 전달합니다.

액세스 권한을 디렉토리를 수정 (또는 파일의)에 대한 명령은 다음과 같습니다

나는 이러한 매개 변수는 더 이상 무엇을 의미하는지 기억하지 않습니다
cacls [The path to your new directory] /E /P [The AD user name]:C 

; 명령을 조사하여 원하는대로 정확하게 수행하는지 확인하는 것이 좋습니다.

는 VB.Net에서이 작업을 실행하려면 :

Shell(System.Configuration.ConfigurationSettings.AppSettings.Item("CACLS_batPath") & " " & strFolderPath & " " & _strUserName, AppWinStyle.NormalFocus, True, -1) 
그것을 매개 변수를 전달하는 배치 파일을 보이는 명령 창을 열고 실행합니다

. (WinForms에서이 작업을 수행하고 ASP.Net에서 전화를 걸기가 쉽지 않을 수도 있다는 것을 알게되었습니다. 여기서는 ASP에서 배치 파일을 실행하는 방법에 대한 정보를 확인하십시오.인터넷 : http://codebetter.com/blogs/brendan.tompkins/archive/2004/05/13/13484.aspx)를 BAT 파일의

내용은 다음과 같습니다

echo "update file permissions" 
cacls %1 /E /P %2:C 
REM PAUSE 

행운을 빕니다!

1

폴더를 만들고 C# 응용 프로그램에서 사용 권한을 설정하려고한다고 가정합니다.

당신은 DirectorySecurity 클래스 (msdn)

당신은 새로 생성 된 디렉토리에 대한 directorySecurity 클래스를 만들어보고 싶은 당신은 AD 사용자 및 그룹에 따라 적절한 액세스를 정의하는 FileSystemAccessRules를 추가합니다.

관련 문제