Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 22/06/2022, à 09:33

pio_killer

Installation de logiciels uniquement pour un compte utilisateur

Bonjour,

je ne suis pas un utilisateur linux très pro.
Je l'utilise qu'au travers d'interface graphique (habitué à windows) et pas beaucoup en ligne de commande.
Je met aussi très peu les mains dans le camboui.

Je me demandé un truc. Peut-être que c'est idiot mais bon ...

Est-ce qu'il est possible d'installer une distribution et ensuite d'installer des logiciels sur un compte mais uniquement pour celui-ci.
Mon but est en fait de garder mon système opérationnel tout en pouvant tester des logiciel de manière cloisonné à la manière d'un bas à sable.
Ceci pour pouvoir ensuite juste supprimer le compte et revenir à mon environnement de base propre.

Je sais que je peux faire ça dans une vm mais c'est plus simple si c'est dans le système.

D'avance merci smile


Ubuntu studio 14.04

Hors ligne

#2 Le 22/06/2022, à 10:33

malbo

Re : Installation de logiciels uniquement pour un compte utilisateur

Bonjour,
A mon avis, ce n'est pas possible. Ce qui me parait être le plus proche du besoin, c'est de faire une image avec Clonezilla de l'installation actuelle, ensuite d'installer le logiciel que tu veux tester. S'il s'avère que le nouveau logiciel ne convient pas, il faut restaurer l'installation "de base".

Hors ligne

#3 Le 22/06/2022, à 10:39

geole

Re : Installation de logiciels uniquement pour un compte utilisateur

Bonjour
En complément, tu peux aussi installer la version zfs 22.04 sur tout un disque y compris externe
Puis tu installes ton logiciel, tu le testes et s'il ne convient pas, tu rebootes en mode recovery et tu choisis un point de synchronisation immédiatement avant celui de l'installation du logiciel. Du coup il a disparu
https://doc.ubuntu-fr.org/_media/zfs/zf … tok=d6be06


Nota. Il me semble que tu as trois façons de faire. https://doc.ubuntu-fr.org/installation_logiciel
A) Le logiciel est disponible au format .deb
    Tu l'installes, tu le testes et s'il ne convient pas, tu le purges.    Le risque de ne plus fonctionner est très très minime. Il faudrait que la purge soit mal constituée
B) Le logiciel est au format .snap
         Tu l'installes, tu le testes et s'il ne convient pas, tu le purges.    Le risque de ne plus fonctionner est inexistant
C) Le logiciel est au format .image
     Dans ce cas, il s'installe uniquement chez l'utilisateur qui le demande
     S'il ne convient pas, il suffit de supprimer le fichier téléchargé.

Il reste la livraison au format  .flatpack que je ne connais pas mais qui me semble équivalente au format snap

Dernière modification par geole (Le 22/06/2022, à 11:01)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#4 Le 22/06/2022, à 12:38

pio_killer

Re : Installation de logiciels uniquement pour un compte utilisateur

ok merci.
Par purge tu veux dire de lancer ça ?

sudo apt-get install localepurge

qui expliqué ici : https://ngressier.developpez.com/articl … me-ubuntu/


Ubuntu studio 14.04

Hors ligne

#5 Le 22/06/2022, à 12:55

geole

Re : Installation de logiciels uniquement pour un compte utilisateur

Non
Par exemple:   Tu veux essayer le paquet "test.deb".  Installation par la commande

sudo apt install test

Tu fais tes essais, s'il ne convient pas, tu le purges par la commande

sudo apt purge test

Tu peux aussi regarder dans la documentation ce qui est indiqué pour le  paquet test.deb  ( Cela existe quelquefois).

D'autre part, pour "Supprimer tous les fichiers inutiles sur un système GNU/Linux Ubuntu", il y a maintenant  la commande

sudo apt purge ~c

Dernière modification par geole (Le 22/06/2022, à 12:56)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#6 Le 22/06/2022, à 13:10

