네트워크 서비스 계정에 기본적으로 임시 파일 권한을 받어야합니까?

StackOverflow https://stackoverflow.com/questions/167605

문제

최근에 나는 웹 포름을 통해 Crystal Reports에서 PDF를 생성하는 작업을하고있었습니다. C : Windows temp dir의 권한 설정으로 인해 발생하는 것으로 결정되었습니다. 네트워크 서비스 계정 에이 폴더에 대한 전체 액세스 권한을 부여하여 즉시 문제를 해결했습니다. 그러나 네트워크 서비스 계정에 기본적으로 이러한 권한이없는 이유가 있습니까?

Rick Strahl 은이 질문을합니다 여기. 이 작업에 문제가 없어야하는 것처럼 들리지만 Rick은 기본값이 왜 그런 식으로 설정되어 있는지 명확하지 않았습니다.

웹 서버는 Windows Server 2003입니다

도움이 되었습니까?

해결책

요즘 기본 옵션은 더 안전한 옵션 인 경향이 있습니다. 다른 이유가 없다고 생각합니다.

나는 당신과 같은 문제를 겪었고, 내 환경에서 방금 허가를 받고 계속 움직였습니다.

이 게시물 Crystal Reports의 결함이라고 제안하며, 이는 Path.getTempPath ()와 같은 API를 사용하는 대신 %Windir % temp를 명시 적으로 참조합니다. 실제로 Windows 2003의 네트워크 서비스 계정에서 실행될 때 Path.getTempPath () Return %Windir % temp를 보았습니다.

다른 팁

이것 게시하다 임시 파일을 작성하면 Windows Temp 폴더를 사용하여 지원하는 주석이 있습니다.

MSDN 기사 네트워크 서비스 계정을 사용하면 "ASP.NET 애플리케이션이 다른 위치에서 파일 또는 폴더를 사용해야하는 경우에 액세스 할 수 있어야합니다."임시 폴더에 대한 기본 제한은 Temp 폴더가 아니기 때문이 아닙니다. 단일이지만 IIS 루트 폴더 외에 다른 모든 위치는 기본적으로 제한됩니다.

%Windows% temp 일반적인 유혹과 바핑을위한 것이 아닙니다. Crystal Reports가 해당 디렉토리를 남용하고 있음이 분명합니다. 개발자가 너무 게으르지 않아서 관리자 계정 이외의 기계를 부팅하기에는 많은 일이 발생합니다.

모든 사용자 (네트워크 서비스 포함)는 자체 온도 공간이 있으며, 전체 액세스 권한이있는 전체 문서 및 설정. 우승자는 CR처럼 행동하지 않으며 자신의 임시 공간을 사용합니다.

요컨대, win temp에 대한 기본 권한에는 아무런 문제가 없습니다. 나는 그것이 단순히 Windows의 내부 작업을위한 것이라고 생각합니다. (그러면 다시, 그 디렉토리가 처음에 존재하지 않았다면 관련된 모든 사람에게 훨씬 나을 것입니다.)

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