Est-il possible d'autoriser les utilisateurs non root à installer des packages à l'échelle du système en utilisant apt ou rpm?
L'endroit où je travaille actuellement a une configuration obsolète sur les boîtiers Linux, et les administrateurs en ont assez de devoir faire toutes les installations pour les utilisateurs sur demande, alors ils envisagent de donner des droits sudo complets à tous les utilisateurs. Cela présente des inconvénients de sécurité évidents. Je me demande donc s'il existe un moyen de permettre aux utilisateurs normaux d'installer des logiciels - et de les mettre à niveau et les supprimer?
apt-secure(8)
dit: "apt-get avertira actuellement uniquement pour les archives non signées, les futures versions pourraient forcer toutes les sources à être vérifiées avant de télécharger des paquets à partir de celles-ci". Selon le degré de sophistication d'une attaque, il peut être possible de détourner la connexion à la source du référentiel et d'injecter un package non approuvé. Cependant, lisez cette page de manuel pour plus de détails. Vous pouvez avoir une solution suffisamment sécurisée pour votre modèle de thread.Réponses:
Vous pouvez spécifier les commandes autorisées avec sudo, vous n'avez pas à autoriser un accès illimité, par exemple
Cela permettrait au nom d'utilisateur de s'exécuter
sudo apt-get
etsudo aptitude
sans aucun mot de passe, mais ne permettrait 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 facilement rendre un système non fonctionnel simplement en désinstallant les logiciels nécessaires comme 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'accéder à la racine. À mon avis, la question principale est de savoir à quel point vous faites confiance à vos employés?
Bien sûr, votre équipe d'administration pourrait également commencer à utiliser un système de gestion de configuration comme marionnette, chef ou se pencher sur la sortie dans l'espace pour gérer votre système. Cela leur permettrait de configurer et de gérer le système à partir d'un système central.
la source
aptdcon
Depuis les pages de manuel:
la source
ERROR: You are not allowed to perform this action. ('system-bus-name', {'name': ':1.716'}): org.debian.apt.install-or-remove-packages
la source
J'ai également cherché quelque chose comme ça, mais rien ne s'est présenté, j'ai donc codé cette solution facile "softwarechannels":
https://github.com/alfem/softwarechannels
Il s'agit d'un système très simple permettant aux utilisateurs ordinaires (sans administrateur) d'installer des packages à partir de catalogues restreints.
Il vous suffit de définir des «canaux» (groupes de packages) dans un simple fichier texte et de donner à vos utilisateurs les autorisations pour lancer des canaux logiciels.
Ils ne verront que les packages dans les canaux correspondant à leurs groupes Unix.
la source