pio_killer

Re : Installation de logiciels uniquement pour un compte utilisateur

Très bien je vais tester merci encore wink


Ubuntu studio 14.04

Hors ligne

#7 Le 22/06/2022, à 13:13

MicP

Re : Installation de logiciels uniquement pour un compte utilisateur

Bonjour

Dans son message #1, pio_killer a écrit :


Est-ce qu'il est possible d'installer une distribution et ensuite d'installer des logiciels sur un compte mais uniquement pour celui-ci.
Mon but est en fait de garder mon système opérationnel tout en pouvant tester des logiciel de manière cloisonné à la manière d'un bas à sable.
Ceci pour pouvoir ensuite juste supprimer le compte et revenir à mon environnement de base propre.

Ou alors, tu utilises une machine virtuelle (j'utilise qemu/kvm par virt-manager, mais d'autres systèmes de virtualisations ont aussi cette fonctionnalité)
et avant de faire tes tests dans une machine virtuelle, tu créé un snapshot (on peut en créer plusieurs, ce qui permet de recommencer une étape d'un test qui n'aurait pas donnée ce qu'on attendait smile),
ensuite, tu fais tes tests,
et quand tu en as besoin, tu peux remettre la machine exactement dans le même état qu'elle était au moment où tu avais fait un de tes snapshots.

Tout ce que tu feras dans une machine virtuelle n'aura aucune incidence sur la machine hôte,
ce qui fait que je peux tester l'installation de n'importe quel programme sur une de mes machines virtuelles,
et en deux ou trois clicks de souris, je peux remettre la machine dans l'état où elle était avant mes tests d'installation.

Dernière modification par MicP (Le 22/06/2022, à 13:14)

Hors ligne

#8 Le 22/06/2022, à 17:52

Coeur Noir

Re : Installation de logiciels uniquement pour un compte utilisateur

Euh… pourquoi pas juste créer un ou d'autres comptes utilisateurs dédiés au(x) test(s) ?

Le premier compte que tu as créé ( de type administrateur, appelons-le A ), tu le laisses « le plus propre » possible, où tu utilises tes logiciels fiables et préférés, compte A d'où tu administres ton système ( mises à jour, installation / suppression de logiciels, gestion des comptes utilisateurs, etc. )

Quand tu veux tester un logiciel en étant sûr qu'il n'impacte pas ta session A utilisateur-administrateur initiale :
⋅ depuis ton compte administrateur A, tu installes le logiciel à tester.
⋅ Tu ne lances surtout pas ce logiciel depuis cette session A, mais depuis cette session A tu crées un nouvel utilisateur B de type « normal » c'est à dire pas administrateur, c'est à dire sans accès sudo ni root.
⋅ Maintenant, ouvre la session de B et lance le logiciel à tester, maltraite le, vois ce qu'il se passe.
⋅ Quand t'as fini tes tests, soit tu arrêtes complètement la session B, tu retournes dans la A et de là tu supprimes le compte B ainsi que toutes ses données
⋅ soit tu conserves la session B mais tu y supprimes les données cachées générées par le logiciel que tu viens de tester ( bien que pas administrateur, l'utilisateur B a quand même tous les droits sur les éléments stockés chez lui. )

Quand tu installes un logiciel depuis les dépôts APT/.deb ( ou snap ou flatpak ) il case toute sa « mécanique fonctionnelle » côté système ( par ex. dans /usr/lib, /usr/bin, /snap, /var/flatpak… )
Ce logiciel est ainsi accessible à tous les utilisateurs potentiels du système.
Quand un logiciel est lancé depuis la session Z, il crée dans le répertoire personnel de Z les fichiers de paramétrage et config's relatifs à l'utilisation de ce logiciel par Z.
Ça sera placé dans ses éléments cachés ( généralement ~/.config, ~/.local/share, ~/.cache ou ~/.fournisseur_ou_nom_du_logiciel ) ou dans le dossier ( visible ) ~/snap quand il s'agit de logiciels dans ce format.

En testant un logiciel depuis la session B, tu te garantis que ce logiciel n'écrira rien dans la session A. C'est juste un « petit cloisonnement » et pas du tout un confinement au sens strict du terme.
Mais ça suffira largement pour tester un logiciel dont la provenance est fiable, officielle, un logiciel que tu veux apprendre à utiliser tranquillement avant de t'en servir dans ta session principale quotidienne.

Maintenant si tu t'apprêtes à tester des logiciels qui pourraient « casser » un système ( des logiciels instables en version alpha, en cours de développement, ou de provenance douteuse ) c'est plutôt la voie de la virtualisation qu'il faudra suivre. Et de toute façon se souvenir : on ne lance jamais un logiciel « graphique » via sudo depuis un terminal.

Un confinement strict, c'est faire en sorte qu'un logiciel s'exécute sans interagir directement avec le système ou les données utilisateurs. Selon les mécaniques de confinement employées, il y a alors des relais intermédiaires entre le système et l'appli confinée ( portails ) qui déterminent ce que l'appli' a le droit de (sa)voir, en fonction d'autorisations préalablement accordées à l'appli' ( par ses concepteurs, puis par l'utilisateur ) et en fonction des capacités offertes par un portail ( il y a divers portails avec diverses fonctionnalités, des postes de douanes thématiques en quelque sorte. ) Ça c'est à la louche et grosso-modo le fonctionnement des logiciels aux formats snap et flatpak.

Enfin si le but est qu'une application ( classique, au format APT/.deb ) ne soit visible que par un seul utilisateur « humain » du système, ça peut se faire en changeant les droits et permissions de son lanceur ( son fichier .desktop
dans /usr/share/applications ) en enlevant tout droit aux autres, en passant le groupe propriétaire à celui de l'utilisateur visé, et tout en laissant root comme utilisateur propriétaire.

