OCA auf Mac: kann keine Pakete installieren

Antworten
feltel
Beiträge: 222
Registriert: 09 Dez 2014, 07:22

OCA auf Mac: kann keine Pakete installieren

Beitrag von feltel »

Wir testen gerade die Einführung von Macs und wollen diese natürlich auch mit OPSI was die installierte Software angeht pflegen. Ich habe hier ein Macbook, frisch ausgepackt und mit dem aktuellen OCA 4.3 4.3.0.7-1 bespielt. Der OCA reagiert auch auf z.B. Nachrichten senden und der OCA springt bei on-demand-Anforderungen an. Grundsätzlich funktioniert er also. Das Backend ist ebenfalls auf aktuellem Stand mit OPSI 4.3 auf Debian 12.4 'Bookworm'.

Der Mac ist ein Macbook Air M2, macOS ist auf Stand 14.2.1. Rosetta ist aktiviert.

Will ich jetzt ein Paket installieren sieht man kurz den Notifier und ein zwei weitere OPSI-Fenster, danach ist Mac-seitig alles beendet. Im Log findet sich dann:

Code: Alles auswählen

(84)      [6] [2024-01-04 06:38:50.702] [] Actionrequest for product: opsi-mac-client-agent is (original/actual): (setup / setup)
(85)      [6] [2024-01-04 06:38:50.702] [opsi-mac-client-agent] Actionrequest for Product: opsi-mac-client-agent is: setup
(86)      [6] [2024-01-04 06:38:50.728] [opsi-mac-client-agent] HTTPSender Post succeeded
(87)      [6] [2024-01-04 06:38:50.728] [opsi-mac-client-agent] Server-FQDN: 10.0.1.29 Server-IP: 10.0.1.29
(88)      [6] [2024-01-04 06:38:50.729] [opsi-mac-client-agent] JSON Bench for backend_getInterface "params":[],"id":1} Start: 06:38:50:702 Time: 00:00:00:027
(89)      [6] [2024-01-04 06:38:50.855] [opsi-mac-client-agent] HTTPSender Post succeeded
(90)      [6] [2024-01-04 06:38:50.855] [opsi-mac-client-agent] Server-FQDN: 10.0.1.29 Server-IP: 10.0.1.29
(91)      [6] [2024-01-04 06:38:50.855] [opsi-mac-client-agent] JSON Bench for productPropertyState_getValues "params":["opsi-mac-client-agent","","macbook-air. Start: 06:38:50:813 Time: 00:00:00:042
(92)      [7] [2024-01-04 06:38:50.856] [opsi-mac-client-agent] Mapped result of productPropertyState_getValues: systray_request_notify_format=productname : request\nsetup_after_install=\ndns_name_source=config-file\nsystray_check_interval=180\nsystray_install=False\nallow_reboot=False
(93)      [6] [2024-01-04 06:38:50.871] [opsi-mac-client-agent] HTTPSender Post succeeded
(94)      [6] [2024-01-04 06:38:50.871] [opsi-mac-client-agent] Server-FQDN: 10.0.1.29 Server-IP: 10.0.1.29
(95)      [6] [2024-01-04 06:38:50.871] [opsi-mac-client-agent] JSON Bench for getProduct_hash "params":["opsi-mac-client-agent","nova.verw.lpz.d Start: 06:38:50:856 Time: 00:00:00:015
(96)      [7] [2024-01-04 06:38:50.871] [opsi-mac-client-agent] in TOpsi4Data.initProduct : opsi-mac-client-agent
(97)      [6] [2024-01-04 06:38:50.886] [opsi-mac-client-agent] HTTPSender Post succeeded
(98)      [6] [2024-01-04 06:38:50.886] [opsi-mac-client-agent] Server-FQDN: 10.0.1.29 Server-IP: 10.0.1.29
(99)      [6] [2024-01-04 06:38:50.886] [opsi-mac-client-agent] JSON Bench for productOnClient_getObjects "params":["",{"clientId":"macbook-air.verw.lpz.doc Start: 06:38:50:871 Time: 00:00:00:015
(100)     [6] [2024-01-04 06:38:50.887] [opsi-mac-client-agent] scriptname: "setup.opsiscript", special path: "/private/var/opsisetupadmin/opsi_depot/opsi-mac-client-agent/"
(101)     [6] [2024-01-04 06:38:50.903] [opsi-mac-client-agent] HTTPSender Post succeeded
(102)     [6] [2024-01-04 06:38:50.903] [opsi-mac-client-agent] Server-FQDN: 10.0.1.29 Server-IP: 10.0.1.29
(103)     [6] [2024-01-04 06:38:50.904] [opsi-mac-client-agent] JSON Bench for productOnClient_updateObject "params":[{"clientId":"macbook-air.verw.lpz.docemu Start: 06:38:50:887 Time: 00:00:00:017
(104)     [6] [2024-01-04 06:38:50.904] [opsi-mac-client-agent] Using new Depot path:  /private/var/opsisetupadmin/opsi_depot/
(105)     [7] [2024-01-04 06:38:50.904] [opsi-mac-client-agent] computername: macbook-air.verw.lpz.docemus.net
(106)     [7] [2024-01-04 06:38:51.280] [opsi-mac-client-agent] Load from Unicode file
(107)     [7] [2024-01-04 06:38:51.282] [opsi-mac-client-agent] EFOpenError: Failed loadUnicodeTextFile: "/private/var/opsisetupadmin/opsi_depot/opsi-mac-client-agent/setup.opsiscript (will retry)", system message: "Unable to open file "/private/var/opsisetupadmin/opsi_depot/opsi-mac-client-agent/setup.opsiscript": Operation not permitted"
(108)     [7] [2024-01-04 06:38:51.556] [opsi-mac-client-agent] EFOpenError: Failed loadUnicodeTextFile: "/private/var/opsisetupadmin/opsi_depot/opsi-mac-client-agent/setup.opsiscript" (will retry 1), system message: "Unable to open file "/private/var/opsisetupadmin/opsi_depot/opsi-mac-client-agent/setup.opsiscript": Operation not permitted"
(109)     [3] [2024-01-04 06:38:51.783] [opsi-mac-client-agent] EFOpenError: Failed loadUnicodeTextFile: "/private/var/opsisetupadmin/opsi_depot/opsi-mac-client-agent/setup.opsiscript" (will not retry), system message: "Unable to open file "/private/var/opsisetupadmin/opsi_depot/opsi-mac-client-agent/setup.opsiscript": Operation not permitted"
(110)     [3] [2024-01-04 06:38:51.784] [opsi-mac-client-agent] Exception in CreateAndProcessScript: Script.loadFromUnicodeFile: System error, (OS Code 9):\nBad file number
(111)     [4] [2024-01-04 06:38:51.785] [opsi-mac-client-agent] Empty script file: /private/var/opsisetupadmin/opsi_depot/opsi-mac-client-agent/setup.opsiscript
Es ist egal, ob es ein selbst gebautes Paket ist oder wie in dem Fall das OCA-Paket selbst. Das Mounten des Depots scheint zu funktionieren, weil der Samba ein Logfile für den Client erstellt. Der INTERNAL ERROR-Fehler bei 2024/01/04 10:50:04.529363 macht mich stutzig.

Auszugsweise:

Code: Alles auswählen

[2024/01/04 10:50:04.031245,  3] ../../lib/util/access.c:372(allow_access)
  Allowed connection from 2a02:8106:222:8a00:bc2f:349c:6afd:b7df (2a02:8106:222:8a00:bc2f:349c:6afd:b7df)
[2024/01/04 10:50:04.031335,  3] ../../libcli/security/dom_sid.c:216(dom_sid_parse_endp)
  string_to_sid: SID root is not in a valid format
[2024/01/04 10:50:04.032247,  3] ../../source3/smbd/smb2_service.c:610(make_connection_snum)
  make_connection_snum: Connect path is '/var/lib/opsi/depot' for service [opsi_depot]
[2024/01/04 10:50:04.032279,  3] ../../libcli/security/dom_sid.c:216(dom_sid_parse_endp)
  string_to_sid: SID root is not in a valid format
[2024/01/04 10:50:04.032766,  3] ../../source3/smbd/vfs.c:115(vfs_init_default)
  Initialising default vfs hooks
[2024/01/04 10:50:04.032794,  3] ../../source3/smbd/vfs.c:141(vfs_init_custom)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2024/01/04 10:50:04.032934,  3] ../../libcli/security/dom_sid.c:216(dom_sid_parse_endp)
  string_to_sid: SID root is not in a valid format
[2024/01/04 10:50:04.033394,  3] ../../libcli/security/dom_sid.c:216(dom_sid_parse_endp)
  string_to_sid: SID @pcpatch is not in a valid format
[2024/01/04 10:50:04.038115,  2] ../../source3/smbd/uid.c:246(check_user_ok)
  check_user_ok: user pcpatch is an admin user. Setting uid as 0
[2024/01/04 10:50:04.038306,  2] ../../source3/smbd/smb2_service.c:840(make_connection_snum)
  air-von-sf (ipv6:2a02:8106:222:8a00:bc2f:349c:6afd:b7df:49331) signed connect to service opsi_depot initially as user pcpatch (uid=0, gid=992) (pid 517990)
[2024/01/04 10:50:04.053811,  3] ../../lib/util/access.c:372(allow_access)
  Allowed connection from 2a02:8106:222:8a00:bc2f:349c:6afd:b7df (2a02:8106:222:8a00:bc2f:349c:6afd:b7df)
[2024/01/04 10:50:04.053943,  3] ../../source3/smbd/smb2_service.c:610(make_connection_snum)
  make_connection_snum: Connect path is '/tmp' for service [IPC$]
[2024/01/04 10:50:04.053991,  3] ../../source3/smbd/vfs.c:115(vfs_init_default)
  Initialising default vfs hooks
[2024/01/04 10:50:04.054005,  3] ../../source3/smbd/vfs.c:141(vfs_init_custom)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2024/01/04 10:50:04.054134,  3] ../../source3/smbd/smb2_service.c:840(make_connection_snum)
  air-von-sf (ipv6:2a02:8106:222:8a00:bc2f:349c:6afd:b7df:49331) signed connect to service IPC$ initially as user pcpatch (uid=992, gid=992) (pid 517990)
[2024/01/04 10:50:04.516930,  3] ../../source3/smbd/smb2_service.c:933(close_cnum)
  air-von-sf (ipv6:2a02:8106:222:8a00:bc2f:349c:6afd:b7df:49331) closed connection to service IPC$
[2024/01/04 10:50:04.517747,  3] ../../source3/smbd/smb2_trans2.c:2164(smbd_do_qfsinfo)
  smbd_do_qfsinfo: level = 1003
[2024/01/04 10:50:04.520567,  3] ../../source3/smbd/smb2_trans2.c:2164(smbd_do_qfsinfo)
  smbd_do_qfsinfo: level = 1005
[2024/01/04 10:50:04.529363,  3] ../../source3/smbd/smb2_server.c:3961(smbd_smb2_request_error_ex)
  smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_INTERNAL_ERROR] || at ../../source3/smbd/smb2_server.c:2058
[2024/01/04 10:50:04.532925,  3] ../../source3/smbd/smb2_trans2.c:2164(smbd_do_qfsinfo)
  smbd_do_qfsinfo: level = 1003
[2024/01/04 10:50:04.541542,  3] ../../source3/smbd/smb2_server.c:3961(smbd_smb2_request_error_ex)
  smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_NO_SUCH_FILE] || at ../../source3/smbd/smb2_query_directory.c:160
[2024/01/04 10:50:04.552310,  3] ../../source3/smbd/smb2_server.c:3961(smbd_smb2_request_error_ex)
  smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_NO_SUCH_FILE] || at ../../source3/smbd/smb2_query_directory.c:160
[2024/01/04 10:50:04.557385,  3] ../../source3/smbd/smb2_server.c:3961(smbd_smb2_request_error_ex)
  smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_NO_SUCH_FILE] || at ../../source3/smbd/smb2_query_directory.c:160
