Répertoire de assembly pour les utilisateurs non administrateurs sur une installation à double démarrage

J’ai un PC à double démarrage (Ubuntu 12.04 avec gnome, Windows Vista) et l’administrateur utilise tous les lecteurs, y compris le lecteur C de Windows.

Je souhaite autoriser les utilisateurs disposant de privilèges standard à pouvoir lire (pas écrire, mais seulement accéder à un document) un seul sous-répertoire nommé A à partir du lecteur C.

Ainsi, dans le fichier /etc/fstab , /media/123.../A ( C:\A dans Windows) doit être lié au répertoire des /home/user/Documents/A ( /home/user/Documents/A ), uniquement pour utilisateurs standard (pas les administrateurs).

Cela devrait inclure les sous-répertoires de A aussi et tous les fichiers. Y a-t-il un moyen de le faire?
Merci d’avance!

Vous pouvez définir des permissions pour une partition Windows, mais vous ne pouvez pas définir d’permissions pour des fichiers / dossiers individuels sous la partition. au moment du assembly, vous définissez les permissions sur l’ ensemble du lecteur.

Dans votre question, vous n’avez pas indiqué si les utilisateurs privilégiés standard devaient disposer d’un “access en lecture seule au sous-répertoire A et d’un access en écriture au rest de la partition Windows “, ou d’un “access en lecture seule au sous-répertoire A et d’aucun access. au rest de la partition “. Malheureusement, toutefois, ces deux scénarios ne peuvent être réalisés avec précision, en raison de la phrase d’introduction de cette réponse.

Si vous souhaitez donner à un utilisateur un access en lecture seule à un dossier spécifique de la partition Windows, cet utilisateur aura un access en lecture seule à la totalité de la partition. Si cela vous convient, voici une explication sur la procédure à suivre:

  1. Tout d’abord, créez un groupe pour les utilisateurs qui auront un access en lecture seule. Pour les besoins de cet exemple, nous utiliserons WindowsRO . Donc, la commande pour créer le groupe est:

      sudo groupadd WindowsRO 
  2. Deuxièmement, nous allons append les utilisateurs (auxquels nous voulons donner un access en lecture seule) au groupe. En supposant qu’un utilisateur s’appelle notadmin , notadmin la commande:

      sudo usermod -a -G WindowsRO notadmin 

    Répétez cette commande pour tous les utilisateurs requirejs.

  3. Nous devons maintenant obtenir le GID (ID du groupe) du groupe, car nous l’utiliserons lors du assembly du lecteur. Pour ce faire, exécutez ce qui suit:

      grep WindowsRO / etc / group |  cut -d: -f3 

    Notez le nombre sorti, car nous en aurons besoin à l’étape 5. Pour cet exemple, je suppose que le résultat est 1003 .

  4. Nous devons maintenant obtenir l’UID (ID utilisateur) du compte admin, car nous l’utiliserons lors du assembly du lecteur. Cet exemple supposera que le compte administrateur est bob . Pour ce faire, exécutez ce qui suit:

      grep bob / etc / passwd |  cut -d: -f3 

    Notez le nombre sorti, car nous en aurons besoin à l’étape 5. Pour cet exemple, je suppose que le résultat est 1000 .

  5. Nous allons maintenant éditer le fichier /etc/fstab . Je suppose que la partition Windows en question est /dev/sda2 , que vous la /dev/sda2 sur /media/123 et qu’il s’agit d’une partition ntfs . C’est la ligne que vous devriez avoir:

      / dev / sda2 / media / 123 ntfs, gid = 1003, uid = 1000, dmask = 027, fmask = 037, # AnyOtherOptions # 
    • gid=1003 est le nombre obtenu à l’étape 3 (le GID du groupe).
    • uid=1000 est le numéro obtenu à l’étape 4 (l’UID du compte admin).
    • dmask=027 définit les permissions sur les dossiers comme -rwxr-x--- : -rwxr-x--- , ce qui signifie que le propriétaire (le compte administrateur) aura un access complet ( rwx ) et que le groupe ne disposera que d’un access en lecture ( rx ), et quelqu’un d’autre n’aura pas access du tout ( --- ).
    • fmask=037 définit les permissions sur les fichiers comme -rwxr----- : -rwxr----- . Ceci est similaire à dmask ; le groupe n’aura qu’un access en lecture aux fichiers.
    • Vous devez remplacer #AnyOtherOptions# par quelque autre option que vous ayez. Par exemple, vous pouvez avoir auto qui monte automatiquement la partition au démarrage.
  6. Une fois l’opération terminée, faites sudo mount -a pour appliquer les modifications apscopes au fichier fstab . Espérons que vous ne devriez pas avoir d’erreur.

    Vous devez maintenant vérifier que les utilisateurs peuvent accéder à la partition. Si oui, passez à l’étape suivante pour append ce lien A à leur dossier Documents.

  7. En supposant que le répertoire personnel de notre compte notadmin soit /home/notadmin et que ce dossier A trouve dans /media/123/some/folder/A , procédez comme suit:

      ln -s / media / 123 / certains / dossier / A / home / notadmin / Documents / A 

    Vous devriez maintenant voir un lien sous notadmin de notadmin , pointant vers A Il n’a qu’un access en lecture à celui-ci (et à ses sous-répertoires, car il dispose d’un access en lecture seule à l’ensemble de la partition). Suivez la même chose pour les autres utilisateurs.

Tout ce qui précède devrait répondre à vos exigences, à l’exception du point que j’ai mentionné au début: quel type d’access l’utilisateur devrait-il avoir pour le rest de la partition? Ce qui précède leur donnera un access en lecture seule à l’ensemble de la partition, et pas seulement à la partition A ; nous ne sums pas en mesure de définir des permissions pour des fichiers / dossiers spécifiques lors du assembly de partitions Windows.

Tout simplement possible avec overlayfs

Guide pour monter un dossier Windows en mode lecture seule pour un utilisateur normal (mode écriture pour un utilisateur root ou différent)

  1. Créer un sharepoint assembly pour l’utilisateur ROOT

     sudo mkdir /root/win 
  2. Créer un sharepoint assembly pour un utilisateur normal

     mkdir /home/$USER/folder mkdir /tmp/folder 
  3. Monter la partition Windows en mode écriture

     sudo mount /dev/disk/by-label/winOS /root/win 
  4. Monter le dossier de la partition Windows en mode lecture seule

     sudo mount -t overlayfs -o ro,lowerdir=/root/win/folder,upperdir=/tmp/folder overlayfs /home/$USER/folder 

Accéder à la partition Windows en écriture en tant qu’utilisateur root

 sudo nautilus /root/win 

Accéder au dossier en lecture seule de la partition Windows

 nautilus /home/$USER/folder 

Si vous souhaitez monter un répertoire accessible en écriture en mode lecture seule sur un autre emplacement, utilisez bind mount .

Par exemple, monter le répertoire personnel en mode lecture seule @ / tmp / home

 sudo mount --bind ~ /tmp/home sudo mount -o ro,remount /tmp/home 

Si vous souhaitez accéder en lecture seule à un dossier spécifique pour un utilisateur normal, montez la partition dans un emplacement inaccessible (Exemple / root / abc ).