cd /usr/share/applications
sudo   chgrp -c   utilisateur_B   appli_test.desktop	# changer le groupe propriétaire du fichier
sudo   chmod   o-r   appli_test.desktop			# retirer la lecture aux autres
cd

Le lanceur de appli_test apparaîtra uniquement dans la session de l'utilisateur B ( ou chez d'autres utilisateurs qui seraient membres du groupe B mais par défaut sous ×buntu, le groupe d'un utilisateur Z n'a qu'un seul membre, Z. )
Selon l'environnement de bureau, ça pourra n'être effectif qu'après un redémarrage session ou pc.
Cette modification ne survivrait pas à la réinstallation de appli_test ( qui ré-écrira son lanceur initial. )

Dernière modification par Coeur Noir (Le 22/06/2022, à 18:04)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#9 Le 30/06/2022, à 07:15

pio_killer

Re : Installation de logiciels uniquement pour un compte utilisateur

Merci pour vos réponses smile

Pour la machine virtuelle, je connais mais je trouve ça assez lourd.
Pour la question de lancer un nouveau logiciel que sur le compte test, c'est très intéressant. Je vais regarder ça.

En fait, je me suis posé cette question car, comme j'y connais pas grand chose, je ne métrise pas encore assez ce que fait une installation de logiciel. En plus les dépendances qui s'installent en même temps je trouve ça perturbant.
Comme j'ai été habitué, comme beaucoup, à Windows où on lance juste un setup et le logiciel s'installe dans program file et dans le dossier app du user (pour la plus part), j'ai donc du mal à comprendre ce qu'il se passe quand il y a une install sur linux.
J'imagine que ça rejoint un peu le même principe que Windows avec un dossier équivalent program file et app user.

