Windows 서비스 파일 액세스 권한 부여


0

서비스를 사용하여 openssh와 연결을 시도하고 있습니다. 불행히도 openssh는 인증 키를 잘 읽으려는 사용자 만 읽을 수 있어야합니다.이 키를 건너 뛸 수있는 방법이 없다면 찾지 못했습니다). 이것은 다음을 사용하여 일반 사용자에게 잘 작동합니다.

icacls .\private.key /inheritance:r
icacls .\private.key /grant:r "%username%":"(R)"

Windows 서비스는 자체 세미 사용자를 실행하므로 해당 사용자에게 올바른 파일 권한을 부여 할 수 없습니다.

편집 : 누구든지 다른 오픈 소스에 대한 좋은 아이디어가 있거나 인증 키로 터널을 만드는 데 사용할 수있는 ssh 프로그램 또는 라이브러리를 무료로 사용할 수 있다면 나는 모두 귀입니다. 많은 사람들이 창을 제대로 지원하지 못하는 것 같습니다.


안녕! 서비스가 현재 어떤 계정으로 실행되도록 설정되어 있습니까? 해당 파일을 읽을 수있는 권한을 해당 계정에 부여하려고 시도한 결과는 무엇입니까? 편집 관련 : SU의 주제가 아닌 소프트웨어는 권장하지 않습니다.
Ƭᴇcʜιᴇ007

서비스 속성 "로그온"탭에서 서비스를 실행하는 사용자를 변경할 수 있습니다. 또는 시도 했습니까 : icacls ./test.txt / grant : r "SYSTEM": "(R)"
Garr Godfrey

@ Ƭᴇcʜιᴇ007 "local system"으로 실행되도록 설정되어 있습니다. 서비스는 다양한 컴퓨터에서 프로그래밍 방식으로 생성되므로 서비스를 실행할 사용자를 선택할 수 없습니다.
Excludos

@GarrGodfrey 언뜻보기에 즉각적인 오류가 발생하지 않기 때문에 작동하는 것처럼 보이지만 실제 ssh 연결은 어떤 이유로 작동하지 않습니다. 추가 오류가 발생하는지 (또는 더 잘 작동하는지) 확인하기 위해 계속 놀 것입니다. 이것이 필요한 모든 것이라면 정말 간단한 해결책처럼 보입니다.
Excludos

1
SYSTEM은 "로컬 시스템"의 사용자 이름입니다. 그러나 대화식으로 작동하도록 설정되지 않은 서비스에는 다른 제한이 있습니다.
Garr Godfrey

답변:


1

답변으로 게시하여 쉽게 찾을 수 있습니다 (원래 주석에서).

Windows 서비스가 실행되는 기본 사용자 이름은 "SYSTEM"입니다. 따라서 권한을 설정하는 명령 줄 방법 ​​:

icacls .\private.key /inheritance:r
icacls .\private.key /grant:r "SYSTEM":"(R)"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.