Est-il possible d'autoriser les utilisateurs non-racines à installer des packages à l'échelle du système à l'aide d'APT ou de RPM?
L'endroit où je travaille a actuellement une configuration obsolète sur les boîtes Linux et les administrateurs en ont mal de devoir faire toutes les installations des utilisateurs sur demande. Ils envisagent donc de donner des droits complets à tous les utilisateurs. Cela présente des inconvénients de sécurité évidents. Je me demande donc s'il existe un moyen d'autoriser des utilisateurs normaux à installer des logiciels - et de mettre à niveau et de la supprimer?
Vous pouvez spécifier les commandes autorisées avec sudo, vous n'avez pas à autoriser un accès illimité, par exemple.
username ALL = NOPASSWD : /usr/bin/apt-get , /usr/bin/aptitude
Cela permettrait au nom d'utilisateur de courir Sudo apt-get
et Sudo aptitude
Sans aucun mot de passe mais n'autoriserait aucune autre commande.
Vous pouvez également utiliser packagekit combiné avec PolicyKit pour un niveau de contrôle plus fin que SUDO.
Permettre aux utilisateurs d'installer/supprimer des packages peut être un risque. Ils peuvent assez facilement rendre un système non fonctionnel juste en désinstallant les logiciels nécessaires telles que libc6, DPKG, RPM, etc. L'installation de logiciels arbitraires à partir des archives définies peut permettre aux attaquants d'installer des logiciels obsolètes ou exploitables et d'obtenir un accès root. La principale question à mon avis est de savoir combien faites-vous confiance à vos employés?
Bien sûr, votre équipe d'administration pourrait également commencer à utiliser un système de gestion de configuration telle que Puppet, Chef ou regarder dans SpaceWalk pour gérer votre système. Cela leur permettrait de configurer et de gérer le système à partir d'un système central.
De la pages de l'homme:
aptdcon
: permet d'effectuer des tâches de gestion des packages, par exemple Installation ou suppression de logiciels, en utilisant aptdaemon. Il n'est pas nécessaire d'être root pour exécuter ce programme.
username ALL = NOPASSWD : /usr/bin/yum, /bin/rpm
J'ai aussi cherché quelque chose comme ça, mais rien n'a montré, alors j'ai codé cette solution facile "Softwarechannels":
https://github.com/alfem/softwarechannels
C'est un système très simple d'autoriser des utilisateurs communs (aucun administrateur) d'installer des packages à partir de catalogues restreints.
Il suffit de définir des "canaux" (groupes de packages) dans un fichier texte simple et donnez aux autorisations à vos utilisateurs pour lancer Softwarechannels.
Ils ne verront que des packages dans des canaux correspondant à leurs groupes UNIX.