Donc c'est pour ça que je trouve dommage qu'on ne puisse pas administrer un système de cette façon.
Ca marche plus, on supprime le compte.
Ou alors peut-être qu'il faudrait une fonction pour réinitialiser le système comme sur win10. Mais là ça supprimerait tous les comptes s'il y en a.
Mais bon, jusqu'à maintenant, sur mes pc je faisait un image clonezilla. C'est une solution.


Ubuntu studio 14.04

Hors ligne

#10 Le 30/06/2022, à 07:55

CM63

Re : Installation de logiciels uniquement pour un compte utilisateur

pio_killer a écrit :

Bonjour,

je ne suis pas un utilisateur linux très pro.
Je l'utilise qu'au travers d'interface graphique (habitué à windows) et pas beaucoup en ligne de commande.
Je met aussi très peu les mains dans le camboui.

Je me demandé un truc. Peut-être que c'est idiot mais bon ...

Est-ce qu'il est possible d'installer une distribution et ensuite d'installer des logiciels sur un compte mais uniquement pour celui-ci.
Mon but est en fait de garder mon système opérationnel tout en pouvant tester des logiciel de manière cloisonné à la manière d'un bas à sable.
Ceci pour pouvoir ensuite juste supprimer le compte et revenir à mon environnement de base propre.

Je sais que je peux faire ça dans une vm mais c'est plus simple si c'est dans le système.

D'avance merci smile

Ce qui est possible de faire, et ça pourrait peut-être te convenir dans une optique "bac-à-sable" c'est d'installer ces apllis dans un répertoire de cet utilisateur particulier et ajouter ce répertoire à son PATH. Mais dans ce cas évidemment , ces applis ne seront pas mises à jour par le gestionnaire d'applis. Mais ça peut peut-être te convenir si cet utilisateur particulier c'est toi, en fait, et tu es prêt à bricoler un peu dans une optique "bac à sable". Quand tu recréerais le bac à sable, tu réinstallerais ces applis, tu fais un script pour ça.

Moi j'avais fait ça avec Blender sur un VPS. Je le résinstallais régulièrement au besoin (on pourrait faire ça avec Kubernetes mais bon).


Quoi? Quelque chose que je ne connais pas et qui me fait l'affront d'exister?!

Hors ligne

#11 Le 30/06/2022, à 10:18

berserk

Re : Installation de logiciels uniquement pour un compte utilisateur

Bonjour
Une possibilité est d'utiliser des logiciels au format appimage, encore faut il que le logiciel voulu soit disponible dans ce format.
Et surtout télécharger le fichier .appimage sur un site digne de confiance, sur le site officiel du logiciel notamment.

Hors ligne

#12 Le 01/07/2022, à 02:30

Coeur Noir

Re : Installation de logiciels uniquement pour un compte utilisateur

Ca marche plus, on supprime le compte.
Ben si ça ↑ ça marche aussi sous Linux, puisque lui est fondamentalement un système multi-utilisateurs ( contrairement à Windows qui sépare peu la notion système de la notion utilisateurs. )

Sous Win, les manip's hasardeuses ou malencontreuses d'un seul utilisateur humain peuvent complètement planter l'OS, le rendre inaccessible à tous ses humains utilisateurs.
Sous Linux, de telles manip's ne casseront que la session de cet utilisateur, sans impact sur les sessions des autres humains et sans impact sur le système.
SAUF si cet utilisateur humain s'amuse à prendre volontairement les droits de l'utilisateur root via sudo mais PAR DÉFAUT un utilisateur humain ne peut pas casser directement le système.
Il peut juste casser sa session - après tout là il est chez lui il fait ce qu'il veut, y compris du caca. Et si en plus il fait du caca avec des commandes sudo, alors c'est de sa responsabilité : le fait de devoir utiliser sudo est déjà en soi un avertissement sur la dangerosité potentielle de la commande ( un grand pouvoir implique de grandes responsabilités, tout ça… ) et rappel, on ne lance jamais une application graphique via sudo. Autant se tirer une balle dans le pied.

