배포 프로세스를 자동화하는 데 Ansible을 사용하고 싶습니다. 그것에 대해 몇 마디 말씀 드리겠습니다.가능합니다, windows - 네트워크 폴더에 액세스하는 방법?
업데이트를 DB (SQL 스크립트) (다른 기계에) 다양한 네트워크 폴더에 파일의
사본 미리 정의 된
를 들어 내 경우에는 배포 프로세스는 두 단계로 구성 이 목적은 Installer.exe라고하는 특별한 자체 작성 프로그램을 사용합니다. 내가 직접 실행하면 내 자격 증명으로 작업을 수행합니다. 그래서 모든 권리가 있습니다. 네트워크 폴더 및 SQL Databese에 대한 액세스 대신 내 프로그램 (Installer.exe) 대신 래퍼로 사용할 수 있습니다. 필자의 목표 시나리오 - 구성 파일을 준비하고 원격 Windows 컴퓨터에서 설치 프로그램을 실행합니다. 문제가 발생했습니다 - 내 프로그램이 Ansible에 의해 실행되었습니다. 내 권한이 없습니다. 동일한 컴퓨터에서 SQL 데이터베이스 1에 성공적으로 액세스 할 수 있지만 원격 컴퓨터 또는 액세스 네트워크 폴더에서 SQL 데이터베이스 2에 액세스 할 수는 없습니다. 나는 항상 네트워크 액세스에서 "액세스가 거부되었습니다."SQL Database는 NT AUTHORITY \ ANONYMOUS LOGON에 대해 말합니다. 이중 홉 문제처럼 보이지만 정확히 이해하지는 못합니다. 이중 홉은 서비스 계정에 관한 것이지만 내 개인 accoun와 함께 원격 서버에 액세스하려고합니다.
UPD 1 : 해당 그룹의 내 변수는 다음과 같습니다 나는 다음과 같은 명령을 실행 Ansible 어떤 행동하기 전에
ansible_user: [email protected]
ansible_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore
ansible_winrm_operation_timeout_sec: 120
ansible_winrm_read_timeout_sec: 150
ansible_winrm_transport: kerberos
ansible_winrm_kerberos_delegation: yes
:
$> kinit [email protected]
및 암호를 입력합니다. 나중에 klist를 실행하면 유효한 티켓을 볼 수 있습니다. 도메인 계정을 사용하려고했지만 로컬 시스템 계정은 사용하지 않았습니다. 내가 제대로하고 있니? 내가 플레이 북과 같은 명령을 추가하는 경우 :
UPD 2이
...
raw: "klist"
...
내가 좋아하는 뭔가를 얻을 : 윈도우 머신이 실행되고 같은 문제 문을 기반으로
fatal: [targetserver.abc.ru]: FAILED! => {"changed": true, "failed": true, "rc": 1, "stderr": "", "stdout": "\r\nCurrent LogonId is 0:0x20265db4\r\nError calling API LsaCallAuthenticationPackage (ShowTickets substatus): 1312\r\n\r\nklist failed with 0xc000005f/-1073741729: A specified logon session does not exist. It may already have been terminated.\r\n\r\n\r\n", "stdout_lines": ["", "Current LogonId is 0:0x20265db4", "Error calling API LsaCallAuthenticationPackage (ShowTickets substatus): 1312", "", "klist failed with 0xc000005f/-1073741729: A specified logon session does not exist. It may already have been terminated.", "", ""]}
같은 문제가 있습니다.네트워크 폴더에 액세스하려고하면 액세스가 거부됩니다. 또한 : win_command : whoami는 내가 ansible_user로 설정 한 적절한 도메인 사용자를 보여줍니다. win_command : 'net use s : //some.server.name/a_network_folder/user : domain \ username password'는 "done successfully"실행을 제공합니다. win_command : net use는 드라이브 s :를 "사용할 수 없음"으로 표시합니다. 이 문제를 해결할 수 있었습니까? 방법? –