Keybase proof
I hereby claim:
- I am grahamgilbert on github.
- I am grahamgilbert (https://keybase.io/grahamgilbert) on keybase.
- I have a public key ASDdB4_Tt3Pfh7-qvEoOSZCAfoUJoxgTtv8YoyA3MTGHdwo
To claim this, I am signing this object:
I hereby claim:
To claim this, I am signing this object:
select username,uuid,uid,gid,description,directory, case WHEN uuid in (SELECT users.uuid FROM user_groups INNER JOIN users ON user_groups.uid = users.uid WHERE user_groups.gid = 80) THEN "admin" ELSE "standard" END AS user_type from users; |
import sal.plugin | |
import requests | |
from django.conf import settings | |
SETTINGS = settings.PROFILE_SETTINGS | |
class Profileenforcer(sal.plugin.Widget): | |
description = 'Enforces profiles via MDM' |
#!/usr/bin/python | |
""" | |
Removes cached apple updates that are older than 24 hours | |
""" | |
import datetime | |
import os | |
import shutil | |
import sys |
{"version":1,"resource":"file:///Users/graham_gilbert/src/airbnb/puppet_control/data/switches/clienteng_machine/true.yaml","entries":[{"id":"89eh.yaml","timestamp":1659483293043},{"id":"kPHS.yaml","timestamp":1659483318396},{"id":"8ImG.yaml","timestamp":1659483330074},{"id":"bNr8.yaml","timestamp":1659545453065},{"id":"g15W.yaml","timestamp":1659545470189},{"id":"tKWY.yaml","timestamp":1659545787163},{"id":"t6Zf.yaml","timestamp":1659548976020},{"id":"YAip.yaml","timestamp":1663619107592},{"id":"ja80.yaml","timestamp":1663619118357},{"id":"k7ko.yaml","timestamp":1663799772944},{"id":"ac0j.yaml","timestamp":1663800381467},{"id":"VDrH.yaml","timestamp":1663876163366}]} |
Sal has a REST API. You will need to create an API key before using it. You should send your private key and public key as headers (publickey
and privatekey
). Some actions can only be performed by API keys that have been marked as read / write in Sal.
Sal's API will generally return a response similar to the following:
{"count":362,"next":"https://sal.example.com/api/conditions/?condition=machine_type&page=2","previous":null,"results":[...]}
#!/usr/bin/python | |
import base64 | |
import plistlib | |
import errno | |
import os | |
def mkdir_p(path): | |
try: | |
os.makedirs(path) |
#!/bin/bash | |
/bin/launchctl unload /System/Library/LaunchDaemons/com.apple.locationd.plist | |
uuid=`/usr/sbin/system_profiler SPHardwareDataType | grep "Hardware UUID" | cut -c22-57` | |
/usr/bin/defaults write /var/db/locationd/Library/Preferences/ByHost/com.apple.locationd.$uuid LocationServicesEnabled -int 1 | |
/usr/sbin/chown -R _locationd:_locationd /var/db/locationd | |
/bin/launchctl load /System/Library/LaunchDaemons/com.apple.locationd.plist | |
/usr/sbin/systemsetup -setusingnetworktime on |
<?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>RestartAction</key> | |
<string>RequireRestart</string> | |
<key>_metadata</key> | |
<dict> | |
<key>created_by</key> | |
<string>grahamgilbert</string> |
#!/usr/bin/python | |
""" Graham Gilbert 5/1/16 | |
Change TARGET_APP and the app name on line 53 to your chosen app to quit. | |
Run this as often as you'd like via a launchagent. | |
No warranty expressed or implied. If things go kaboom, it's your problem! | |
""" | |
from AppKit import NSWorkspace |