C'est la proposition du #8. La clé est là :

Quand tu installes un logiciel depuis les dépôts APT/.deb ( ou snap ou flatpak ) il case toute sa « mécanique fonctionnelle » côté système ( par ex. dans /usr/lib, /usr/bin, /snap, /var/flatpak… )
Ce logiciel est ainsi accessible à tous les utilisateurs potentiels du système.
Quand un logiciel est lancé depuis la session Z, il crée dans le répertoire personnel de Z les fichiers de paramétrage et config's relatifs à l'utilisation de ce logiciel par Z.
Ça sera placé dans ses éléments cachés ( généralement ~/.config, ~/.local/share, ~/.cache ou ~/.fournisseur_ou_nom_du_logiciel ) ou dans le dossier ( visible ) ~/snap quand il s'agit de logiciels dans ce format.

Le répertoire personnel de Z, son $HOME, c'est le dossier /home/Z où tu trouveras visibles ses dossiers usuels ( Bureau, Documents, Images, etc et autres éléments créés depuis sa session ) et cachés les config's et paramètres concernant cet utilisateur ( des dossiers comme .cache, .local, .config, .mozilla, .thunderbird… )

Quoi que Z fasse avec son Firefox, ça n'écrit que dans le dossier personnel de Z, ça ne modifie en rien les éléments du Firefox installés côté système ( dans /usr/lib ou /usr/bin ou /opt ou /snap ou … selon le format d'installation du logiciel. )
Z par défaut n'a pas les droits et permissions nécessaires pour écrire ailleurs que dans son /home/Z : il ne peut écrire que dans des éléments qui lui appartiennent et lui accordent le droit d'écriture.

Z peut par contre lire des éléments inscrits côté système, si ces éléments accordent un droit de lecture aux autres ( et pas seulement à leurs utilisateur et groupe propriétaires ) : c'est grâce à ça que Z - et autres utilisateurs « humains » de ce système - peuvent lancer le Firefox installé côté système ( où les éléments appartiennent à root ) sans pouvoir modifier les éléments du Firefox installé. Le Firefox lancé par Z écrira sa « mécanique » chez Z, dans /home/Z/.mozilla/firefox/ et ces éléments appartiendront à Z. Sous Linux, très généralement quand un utilisateur crée quelque chose, cette chose lui appartient et cette chose accorde les droits lecture et écriture à son utilisateur propriétaire. Ces questions d'appartenance et droits font partie intégrante de la chose créée, ce sont des attributs portés directement par le système de fichiers ( EXT×, BtrFS et autres systèmes de fichiers compatibles Linux. )

Où je veux en venir avec tout ça ?
C'est que de base, le système de fichiers de ton OS Linux « cloisonne » déjà les utilisateurs et groupes : root s'occupe des périphériques, du matériel et du système, c'est le big-boss. Les utilisateurs humains s'occupent uniquement de leurs données à eux. Des groupes s'occupent de certaines tâches. Chacun chez soi. Avec des hiérarchies réglées entre autres par l'appartenance d'utilisateurs à un ou plusieurs groupes.
Donc faire en sorte qu'un logiciel à tester soit lancé par un utilisateur B différent de ton utilisateur A « quotidien » suffit déjà à isoler l'activité de ce logiciel, et les « risques » à la seule session de B.
À moins d'installer un logiciel spécialement vérolé pour nuire, de provenance très douteuse, que B lancerait en tant que root à son insu ( mais tu seras sage : l'utilisateur B tu lui attribues un compte « normal » et pas un compte « administrateur » car sur ton système c'est A le compte « administrateur » qui peut temporairement prendre les droits de root via sudo et pas B. )
Si tu te contentes de tester des logiciels en provenance des dépôts de ta distribution, ou des sites officiels des concepteurs de ces logiciels, logiciels stables ou en développement « surveillé » ( pas des projets abandonnés, sans activité depuis des lustres ) tu n'as pas besoin de davantage.

