Posted on 11-13-2019 02:01 PM
things like homebrew or nginx, etc, require sudo access to install/update.
is there a safe way to maintain their standard user rights and just give them access to sudo certain applications?
Any application that i can package in composer or a curl script i have, but applications (namely) homebrew (with xcode CLI) require sudo access to install and update. Homebrew script (found here) doesnt work in SelfService but works as a script on the local machine, assuming its timing out waiting for a prompt even though it doesnt prompt in the OS (maybe i need to add PPPC for osascript and terminal?)
i dont want the user to have admin rights elsewhere like creating an account or deleting the jamf binary, but they would still need to do their job.
Posted on 11-13-2019 04:37 PM
Posted on 11-18-2019 01:08 PM
@teodle is this something you have implemented too?
do do you guys go about managing this or scaling this for larger devs?
Posted on 11-18-2019 08:11 PM
No but maybe we should. Haven't looked into scaling this but I'm sure it's possible.
Posted on 11-18-2019 08:16 PM
Posted on 11-19-2019 04:09 PM
@teodle how do you guys provide temp admin access or are all your users basically admin (or at least if they have admin it wont be removed)
@kerickson Yup, but it seems like a temp stopgap - is the usage track-able?
whats stop the users from just running it all day and being admin basically all day? :(
Posted on 11-19-2019 04:55 PM
Have you looked at the jamf connect Pam module ?
Posted on 11-19-2019 04:59 PM
https://docs.jamf.com/jamf-connect/1.6.0/administrator-guide/Pluggable_Authentication_Module_(PAM).html
Posted on 01-02-2020 07:01 PM
@jcheLe
We have a promote to admin policy that can be applied to a single local user or all local users but then someone has to remember to demote them back to standard users.
Posted on 01-03-2020 06:47 AM
Jamf has this tool on their github: MakeMeAnAdmin
Posted on 03-06-2020 01:14 PM
@jchele ...could you provide a copy of that policy? thanks!
Posted on 03-06-2020 01:15 PM
@teodle would you mind sharing that policy? Thanks!
Posted on 09-22-2020 03:29 PM
Hi everyone, my secadmin team wants to remove admin rights for all of my users. I initially thought that the Jamf Connect Login P.A.M module was able to do this, but I was mistaken. the P.A.M module only allows you to run sudo commands and use a cloud identity provider to enter your password. Since I couldn't use P.A.M, I created a simple script that would make it possible to run sudo commands without an admin account based on all of the information you all provided. Thanks to everyone for pointing me in the right direction.
#!/bin/bash
# Identify the username of the logged-in user
currentUser=`python -c 'from SystemConfiguration import SCDynamicStoreCopyConsoleUser; import sys; username = (SCDynamicStoreCopyConsoleUser(None, None, None) or [None])[0]; username = [username,""][username in [u"loginwindow", None, u""]]; sys.stdout.write(username + "
");'`
# Create file named "standard" and place in /private/tmp/
touch /private/tmp/standard
# Populate "standard" file with desired permissions
echo "$currentUser ALL= (ALL) ALL
$currentUser ALL= !/usr/bin/passwd root, !/usr/bin/defaults, !/usr/sbin/visudo, !/usr/bin/vi /etc/sudoers, !/usr/bin/vi /private/etc/sudoers, !/usr/bin/sudo -e /etc/sudoers, !/usr/bin/sudo -e /private/etc/sudoers, !/usr/local/bin/jamf" >> /private/tmp/standard
# Move "standard" file to /etc/sudoers.d
mv /private/tmp/standard /etc/sudoers.d
# Change permissions for "standard" file
chmod 644 /etc/sudoers.d/standard
exit 0; ## Sucess
exit 1; ## Failure