Ordinateur partagé, comment s'organiser ? En partitions ou machines virtuelles?

Fermé
foetus_linux Messages postés 6 Date d'inscription vendredi 9 octobre 2020 Statut Membre Dernière intervention 2 novembre 2020 - Modifié le 9 oct. 2020 à 18:42
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 - 4 nov. 2020 à 14:37
Cherche solution pour gérer les utilisateurs d'un ordinateur domestique commun. Ne suis pas sûr comment m'y prendre. Le but est que chacun aille son systeme autonome, sans affecter les autres avec leurs modifications ou virus etc. Et avoir possibilité d'effacer un systeme complet sans déranger les autres.
J'ai récemment installer un syteme peppermint-os incluant une option avec LVM (Logical Volume Manager) déjà inclus en pensant que ca pourrait être une solution d'installer dans chaque partition. À force de faire des recherches. Je découvre "Gparted" et me fait dire de faire ça avec des "virtualbox" (machines virtuelles). Et oui j'ai entendu parler de Qubes mais je crains que l'ordi soit trop faible.
Je suis hyper debutant alors qu'en pensez-vous?
Merci
A voir également:

11 réponses

Bonjour,
Les systèmes linux (tout comme Windows) permettent d'avoir plusieurs utilisateurs. Chaque utilisateur a son dossier personnel avec ses réglages et ses documents et ne peut interférer avec les documents des autres utilisateurs. Seul l'administrateur du système peut ajouter/enlever des logiciels.
Rien à voir avec LVM qui gère dynamiquement les partition d'un système.

Les machines virtuelles demandent des pc assez puissants, je ne pense pas que ce soit une solution viable pour ce que tu veux faire.

Le plus simple dans ton cas : tu prends la distribution linux de ton choix (je t'orienterais plutôt vers Linux Mint ou Ubuntu/Xubuntu qui sont plus accessibles aux débutants)
Tu ajoutes autant d'utilisateurs qu'il y a de membres dans ta famille, chacun aura son nom d'utilisateur et son propre mot de passe pour se connecter à sa session. (Pense aussi au planning d'utilisation du pc pour éviter des conflits)

Par exemple sur Ubuntu :
https://guide.ubuntu-fr.org/desktop/user-add.html
(c'est similaire avec les autres distros)
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
13 oct. 2020 à 15:02
Bonjour,

Je rejoins jns55, avoir un système par utilisateur me paraît un peu exagéré (et va coûter pas mal d'espace disque). Bien souvent une installation avec plusieurs utilisateurs est amplement suffisante.

On peut imaginer que seuls certains profils aient des droits administrateurs (e.g. les parents) et soient en mesure d'impacter le système (en installant, mettant à jour, ou supprimant des logiciels).

Note qu'un utilisateur non administrateur peut installer dans son dossier personnel ses propres applications (mais s'il n'a pas de droits administrateurs, il ne pourra pas passer par le gestionnaire de paquets, qui lui, les installes au niveau du système global).

Si cette solution ne te convient pas (par exemple, parce que tu souhaites que les enfants soient administrateur de leur système, sans impacter celui des autres, il y a plusieurs solutions de virtualisation. Cela dépend un peu des besoins. Par exemple de la virtualisation lourde comme virtualbox dégrade fortement les performances et ne permet pas d'accéder directement au matériel (donc les jeux en 3D, on oublie). Une solution comme lxc peut alors mieux répondre à ton besoin.

LVM n'a rien à voir avec la virtualisation au sens où tu l'entends : cela permet de définir des partitions "virtuelles" (appelées volumes logiques, lv) par dessus des groupes (appelées volumes de groupes, vg) rassemblant des partitions de disques durs (appelés volumes physiques, pv). En pratique, on réserve LVM à des installations linux sans windows (windows ne parle pas LVM), pour pouvoir redimensionner facilement et/ou chiffrer des volumes logiques. Pour plus de détails, tu peux regarder ce tutoriel qui montre un cas d'utilisation intéressant de LVM.

Bonne chance
0
Flachy Joe Messages postés 2103 Date d'inscription jeudi 16 septembre 2004 Statut Membre Dernière intervention 21 novembre 2023 260
15 oct. 2020 à 21:50
Une autre solution sans virtualisation est d'installer autant de système que d'utilisateur sur des partitions séparées et de laisser le choix via le menu grub. Pour le coup c'est lourd en espace disque mais ça n'impacte pas les performances.
0
foetus_linux Messages postés 6 Date d'inscription vendredi 9 octobre 2020 Statut Membre Dernière intervention 2 novembre 2020
Modifié le 27 oct. 2020 à 04:09
Merci pour vos réponses. Avons créé des utilisateurs avec le "useradd" linux, chacun a son login et espace de bureau/fichiers, mais les utilisateurs peuvent quand même se rendre dans les fichers des autres (via le "/home" directory où se trouve les fichiers utilisateurs ). Quoi faire maintenant ? Modifier les permissions afin que seul l'admin puisse accéder au niveau superieur de l'arborescence, le "home" ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
31 oct. 2020 à 00:44
Bonjour,

Le plus simple c'est simplement d'assigner aux répertoires utilisateur les droits 700 (rwx------) (de manière non récursive) :

Exemple :

chmod 700 /home/toto
chmod 700 /home/tata
ls -l


Ainsi, seul le propriétaire du dossier (donc l'utilisateur dont c'est le dossier et root pourront entrer dedans). Note qu'un utilisateur peut s'il le souhaite faire un
chmod
sur son propre dossier utilisateur, puisqu'il est propriétaire de son propre dossier. Il peut donc s'il le souhaite "fermer" ou "ouvrir" son dossier aux autres utilisateur.

Qu'il soit ouvert ou fermé, vu que par défaut, seul l'utilisateur propriétaire a les droits en écriture sur son dossier personnel, il est le seul (avec root) à pouvoir modifier / supprimer / créer des fichiers dans son propre dossier.

Bonne chance
0
foetus_linux Messages postés 6 Date d'inscription vendredi 9 octobre 2020 Statut Membre Dernière intervention 2 novembre 2020
Modifié le 31 oct. 2020 à 13:59
Merci. Alors j'ai créer des 'chmod 700' pour chaque utilisateur et c'est exactement bon. Le sujet avance donc d'autres questions:

A) C'est possible d'appliquer une règle style 'chmod' pour bloquer l'access au 'File System' Linux(pour proteger les fichiers System). Bloquer ce fichier peut empêcher certaines applications de fonctionner?

Comment faire, c'est possible ?
chmod 700 /home/toto
chmod ??? / /home/toto

B) Savoir uttiliser un 'usergroup' pour définir les mêmes parametres/chmod pour plusieurs utilisateurs serais peut-être le standard et la prochaine étape â apprendre ?
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
Modifié le 1 nov. 2020 à 18:53
Bonjour

A) Non surtout pas ! Il ne faut JAMAIS changer les droits des fichiers "systèmes". Ceux-ci sont prévus pour avoir les droits minimaux (nécessaires et suffisants) pour avoir un système à la fois sûr et utilisable. Typiquement, les fichiers sensibles comme
/etc/shadow
ne peuvent déjà pas être ouverts par les utilisateurs non root. Tous les commandes linux (dans
/bin
,
/usr/bin
) ont des droits en lecture et exécution, ce qui permet de les utiliser, mais pas en écriture, ce qui évite à un utilisateur d'y injecter du code malveillant.