Ah purée, j'arriverais jamais à faire court. Désolé si je fais … cours ( et j'ai zéro diplôme d'informaticologiste, hein… )

Davantage, c'est snap et flatpak et leur confinement. Davantage c'est les machines virtuels ( un pc virtuel avec son propre OS, lancé en gros comme un logiciel depuis ton OS physiquement installé sur ta machine ) ou la virtualisation à plus grande échelle. Juste pour tester un logiciel ? Qui plus est, un logiciel à la provenance « saine » ? Comment dire… c'est sortir le tractopelle pour enfoncer une punaise dans un mur en plâtre.

Reste le cas AppImage qui peut répondre à la demande : un AppImage c'est une « archive spéciale » qui contient tout ce qu'il faut pour qu'un logiciel s'exécute, depuis cette archive et dans la plupart des Linux, sans rien installer d'autre ( contrairement à snap ou flatpak qui requièrent leurs « cadres de fonctionnement » ). Faut juste lui donner le droit d'exécution, puis double-clic et zou. Ça n'est donc pas installé dans le système, tu poses cette archive où tu veux, par exemple chez un utilisateur, dans son dossier $HOME/bin ou $HOME/local/bin tu peux même faire en sorte qu'elle n'écrive pas les config's utilisateur dans $HOME mais plutôt dans le dossier contenant l'AppImage, ça en fait une appli' « portable » qui peut se trouver sur une clé USB ou une carte mémoire par exemple… Le jour où t'en n'as plus besoin, tu effaces l'AppImage directement, ou le dossier le contenant lui + son dossier de config's, on n'en parle plus.
Avec un AppImage, tu peux donc même te passer de la création d'un autre utilisateur puisque tu peux cibler/isoler où cette appli' écrira ses données.

Dernière modification par Coeur Noir (Le 01/07/2022, à 02:43)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne

#13 Le 01/07/2022, à 07:41

geole

Re : Installation de logiciels uniquement pour un compte utilisateur

Coeur Noir a écrit :

Sous Win, les manip's hasardeuses ou malencontreuses d'un seul utilisateur humain peuvent complètement planter l'OS, le rendre inaccessible à tous ses humains utilisateurs.
Sous Linux, de telles manip's ne casseront que la session de cet utilisateur, sans impact sur les sessions des autres humains et sans impact sur le système]

Sous wndows, il exste aussi des utilisateurs qu n'ont pas l'autorisation de mettre à jour le logiciel.
Sous ubuntu on  peut facilement tout casser et devoir demander de l'aide pour faire de la mise à jour de logiciel.
https://forum.ubuntu-fr.org/viewtopic.php?id=2072761 .
https://forum.ubuntu-fr.org/viewtopic.php?id=2072781
etc....

Dernière modification par geole (Le 01/07/2022, à 07:41)


Les grilles de l'installateur https://doc.ubuntu-fr.org/tutoriel/inst … _subiquity
"gedit admin:///etc/fstab" est proscrit,  utilisez "pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY xdg-open /etc/fstab" Voir  https://doc.ubuntu-fr.org/gedit
Les partitions EXT4 des disques externes => https://forum.ubuntu-fr.org/viewtopic.p … #p22697248

Hors ligne

#14 Le 01/07/2022, à 08:07

Coeur Noir

Re : Installation de logiciels uniquement pour un compte utilisateur

Lol Geole.

Sous Linux, par défaut, les utilisateurs humains ne sont pas root et n'ont pas les droits de root.

Évidemment que quelqu'un qui passe root peut faire des dégâts. Est-ce que je dis autre chose ?

Sous Windows il y a des contrôles d'accès justement pour restreindre la portée d'action d'un humain, sans ça il est de base avec la même portée d'action que l'OS lui-même, ça n'est pas du tout la même philosophie ni organisation.


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne