2012-11-07 6 views
1

네트워크 디스크의 파일에 액세스 할 수있는 서비스를 만드는 데 문제가 있습니다.Windows 서비스에 대한 네트워크 액세스

서비스에는 관리자 권한이 있어야하며 관리자 권한이없는 사용자가 서비스를 실행해야합니다.

나는 UNC 로 경로를 보내고 파일은 서비스로 볼 수 있지만 시도 열거 나 네트워크 드라이브에 아무것도 할 때 ACCES_DENIED 오류를 반환합니다.

서비스를 서버로 실행하면 모든 것이 정상적으로 작동합니다.

나는 대답을 찾으려하지만 어디서나 나는 전혀 도움이되지 않는 부분적인 답만을 찾을 수 있습니다.

========

나는 시스템이 네트워크에 접근 할 수 없기 때문에 표준 서비스가 기록 읽어 보시기 바랍니다. 그래서 나는 그것이 작동하지 않았다 LocalService

  1. NetworkService로 ID를 기록했습니다. 해당 사용자 중 하나로 실행 한 후 내 서비스에서 파일을 저장할 수 없습니다.
  2. 어떤 종류의 관리자 계정이 있습니다. 그러나 그 성공을 관리하지는 못했습니다.
  3. 실제로 로그인 한 사용자입니다. 현재 사용자의 비밀번호를 가져 오는 방법을 모르겠습니다. 여전히 관리자 권한이없는 사용자에게는 작동하지 않습니다.

========

내가 무엇을 할 수 가르쳐주세요? 네트워크 리소스를 어떻게 든 사용하는 서비스가 많이 있습니다. 그들은 어떻게합니까?

답변

2

충분한 권한을 가진 사용자로 실행되도록 서비스를 구성해야합니다. 이 경우 네트워크 공유 권한을 찾고 있습니다. 일반적으로 적절한 권한을 가진 도메인 사용자가 필요합니다. 일반적으로 네트워크 관리자에게 이러한 용도로 전용 사용자 계정을 만들도록 요청할 것입니다.

서비스가 작동하는 방식에 대해 잘못된 정보가있는 것으로 보입니다. 로그온 한 사용자의 계정으로 서비스를 실행하는 방법에 대해 이야기합니다. 로그온 한 사용자가 없을 때 서비스가 실행됩니다. 그리고 언제든지 여러 명의 기록 된 사용자가있을 수 있음을 기억하십시오.

+0

anxser의 Thx. 서비스를 만들 때 실행할 서비스를 지정합니다. 그래서 나는 네트워크 드라이브에 대한 액세스 권한과 관리자 권한이 필요하다고 생각합니다. NT AUTHORITY \ NetworkService에서 실행할 때 네트워크에 액세스 할 수 있지만 f.e c :/Program Files에 대한 액세스 권한이 없으므로이 사용자에게는 관리자 권한이 없다고 가정합니다. 이 서비스에 대해 별도의 관리자 계정을 지정하면됩니다. – makefun

+0

나는 그렇게 생각한다. 그것은 확실히 최고의 솔루션입니다. 실제로 네트워크에서 'NetworkService'는 네트워크 공유를 볼 수 없습니다. –

+0

더 거칠 수 있습니다. Win7에서 실행할 때 시스템 계정 (네트워크 액세스 권한이 있음)에서도 작동합니다. WinXp에서만 access_denied가 있는데, 불행히도 작동해야합니다. 나는이 특정 서비스에 대한 전체 새 계정을 만들지 않고 서비스를 설치하는 계정을 사용하는 것이 가능하다고 생각합니다. (우리에게 필요한 모든 권한이 있음을 알고 있습니다) 그렇다면 어떻게 현재 활성 사용자의 CreateService 기능 자격 증명으로 전달할 수 있습니까? 분명히 다른 이름과 암호를 가질 수 있기 때문입니다. 그래서 이렇게하는 것이 일반적인 방법일까요? – makefun

관련 문제