extrait d'un document disparu a écrit
Ce document étant un tuto, il expose une façon de faire qui a fonctionné, Ce n'est certainement pas la seule possible. Voici donc une façon de procéder.
==== Récupération des références windows ====
La nouvelle version de l'application NTFS-3G ne dispose plus du module windows. Le traitement se fera donc sous ubuntu. La solution retenue est la ligne de commande et pas le logiciel qui est trop compliqué et qui donne une fausse sécurité.
Il est nécessaire de récupérer les références windows de chaque utilisateur windows pour l'associer à l'utilisateur ubuntu. A priori, utiliser le même nom n'est pas une option qui évite cette action d'association. Pour améliorer, nous avons créé un fichier dans l'étape d'installation. L'administrateur Ubuntu va récupérer la signature windows de ce fichier avec la commande suivante:
<code>ntfssecaudit -u /media/Commun1/NomUtilisateur/Documents/TEST.txt | grep -v "#" </code>
Le retour sera de sept lignes. Par exemple
<code>No errors were found
ntfssecaudit 1.5.0 : NTFS security data auditing
user::S-1-5-21-927183623-3019374658-1503319323-1020
:group:S-1-5-21-927183623-3019374658-1503319323-513
::S-1-5-21-927183623-3019374658-1503319323-10000
No errors were found</code>
Il faut alors commencer à fabriquer manuellement le fichier $home/UserMapping avec les lignes utiles. Par exemple:
<code># Début création manuelle du fichier faite aujourd'hui
:ntfs3g:S-1-5-21-927183623-3019374658-1503319323-513
NomUbuntu de cet utilisateur1 Windows::S-1-5-21-927183623-3019374658-1503319323-1020 </code>
Il faut continuer avec le second utilisateur puis encore ajouter une ligne, etc..... Puis, lorsque c'est le dernier, on termine l'ajout dans le fichier qui devient
<code># Début création manuelle du fichier faite aujourd'hui
:ntfs3g:S-1-5-21-927183623-3019374658-1503319323-513
NomUbuntu de cet utilisateur1 Windows:ntfs3g:S-1-5-21-927183623-3019374658-1503319323-1020
NomUbuntu de cet utilisateur2 Windows:ntfs3g:S-1-5-21-927183623-3019374658-1503319323-1021
NomUbuntu de cet utilisateur3 Windows:ntfs3g:S-1-5-21-927183623-3019374658-1503319323-1025
......
NomUbuntu de cet utilisateur9 Windows:ntfs3g:S-1-5-21-927183623-3019374658-1503319323-1041
::S-1-5-21-927183623-3019374658-1503319323-10000
# fin de création manuelle du fichier </code>
==== Activation de la sécurité ====
Le principe est simple. Le fichier ainsi créé va servir de guide. On peut indiquer dans la ligne de montage de la partition l'endroit où il doit être trouvé.
On peut aussi le mettre à l'endroit par défaut qui est sous le répertoire **.NTFS-3G** de la partition. Ce qui semble le plus simple. Il faut démonter la partition et la remonter pour prise en compte.
Dans l'absolu, cette opération n'est à faire qu'une fois. La pratique montre qu'il y aura certainement plusieurs tentatives avant que tout soit correct.
Ce script peut aider.
<file>
#! /bin/sh
## Mettre à jour la partition
COM=Commun1 #### Nom de la partition Commune Traitée
sudo cat UserMapping
sudo mount -L $COM
sudo mkdir /media/$COM/.NTFS-3G
sudo cp -v UserMapping /media/$COM/.NTFS-3G
sleep 5
sudo umount -v /media/$COM
sudo mount -L $COM
## Fin de script.
</file>
==== Vérification du fonctionnement de la sécurité ====
Cette opération est nécessaire car personne n'est à l'abri d'avoir mal installé et surtout d'avoir mal écrit ce tutoriel en faisant faire des réalisations non désirées.
Un rapide coup d'oeil sur les dossiers personnels.
<code>ls -als /media/Commun1 </code>
Un rapide coup d'oeil sur les dossiers partagés.
<code>ls -als /media/Commun1/Partage </code>
Accès aux dossiers généraux communs.
<code>echo ecriture >/media/Commun1/Partage/TEST.txt
echo ecriture >/media/Commun1/Partage/Commun/TEST.txt </code>
Accès aux dossiers spécifiques communs:
Ils doivent être tous accessibles en lecture et seul, celui de l'utilisateur, doit être accessible en écriture.
<code>ls /media/Commun1/Partage/Utulisateur1
ls /media/Commun1/Partage/Utulisateur2
ls /media/Commun1/Partage/Utulisateur3
echo ecriture >/media/Commun1/Partage/Utilisateur1/TEST.txt
echo ecriture >/media/Commun1/Partage/Utilisateur2/TEST.txt
echo ecriture >/media/Commun1/Partage/Utilisateur3/TEST.txt </code>
Accès aux répertoires personnels:
seul, celui de l'utilisateur, doit être accessible.
<code>ls /media/Commun1/Utulisateur1
ls /media/Commun1/Utulisateur2
ls /media/Commun1/Utulisateur3
echo ecriture >/media/Commun1/Utilisateur1/TEST.txt
echo ecriture >/media/Commun1/Utilisateur2/TEST.txt
echo ecriture >/media/Commun1/Utilisateur3/TEST.txt </code>
Réparation du fonctionnent de la sécurité.
Surtout, Si cela ne fonctionne pas comme voulu, il est inutile de faire un BOOT-REPAIR.
Il n'y a pas beaucoup d'intervenants. L'écriture de ce tuto prouve simplement que cela peut fonctionner. Si tel n'est pas le cas, il faut contrôler.
La cause est obligatoirement l'association et les permissions accordées à l'installation.
Il faut regarder de nouveau les permissions de base de WINDOWS.
Il faut regarder de nouveau le contenu du fichier UserMapping.
Il faut aussi regarder la création des utilisateurs:
<code>cat /etc/group | grep nfts3g
cat /etc/passwd | grep utilisateurs
id </code>
Lorsque cela est possible, sous ubuntu avec le gestionnaire de fichier, sélectionner le **dossier**, faire un clic droit, choisir **propriétés** et aller regarder l'onglet **permissions**
Si l'ouverture est possible, il y a une très belle présentation des habilitations avec une possible modification des actions autorisées.
( Capture écran sera fournie).
===== Quelques erreurs. =====
==== Connexion avec un mauvais groupe. ====
La liste des répertoires et fichiers n'est pas possible. Le message est assez déconcertant.
<code>b3@u1804:~$ cd /media
b3@u1804:/media$ cd C*1
bash: cd: Commun1: Noeud final de transport n'est pas connecté
b3@u1804:/media$ ls -als
ls: impossible d'accéder à 'Commun1': Noeud final de transport n'est pas connecté
ls: impossible d'accéder à 'Windows1': Noeud final de transport n'est pas connecté
total 16
4 drwxr-xr-x 6 root root 4096 juin 26 09:47 .
4 drwxr-xr-x 28 root root 4096 juin 12 11:22 ..
4 drwxrwxrwx 1 root root 4096 juin 26 11:09 BADNTFS
? d?????????? ? ? ? ? ? Commun1
4 drwxr-x---+ 2 root root 4096 mai 28 13:23 u1804
? d?????????? ? ? ? ? ? Windows1
b3@u1804:/media$ </code>
===== Divers. =====
==== La Documentation NTFS-3G ====
https://www.windows-commandline.com/wmic-useraccounts/
==== Principe de l'association des utilisateurs. ====
**Une brève description**:
Définition d'un utilisateur Ubuntu =⇒ /etc/passwd ⇒ GID à partir de 1000 par pas d'incrémentation de 1.
Définition d'un utilisateur Windows ⇒ Base de registres ⇒ SID composé de clé machine + N° à partir de 1000 par pas d'incrémentation de 1.
**Le SID Windows**
Définition
https://support.microsoft.com/fr-fr/help/243330/well-known-security-identifiers-in-windows-operating-systems
Récupération
https://www.windows-commandline.com/wmic-useraccounts/
La commande suivante est bien suffisante. **wmic useraccount get name , sid**
==== Script de fabrication du fichier Usermapping ====
Ce script peut aussi être utilisé pour rechercher ce qui ne sera pas protégé si l'O.S. Windows est utilisé en écriture.
<code>
#! /bin/sh
##Prérequis à l'exécution du script.
### Script de création des habilitations: Il est nécessaire de définir les deux partitions Windows et Commun qui vont être traitées si les noms retenus ne sont pas Windows1 et Commun1.
WIN=Windows1 #### Nom de la partition Windows Traitée
COM=Commun1 #### Nom de la partition Commune Traitée
## Epuration des partitions au cas où il y aurait des restes de passages précédents.
sudo mount -v /media/$WIN
sudo mount -v /media/$COM
sudo rm -R /media/$WIN/.NTFS*
sudo rm -R /media/$COM/.NTFS*
sudo rm -R /media/$WIN/.Trash*
sudo rm -R /media/$COM/.Trash*
## Création du fichier de protection
sleep 5
umount -v /media/$WIN
umount -v /media/$COM
##ntfsusermap $(blkid |grep -Ei "$WIN" | awk -F ':' '{print $1}') $(blkid |grep -Ei $COM | awk -F ':' '{print $1}') ### Nom des partitions windows et Commun Traitées
ntfsusermap /dev/disk/by-label/$WIN /dev/disk/by-label/$COM
</code>
==== Options de montage ====
Les options possibles pour le montage d'une partition NTFS sont disponibles dans ce document
http://jp-andre.pagesperso-orange.fr/permissions.html#options
==== Script de montage des partitions ====
<code>
#! /bin/sh
## Prérequis à l'exécution du script.
## Il est nécessaire de définir les deux partitions Windows et Commun qui vont être traitées si les noms retenus ne sont pas Windows1 et Commun1.
WIN=Windows1 #### Nom de la partition Windows Traitée
COM=Commun1 #### Nom de la partition Commune Traitée
sudo cat UserMapping
sudo mount -L $COM
sudo mount -L $WIN
sudo mkdir /media/$COM/.NTFS-3G
sudo mkdir /media/$WIN/.NTFS-3G
sudo cp -v UserMapping /media/$COM/.NTFS-3G
sudo cp -v UserMapping /media/$WIN/.NTFS-3G
sleep 5
sudo umount -v /media/$WIN
sudo umount -v /media/$COM
sudo mount -L $WIN
sudo mount -L $COM
## Fin de script. </code>