B) Non ce n'est pas du tout la bonne logique. Les permissions liées aux fichiers système sont déjà bien configurée et il ne faut pas y toucher :
  • Relâcher les droits concernant ces fichiers peut ouvrir un trou de sécurité.
  • Restreindre les droits de ces fichiers peut les utilisateurs de réaliser des tâches qu'ils sont supposés pouvoir légitiment faire.


Généralement, si un utilisateur ne peut pas réaliser une tâche, c'est qu'elle réclame (légitimement) des droits administrateurs. Soit il est sudoer, soit il a le mot de passe root, et cet utilisateur pourra alors s'en sortir, soit ça n'est pas le cas et il est normal qu'il se fasse jeter.

Quelle est la bonne logique ?

Dans ce qui suit, fichier désigne les fichiers au sens large, donc indifféremment un exécutable, un dossier, un fichier régulier, un lien symbolique, etc.

Certaines commandes d'administrations sont ouvertes aux membres de certains groupes. Les groupes permettent comme leur nom l'indique de définir une politique de droits pour un groupe d'utilisateurs (ce qui répond à la deuxième partie de ta question).

Exemples :
  • Appartenir au groupe
    sudo
    donne à ses utilisateurs membre la possibilité d'utiliser la commande
    sudo
    . Et ceci ne se fait pas avec un
    chmod
    .
  • Appartenir au groupe
    audio
    permet à un utilisateur d'administrer le son. On peut voir aux groupes auxquels on appartient avec la commande
    groups
    (ou en consultant
    /etc/group
    ).


Ce qui a les conséquence suivantes :
  • Du point de vue système, les droits sont pensés au niveau des groupes, en partant du principe que les groupes contiennent les bons utilisateurs ;
  • Du point de vue utilisateur, vu que les droits sont bien configurés de base au niveau du système, il faut appartenir aux bons groupes pour avoir le droits d'accéder à tel ou tel fichier.
  • Si on veut permettre à un utilisateur de faire "plus de choses", on l'ajoute dans le(s) bon(s) groupe(s), mais en tout cas, mais on ne modifie surtout pas les permissions associées aux fichiers (voir paragraphe "pourquoi ?"). Comme généralement, les utilisateurs déjà de base dans les bons groupes, il est rare qu'on ait besoin d'intervenir à ce niveau également (la seule exception notable étant le groupe
    sudo
    ).