[2024/01/04 10:50:04.561470,  3] ../../source3/smbd/smb2_server.c:3961(smbd_smb2_request_error_ex)
  smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_NO_SUCH_FILE] || at ../../source3/smbd/smb2_query_directory.c:160
[2024/01/04 10:50:04.565946,  3] ../../source3/smbd/smb2_server.c:3961(smbd_smb2_request_error_ex)
  smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_NO_SUCH_FILE] || at ../../source3/smbd/smb2_query_directory.c:160
[2024/01/04 10:50:04.570500,  3] ../../source3/smbd/smb2_server.c:3961(smbd_smb2_request_error_ex)
  smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[5] status[NT_STATUS_NO_SUCH_FILE] || at ../../source3/smbd/smb2_query_directory.c:160
[2024/01/04 10:50:04.595499,  3] ../../lib/util/access.c:372(allow_access)
  Allowed connection from 2a02:8106:222:8a00:bc2f:349c:6afd:b7df (2a02:8106:222:8a00:bc2f:349c:6afd:b7df)
[2024/01/04 10:50:04.595625,  3] ../../source3/smbd/smb2_service.c:610(make_connection_snum)
  make_connection_snum: Connect path is '/tmp' for service [IPC$]
[2024/01/04 10:50:04.595694,  3] ../../source3/smbd/vfs.c:115(vfs_init_default)
  Initialising default vfs hooks
[2024/01/04 10:50:04.595720,  3] ../../source3/smbd/vfs.c:141(vfs_init_custom)
  Initialising custom vfs hooks from [/[Default VFS]/]
[2024/01/04 10:50:04.595847,  3] ../../source3/smbd/smb2_service.c:840(make_connection_snum)
  air-von-sf (ipv6:2a02:8106:222:8a00:bc2f:349c:6afd:b7df:49331) signed connect to service IPC$ initially as user pcpatch (uid=992, gid=992) (pid 517990)
[2024/01/04 10:50:04.684544,  3] ../../source3/smbd/smb2_service.c:933(close_cnum)
  air-von-sf (ipv6:2a02:8106:222:8a00:bc2f:349c:6afd:b7df:49331) closed connection to service IPC$
[2024/01/04 10:50:04.691069,  3] ../../source3/smbd/dir.c:1050(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[opsi-script] found opsi-script fname=opsi-script (opsi-script)
[2024/01/04 10:50:04.695316,  3] ../../source3/smbd/dir.c:1050(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[macos] found opsi-script/macos fname=macos (macos)
[2024/01/04 10:50:04.699014,  3] ../../source3/smbd/dir.c:1050(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[x64] found opsi-script/macos/x64 fname=x64 (x64)
[2024/01/04 10:50:04.701624,  3] ../../source3/smbd/dir.c:1050(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[opsi-script.app] found opsi-script/macos/x64/opsi-script.app fname=opsi-script.app (opsi-script.app)
[2024/01/04 10:50:04.704282,  3] ../../source3/smbd/dir.c:1050(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[Contents] found opsi-script/macos/x64/opsi-script.app/Contents fname=Contents (Contents)
[2024/01/04 10:50:04.708338,  3] ../../source3/smbd/dir.c:1050(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[MacOS] found opsi-script/macos/x64/opsi-script.app/Contents/MacOS fname=MacOS (MacOS)
[2024/01/04 10:50:04.711355,  3] ../../source3/smbd/dir.c:1050(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[opsi-script] found opsi-script/macos/x64/opsi-script.app/Contents/MacOS/opsi-script fname=opsi-script (opsi-script)
[2024/01/04 10:50:07.299124,  3] ../../source3/smbd/dir.c:1050(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[opsi-mac-client-agent] found opsi-mac-client-agent fname=opsi-mac-client-agent (opsi-mac-client-agent)
[2024/01/04 10:50:07.302315,  3] ../../source3/smbd/dir.c:1050(smbd_dirptr_get_entry)
  smbd_dirptr_get_entry mask=[setup.opsiscript] found opsi-mac-client-agent/setup.opsiscript fname=setup.opsiscript (setup.opsiscript)
[2024/01/04 10:50:11.265615,  2] ../../source3/smbd/smb2_service.c:933(close_cnum)
  air-von-sf (ipv6:2a02:8106:222:8a00:bc2f:349c:6afd:b7df:49331) closed connection to service opsi_depot
[2024/01/04 10:50:11.278938,  3] ../../source3/smbd/server_exit.c:229(exit_server_common)
  Server exit (NT_STATUS_END_OF_FILE)
Eine zweite Sache ist ein Fehler weiter unten im OPSI-Installationslog:

Code: Alles auswählen

(124)     [1] [2024-01-04 06:38:52.145] [opsi-mac-client-agent] executing: "/Applications/opsi-script.app/Contents/MacOS/opsi-script"
(125)     [1] [2024-01-04 06:38:52.146] [opsi-mac-client-agent] system infos:
(126)     [6] [2024-01-04 06:38:52.584] [opsi-mac-client-agent] ip out: /bin/bash: /usr/local/bin/ip: Permission denied
(127)     [6] [2024-01-04 06:38:52.852] [opsi-mac-client-agent] ip out: /bin/bash: /usr/local/bin/ip: Permission denied
(128)     [1] [2024-01-04 06:38:52.853] [opsi-mac-client-agent] Could not find the device "".  -  PC hardware address
Die Ursache ist das fehlende X-Bit des Python-Scripts /usr/local/bin/ip.
Benutzeravatar
j.werner
uib-Team
Beiträge: 64
Registriert: 08 Okt 2019, 13:32

Re: OCA auf Mac: kann keine Pakete installieren

Beitrag von j.werner »

Der Client ist auf MacOS 14.2.1 Unterstützung opsi-seitig hierfür ist noch in arbeit. Apple hat mit neuren Updates das System nochmal mehr abgeschottet, so dass der opsiclientd jetzt Festpalttenvollzugriff benötigt. Man muss daher für den Client einmal dem opsiclientd "Full Disk Access" (Festpattenvollzugriff) geben dann funktioniert es (Systemeinstellungen -> Datenschutz & Sicherheit -> Festplattenvollzugriff).

Danke für den Hinweis, dass das Python-Script /usr/local/bin/ip nicht (mehr?) ausführbar ist.

Viele Grüße
Jan
feltel
Beiträge: 222
Registriert: 09 Dez 2014, 07:22

Re: OCA auf Mac: kann keine Pakete installieren

Beitrag von feltel »

Hallo Jan,
dachte ich mir, das das wieder was MacOS-bezogenes ist. Ich hatte bloß keinen konkreten Ansatzpunkt. Hab ich mit ESET auf dem Macbook einer Kollegin auch. Ich probiere das morgen mal aus mit den Settings und berichte.

Grüße
Sebastian
feltel
Beiträge: 222
Registriert: 09 Dez 2014, 07:22

Re: OCA auf Mac: kann keine Pakete installieren

Beitrag von feltel »

Die Einstellung für den Full Disk Access funktioniert. Jetzt muss ich mal schauen, ob und wie ich das über Intune verteilen kann. Scripten kann man das wohl bewusst nicht.
feltel
Beiträge: 222
Registriert: 09 Dez 2014, 07:22

Re: OCA auf Mac: kann keine Pakete installieren

Beitrag von feltel »

Success. Man kann im Intune auch sog. Mobileconfig-Dateien als Policy "verteilen". Über so eine Mobileconfig-Datei kann man u.a. den Disk-Access steuern. Von dem Hersteller des Jamff-MDM gibt es ein Tool, was einem so eine Mobileconfig-Datei "zusammenbastelt": https://github.com/jamf/PPPC-Utility

Damit entsteht dann das hier:

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>PayloadContent</key>
	<array>
		<dict>
			<key>PayloadDescription</key>
			<string>OPSI Client Agent Full Disk Access</string>
			<key>PayloadDisplayName</key>
			<string>OPSI Client Agent Full Disk Access</string>
			<key>PayloadIdentifier</key>
			<string>2FE3C17A-FD6C-4DA9-95A1-2B3ABC1D919E</string>
			<key>PayloadOrganization</key>
			<string>Docemus Privatschulen gGmbH</string>
			<key>PayloadType</key>
			<string>com.apple.TCC.configuration-profile-policy</string>
			<key>PayloadUUID</key>
			<string>B27A3536-A827-46A0-A47A-71716493B905</string>
			<key>PayloadVersion</key>
			<integer>1</integer>
			<key>Services</key>
			<dict>
				<key>SystemPolicyAllFiles</key>
				<array>
					<dict>
						<key>Allowed</key>
						<true/>
						<key>CodeRequirement</key>
						<string>identifier "org.opsi.opsi-script" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = "5H88T32F7P"</string>
						<key>Comment</key>
						<string></string>
						<key>Identifier</key>
						<string>org.opsi.opsi-script</string>
						<key>IdentifierType</key>
						<string>bundleID</string>
					</dict>
					<dict>
						<key>Allowed</key>
						<true/>
						<key>CodeRequirement</key>
						<string>cdhash H"f4b3a3bbe1e8300c21223e6d9acc743b26d13ae9"</string>
						<key>Comment</key>
						<string></string>
						<key>Identifier</key>
						<string>/usr/local/lib/opsiclientd/opsiclientd</string>
						<key>IdentifierType</key>
						<string>path</string>
					</dict>
				</array>
			</dict>
		</dict>
	</array>
	<key>PayloadDescription</key>
	<string>OPSI Client Agent Full Disk Access</string>
	<key>PayloadDisplayName</key>
	<string>OPSI Client Agent Full Disk Access</string>
	<key>PayloadIdentifier</key>
	<string>2FE3C17A-FD6C-4DA9-95A1-2B3ABC1D919E</string>
	<key>PayloadOrganization</key>
	<string>Docemus Privatschulen gGmbH</string>
	<key>PayloadScope</key>
	<string>System</string>
	<key>PayloadType</key>
	<string>Configuration</string>
	<key>PayloadUUID</key>
	<string>16E25A13-0C88-4857-9EC8-B22A96526154</string>
	<key>PayloadVersion</key>
	<integer>1</integer>
</dict>
</plist>
Ich habe sicherheitshalber den opsi-script mit reingenommen in die Ausnahme, aber ggf. ist das gar nicht notwendig. Ob die Datei dann bei jedem neuen opsiclientd-Release erneut erzeugt werden muss bleibt abzuwarten. Der Eintrag oberhalb von opsiclientd sieht mir nach einem Datei-Hash aus.
Benutzeravatar
n.doerrer
uib-Team
Beiträge: 267
Registriert: 23 Okt 2020, 16:11

Re: OCA auf Mac: kann keine Pakete installieren

Beitrag von n.doerrer »

Sehr gut. Danke für die Info.
Ja, leider scheint man diese Werte nicht automatisiert setzen zu können, außer über die apple MDM Schnittstelle.

Mittlerweile betrifft das Problem auch andere MacOS-versionen. Mit dem nächsten Release von opsi-Paketen werden wir etwas dazu schreiben.
Antworten