Quand utiliser
chmod
est-il légitime ?


Presque jamais.

Uniquement lorsqu'on veut donner (ou empêcher) d'autres utilisateur d'accéder aux fichiers qui nous appartiennent. Dans ce cas on donne les droits rx pour les dossiers, et r pour les autres types de fichiers. Généralement le propriétaire se réserve les droits en écriture, car il ne veut pas permettre aux autres utilisateurs (non root) de pouvoir renommer, supprimer, ou modifier son fichier

Exemples :
  • Je suis root, je ne veux pas que les logins/mots de passe pour accéder à un partage samba apparaissent en clair dans
    /etc/fstab
    , qui est un fichier ouvert à tous. Dans ce cas, je vais déporter le login mot de passe dans
    /root/.smbcredentials
    et resserrer les droits de sorte à ce que seul root puisse lire et écrire ce fichier (
    chmod 600 /root/.smbcredentials
    ).
  • Je suis l'utilisateur toto, je veux ouvrir mon dossier en lecture seule aux autres. Dans ce cas je vais relâcher l'accès à mon home et donner aux autres les droits en lecture / exécution :
    chmod o+rx /home/toto
    . Si au contraire je veux fermer mon home :
    chmod o-rx /home/toto
    .


Bonne chance
0
foetus_linux Messages postés 6 Date d'inscription vendredi 9 octobre 2020 Statut Membre Dernière intervention 2 novembre 2020
Modifié le 1 nov. 2020 à 20:56
Merci pour cette belle grande réponse. La madame a l'air à bien connaître ça.
Cela m'implique dans un bon temps de lecture.

Visuellement le dillemme :
https://i.imgur.com/IbgF0wll.png

J'aurais préférer que les utilisateurs ne puissent pas dépasser le '/home/ ' et encore mieux le '/home/user'
Faut-il penser à autre chose qu'un chmod ?
0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812 > foetus_linux Messages postés 6 Date d'inscription vendredi 9 octobre 2020 Statut Membre Dernière intervention 2 novembre 2020
1 nov. 2020 à 20:09
Et donc ?
0
foetus_linux Messages postés 6 Date d'inscription vendredi 9 octobre 2020 Statut Membre Dernière intervention 2 novembre 2020
1 nov. 2020 à 21:24
Pour l'instant je n'ai pas encore assimiler toute votre réponse, la solution est là?
0
foetus_linux Messages postés 6 Date d'inscription vendredi 9 octobre 2020 Statut Membre Dernière intervention 2 novembre 2020
Modifié le 2 nov. 2020 à 16:16
Sans modifier de permissions y a-t-il une façon créative de rendre la section 'systemFile' autrement non-visible ou est-ce complètement impossible ? Peut-être un genre de 'Bash' script ... qui renverrai un utlisateur à un fichier quelconque ?

J'ai peine à croire que les gens qui créent des installations publiques n'ont jamais eu ce dilemme.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
2 nov. 2020 à 16:02
Salut,

Peut-être voir du côté de chroot

0
mamiemando Messages postés 33446 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 20 décembre 2024 7 812
4 nov. 2020 à 14:37
Bonjour,

Les droits résolvent complètement les problèmes de sécurité que tu sembles craindre. En soi, ce n'est pas un problème en soi qu'un utilisateur puisse lire/accéder certains fichiers liés aux systèmes, puisque les commandes qu'il va utiliser sont précisément ces fichiers (ou reposent dessus). C'est pour ça que pour la plupart des gens le problème ne se pose souvent pas ce genre de questions (et j'en fais partie).

Après tu peux estimer que ça n'est pas suffisant. Dans ce cas tu peux envisager deux solutions pour isoler l'utilisateur du reste du système. Mais garde à l'esprit que quelle que soit la stratégie adoptée, isoler revient moralement à recréer un environnement dans chaque jail / container. Je vois personnellement deux approches pour réaliser ce genre de choses :
  • Comme le propose zipe31, un chroot, c'est une manière d'isoler complètement un utilisateur par exemple dans son home (mais ça oblige à préparer son home pour qu'il soit chrootable, en particulier, le dossier chrooté doit contenir un shell fonctionnel). Le projet jailkit sert précisément à réaliser ce genre de choses (personnellement je ne l'ai jamais testé).
  • Une autre solution que je vois, c'est d'utiliser des containers (voir e.g. lxc), et chaque utilisateur travaille dans son container. Généralement, les containers sont plutôt utilisés pour isoler des applications du reste du système, ce qui permet en outre de ne pas "casser" une application en mettant à jour le système d'exploitation (l'application s'appuie uniquement le "système" de son container). Voir cette discussion.


Bonne chance
0