Contenu | Rechercher | Menus

Annonce

L'équipe des administrateurs et modérateurs du forum vous invite à prendre connaissance des nouvelles règles.
En cas de besoin, vous pouvez intervenir dans cette discussion.

Ubuntu 18.04 LTS
Ubuntu-fr propose des clés USB de Ubuntu et toutes ses « saveurs » ainsi qu'un magnifique t-shirt pour cette toute nouvelle version d'Ubuntu !

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 09/05/2018, à 22:43

??

Lier dossier utilisateurs ubuntu et windows

Bonsoir
J'ouvre cette discussion afin qu'une proposition commune de base puisse être proposée aux utilisateurs.

Principe
Sous windows, l'administrateur a créé user1 et user2 sans droit d'administration.
  User1 et user2 ont donc leurs données stockées dans C:/user1 et C:/user2
   Lorsque user1 se connecte, il voit très bien que user2 est défini dans cet ordinateur.
   Mais il ne peut se connecter  comme user2 car il ne connaît pas son mot de passe.
   Il est incapable de connaître la liste des fichiers de user2
Sous Ubuntu, l'administrateur a créé user1 et user2 sans droit d'administration.
  User1 et user2 ont donc leurs données stockées dans  /home/user1 et /home/user2
  Lorsque user1 se connecte, il voit très bien que user2 est défini dans cet ordinateur.
  Mais il ne peut se connecter comme user2 car il ne connaît pas son mot de passe.
   Il est incapable de connaître la liste des fichiers de user2,

La réciproque est vraie.

Le premier problème à résoudre est de permettre à user1 de windows de connaître ses données de ubuntu.
  ===> j'en suis arrivé à la conclusion que c'était devenu impossible car windows considère que les logiciels qui accèdent aux données EXT4 sous windows sont des virus.

Ce qui me semble assez logique car il a mis au point un ubuntu fonctionnant dans la partition C:
   Donc.   Exit sur le problème.

Le second problème à résoudre est de permettre à user1 de ubuntu de connaître ses données de windows sans avoir à demander à l'administrateur de windows de les déplacer dans la partition windowsUser1

Si on résout ce problème, il  est probable sinon certain qu'on aura réussi à empêcher user1 de toucher au logiciel windows.
La piste proposée est le logiciel ntfsusermap

Dernière modification par ?? (Le 09/05/2018, à 23:10)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#2 Le 10/05/2018, à 00:30

??

Re : Lier dossier utilisateurs ubuntu et windows

 ntfs-3g.usermap

This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.
Usage : usermap dev1 [dev2 ...]
    "dev." are the devices to share with Windows
        eg /dev/sdb1
    the devices should not be mounted
    the Windows system  partition should be named first
u16041@u16041:~$ 
u16041@u16041:~$ usermap /dev/sda4
usermap : commande introuvable
u16041@u16041:~$ 

https://www.google.fr/search?as_q=ntfsu … as_rights=

u16041@u16041:~$ mount.ntfs-3g --help

ntfs-3g 2015.3.14AR.1 integrated FUSE 28 - Third Generation NTFS Driver
		Configuration type 7, XATTRS are on, POSIX ACLS are on

Copyright (C) 2005-2007 Yura Pakhuchiy
Copyright (C) 2006-2009 Szabolcs Szakacsits
Copyright (C) 2007-2015 Jean-Pierre Andre
Copyright (C) 2009 Erik Larsson

Usage:    ntfs-3g [-o option[,...]] <device|image_file> <mount_point>

Options:  ro (read-only mount), windows_names, uid=, gid=,
          umask=, fmask=, dmask=, streams_interface=.
          Please see the details in the manual (type: man ntfs-3g).

Example: ntfs-3g /dev/sda1 /mnt/windows

News, support and information:  http://tuxera.com

Un tout petit début en version 16.04 avant de regarder comment cela se comporte en version 18.04

u16041@u16041:~$ ntfs-3g.usermap /dev/sda4

This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.

Sorry, only root can start usermap
u16041@u16041:~$ sudo ntfs-3g.usermap /dev/sda4

This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.
"/dev/sda4" opened

* Scanning "/dev/sda4" (two levels)
* Search for "Documents and Settings" and "Users"

Under Windows login "xxxxxxxxx"
   in directory "/Users/xxxxxxxxxx"
   file "Modèles" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User :u16041

........


Under Windows login "xxxxxxxxxxx"
   in directory "/Users/xxxxxxxx"
   file "3D Objects" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 1000

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "Modèles" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 1000
* Search for other directories /

   in directory "/Recovery/WindowsRE"
   file "Winre.wim" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

   in directory "/Windows/assembly"
   file "NativeImages_v4.0.30319_32" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 





"/dev/sda4" closed

* Creating file UserMapping
# Generated by usermap for Linux, v 1.1.6
:1000:S-1-5-21-3602143908-2238239145-2059560437-513
u16041:u16041:S-1-5-21-3602143908-2238239145-2059560437-1001
1000:1000:S-1-5-21-3602143908-2238239145-2059560437-1000
Undecided :
   S-1-5-21-397955417-626881126-188441444-513
   S-1-5-21-1132788806-224758879-1159741405-513

* You will have to move the file "UserMapping"
  to directory ".NTFS-3G" after mounting
u16041@u16041:~$ 

Pour le moment, je n'ai pas tout compris.

u16041@u16041:~$ sudo cat UserMapping
# Generated by usermap for Linux, v 1.1.6
:1000:S-1-5-21-3602143908-2238239145-2059560437-513
u16041:u16041:S-1-5-21-3602143908-2238239145-2059560437-1001
1000:1000:S-1-5-21-3602143908-2238239145-2059560437-1000
u16041@u16041:~$ 

Ce qui est presque probable, c'est qu'il faudra continuer à mettre a jour le fichier /etc/fstab   
et toujours avec l'option windows-name

windows_names
              This option prevents files, directories and extended attributes to be created with a name not allowed by windows, because

                     - it contains some not allowed character,
                     - or the last character is a space or a dot,
                     - or the name is reserved.

              The  forbidden  characters are the nine characters " * / : < > ? \ | and those whose code is less than 0x20, and the reserved names are CON, PRN, AUX,
              NUL, COM1..COM9, LPT1..LPT9, with no suffix or followed by a dot.

              Existing such files can still be read (and renamed).

mais je serais bien tenté de regarder ce que celle-ci donne

remove_hiberfile
              Unlike in case of read-only mount, the read-write mount is denied if the NTFS volume is hibernated. One needs  either  to  resume
              Windows and shutdown it properly, or use this option which will remove the Windows hibernation file. Please note, this means that
              the saved Windows session will be completely lost. Use this option under your own responsibility.

=====> C'est fait: Si windows n'est pass arrêté corectement, le boot de ubuntu plante et journalctl -xb indique code d'erreur 14

Dernière modification par ?? (Le 10/05/2018, à 01:46)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#3 Le 10/05/2018, à 04:17

moko138

Re : Lier dossier utilisateurs ubuntu et windows

man mount.ntfs-3g  # extraits
OPTIONS
       usermapping=file-name
              Use  file  file-name  as  the  user  mapping file instead of the default .NTFS-3G/UserMapping. If file-name
              defines a full path, the file must be located on a partition previously mounted. If it defines  a  relative
              path, it is interpreted relative to the root of NTFS partition being mounted.

              When a user mapping file is defined, the options uid=, gid=, umask=, fmask=, dmask= and silent are ignored.

       permissions
              Set  standard  permissions on created files and use standard access control.  This option is set by default
              when a user mapping file is present.
man mount.ntfs-3g  # extraits, suite
USER MAPPING
       NTFS uses specific ids to record the ownership of files instead of the uid and gid used by Linux. As a consequence
       a mapping between the ids has to be defined for ownerships to be recorded into NTFS and recognized.

       By  default,  this mapping is fetched from the file .NTFS-3G/UserMapping located in the NTFS partition. The option
       usermapping= may be used to define another location. When the option permissions is set and  no  mapping  file  is
       found, a default mapping is used.

       Each  line  in  the  user mapping file defines a mapping. It is organized in three fields separated by colons. The
       first field identifies a uid, the second field identifies a gid and the third  one  identifies  the  corresponding
       NTFS id, known as a SID. The uid and the gid are optional and defining both of them for the same SID is not recom‐
       mended.

       If no interoperation with Windows is needed, you can use the option permissions  to  define  a  standard  mapping.
       Alternately,  you  may  define  your  own mapping by setting a single default mapping with no uid and gid. In both
       cases, files created on Linux will appear to Windows as owned by a foreign user, and files created on Windows will
       appear to Linux as owned by root. Just copy the example below and replace the 9 and 10-digit numbers by any number
       not greater than 4294967295. The resulting behavior is the same as the one with the option permission set with  no
       ownership option and no user mapping file available.

              ::S-1-5-21-3141592653-589793238-462643383-10000

       If  a strong interoperation with Windows is needed, the mapping has to be defined for each user and group known in
       both system, and the SIDs used by Windows has to be collected. This will lead to a user mapping file like :

              john::S-1-5-21-3141592653-589793238-462643383-1008       mary::S-1-5-21-3141592653-589793238-462643383-1009
              :smith:S-1-5-21-3141592653-589793238-462643383-513 ::S-1-5-21-3141592653-589793238-462643383-10000


       The utility ntfs-3g.usermap may be used to create such a user mapping file.

EXAMPLES
       Mount /dev/sda1 to /mnt/windows:

              ntfs-3g /dev/sda1 /mnt/windows
       or
              mount -t ntfs-3g /dev/sda1 /mnt/windows

       Mount the ntfs data partition /dev/sda3 to /mnt/data with standard Linux permissions applied :

              ntfs-3g -o permissions /dev/sda3 /mnt/data
       or
              mount -t ntfs-3g -o permissions /dev/sda3 /mnt/data

       Read-only mount /dev/sda5 to /home/user/mnt and make user with uid 1000 to be the owner of all files:

              ntfs-3g /dev/sda5 /home/user/mnt -o ro,uid=1000

%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne

#4 Le 10/05/2018, à 04:23

moko138

Re : Lier dossier utilisateurs ubuntu et windows

?? et maxire,
Il me semble que cette discussion serait plus à sa place dans
"Autres logiciels et problèmes généraux", que dans le café, non ?

Et en modifiant le titre, actuellement trop semblable à l'autre fil
"Lier dossier utilisateurs Ubuntu et Windows",
     peut-être quelque chose comme
"NTFS dans fstab, options de montage" ?
  ou, plus précis,
"NTFS dans fstab, usermap vs uid+gid" ?

Dernière modification par moko138 (Le 10/05/2018, à 04:34)


%NOINDEX%
Un utilitaire méconnu : ncdu

Hors ligne

#5 Le 10/05/2018, à 15:46

??

Re : Lier dossier utilisateurs ubuntu et windows

Bonjour

Je ne souhaite qu'à traiter ce problème:

L'administrateur de windows10-1    a créé deux utilisateurs lambda (ils ne sont pas de la famille car ils n'ont pas d'adresse internet)  user1a et user1b
L'administrateur de windows10-2     n'a pas réussi à le faire car ce windows n'est pas activé.
L'administrateur de windows10-3     n'a pas réussi à le faire car ce windows a besoin d'être réparé  (C'est le cadet de mes soucis).
L'administrateur de windows10-4    a créé deux utilisateurs lambda (ils ne sont pas de la famille car ils n'ont pas d'adresse internet)  user4a et user4b
L'administrateur de ubuntu               a créé quatre  utilisateurs user1a  user1b  user4a user4b

Sous windows, user1a connait l'existance de user2a, mais il ne peux connaitre les noms des fichiers de user2a. La réciproque est vraie.

Jusqu'à ce jour, la proposition faite  est de créer une partition commune de données NTFS.   
Il n'y a aucun problème de sécurité lorsqu'il n'y a qu'un seul utilisateur:  On monte la partition contenant le C:   et on dit à l'utilisateur de faire attention aux fichiers de l'OS WINDOWS.
Le conseil est souvent de dire de fabriquer une partition toute neuve et de migrer les données de windows dans cette partition.

Notons qu' en présence de deux utilisateurs ubuntu qui doivent s'ignorer, Il n'y a pas de problème particulier.
C'est soit le répertoire /home soit le répertoire /DATA d'une partition formatée EXT4      La gestion des droits pouvant se faire par chown sur les  sous-répertoires.
Il se trouve que windows n'assure pas la gestion des partitions EXT4  (On peut le comprendre).   Il faut donc que la partition commune soit au format NTFS. A  ce niveau je ne connais que le montage de la partition avec des droits au plus haut niveau.   
Ce qui fait que les utilisateurs auront tous les même droits dans une partition.

Le seul palliatif que je connais est de faire une partition NTFS nouvelle par utilisateur.. 
Avec 4 utilisateurs, cela fait 4 partitions de données à définir ainsi que la partition contenant le C: afin que l'administrateur ne soit pas oublié.
C'est le conseil que je donne le plus souvent.
Avec 20 utilisateurs Windows risque de manquer d'affectation de lettre!!!!!

Il se trouve qu'il serait possible de laisser les  données dans le C:   en bloquant au plus fin grâce à NTFS-3G.
Je tente de le découvrir.........

A) C'est parti pour l'exploration

u16041@u16041:~$ sudo ntfs-3g.usermap /dev/sda4 /dev/sda13
[sudo] Mot de passe de u16041 : 

This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.
"/dev/sda4" opened

* Scanning "/dev/sda4" (two levels)
* Search for "Documents and Settings" and "Users"

Under Windows login "xxxxxxwx"
   in directory "/Users/xxxxxxx"
   file "Modèles" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "xxxxxxx"
   in directory "/Users/xxxxxxx"
   file "3D Objects" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "Modèles" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "Desktop" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "user1a"
   in directory "/Users/user1a"
   file "3D Objects" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user1a

Under Windows login "user1a"
   in directory "/Users/user1a"
   file "3D Objects" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : user1a

Under Windows login "user1b"
   in directory "/Users/user1b"
   file "3D Objects" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user1b
* Search for other directories /

   in directory "/Recovery/WindowsRE"
   file "Winre.wim" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

   in directory "/Windows/assembly"
   file "NativeImages_v4.0.30319_32" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 
"/dev/sda4" closed
"/dev/sda13" opened

* Scanning "/dev/sda13" (two levels)
* Search for "Documents and Settings" and "Users"

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "AppData" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "yyyyyyy"
   in directory "/Users/yyyyyyyy"
   file "AppData" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "yyyyyyy"
   in directory "/Users/yyyyyyy"
   file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "yyyyyyy"
   in directory "/Users/yyyyyyy/Downloads"
   file "Ext2Fsd-0.69.1039-02.22.exe" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "yyyyyyy"
   in directory "/Users/yyyyyyy/Downloads"
   file "Ext2Fsd-0.69.1039-02.22.exe" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "user4b"
   in directory "/Users/user4b"
   file "AppData" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user4b

Under Windows login "user4b"
   in directory "/Users/user4b"
   file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : usezr4b

Under Windows login "usuer4a"
   in directory "/Users/usuer4a"
   file "AppData" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user4b
* Search for other directories /
"/dev/sda13" closed

* Creating file UserMapping
# Generated by usermap for Linux, v 1.1.6
:user1a:S-1-5-21-3602143908-2238239145-2059560437-513
:usezr4b:S-1-5-21-927183623-3019374658-1503319323-513
user1a:user1a:S-1-5-21-3602143908-2238239145-2059560437-1002
user1b:user1b:S-1-5-21-3602143908-2238239145-2059560437-1003
user4b:user4b:S-1-5-21-927183623-3019374658-1503319323-1003
user4b:user4b:S-1-5-21-927183623-3019374658-1503319323-1002
Undecided :
   S-1-5-21-3602143908-2238239145-2059560437-1001
   S-1-5-21-3602143908-2238239145-2059560437-1000
   S-1-5-21-397955417-626881126-188441444-513
   S-1-5-21-1132788806-224758879-1159741405-513
   S-1-5-21-927183623-3019374658-1503319323-1000
   S-1-5-21-927183623-3019374658-1503319323-1001
   S-1-5-21-1783554288-1444674882-3479808491-1001
   S-1-5-21-1783554288-1444674882-3479808491-513

* You will have to move the file "UserMapping"
  to directory ".NTFS-3G" after mounting
u16041@u16041:~$ 

[sudo] Mot de passe de u16041 : 

This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.
"/dev/sda4" opened

* Scanning "/dev/sda4" (two levels)
* Search for "Documents and Settings" and "Users"

Under Windows login "xxxxxxx"
   in directory "/Users/yyyyyyy"
   file "Modèles" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "xxxxxxx"
   in directory "/Users/xxxxxxx"
   file "3D Objects" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "Modèles" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "Desktop" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "user1a"
   in directory "/Users/user1a"
   file "3D Objects" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user1a

Under Windows login "user1a"
   in directory "/Users/user1a"
   file "3D Objects" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : user1a

Under Windows login "user1b"
   in directory "/Users/user1b"
   file "3D Objects" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user1b
* Search for other directories /

   in directory "/Recovery/WindowsRE"
   file "Winre.wim" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

   in directory "/Windows/assembly"
   file "NativeImages_v4.0.30319_32" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 
"/dev/sda4" closed
"/dev/sda13" opened

* Scanning "/dev/sda13" (two levels)
* Search for "Documents and Settings" and "Users"

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "AppData" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "yyyyyyy"
   in directory "/Users/yyyyyyy"
   file "AppData" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "yyyyyyy"
   in directory "/Users/yyyyyyy"
   file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "yyyyyyy"
   in directory "/Usersis/yyyyyyy/Downloads"
   file "Ext2Fsd-0.69.1039-02.22.exe" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "yyyyyyy"
   in directory "/Users/yyyyyyy/Downloads"
   file "Ext2Fsd-0.69.1039-02.22.exe" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "user4b"
   in directory "/Users/user4b"
   file "AppData" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user4b

Under Windows login "user4b"
   in directory "/Users/user4b"
   file "AppData" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : usezr4b

Under Windows login "usuer4a"
   in directory "/Users/usuer4a"
   file "AppData" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user4b
* Search for other directories /
"/dev/sda13" closed

* Creating file UserMapping
# Generated by usermap for Linux, v 1.1.6
:user1a:S-1-5-21-3602143908-2238239145-2059560437-513
:usezr4b:S-1-5-21-927183623-3019374658-1503319323-513
user1a:user1a:S-1-5-21-3602143908-2238239145-2059560437-1002
user1b:user1b:S-1-5-21-3602143908-2238239145-2059560437-1003
user4b:user4b:S-1-5-21-927183623-3019374658-1503319323-1003
user4b:user4b:S-1-5-21-927183623-3019374658-1503319323-1002
Undecided :
   S-1-5-21-3602143908-2238239145-2059560437-1001
   S-1-5-21-3602143908-2238239145-2059560437-1000
   S-1-5-21-397955417-626881126-188441444-513
   S-1-5-21-1132788806-224758879-1159741405-513
   S-1-5-21-927183623-3019374658-1503319323-1000
   S-1-5-21-927183623-3019374658-1503319323-1001
   S-1-5-21-1783554288-1444674882-3479808491-1001
   S-1-5-21-1783554288-1444674882-3479808491-513

* You will have to move the file "UserMapping"
  to directory ".NTFS-3G" after mounting
u16041@u16041:~$

B) Montage des partitions par le chef

u16041@u16041:~$ sudo blkid | grep -Ei "sda4:|sda13"
/dev/sda4: LABEL="PremierWindows10" UUID="6CB8862A7B84D3A0" TYPE="ntfs" PARTLABEL="premier windows" PARTUUID="c94dc2e2-06d3-420c-87d0-1d90b5eb3efa"
/dev/sda13: LABEL="secondWindows10" UUID="A606949C06946ED5" TYPE="ntfs" PARTLABEL="secondWindows10" PARTUUID="18a19a5b-f06d-414b-bca2-44bee8d872b3"
u16041@u16041:~$  
u16041@u16041:~$ cat /etc/passwd | grep $HOME
u16041:x:1000:1000:U16041,,,:/home/u16041:/bin/bash
u16041@u16041:~$ 

===> Je suis preneur d'une meilleure codification

sudo  -i
cp -v /etc/fstab /etc/fstab.SAV
echo "#####"   >> /etc/fstab
echo "##### La partition C: de sda4"  >> /etc/fstab
echo "UUID=6CB8862A7B84D3A0     /DATA4   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0"   >> /etc/fstab
echo "#### La partition C:de sda13"  >> /etc/fstab
echo "UUID=A606949C06946ED5     /DATA13   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0" >> /etc/fstab
echo #### >> /etc/fstab
mkdir /DATA4
mkdir /DATA13
mount /dev/sda4     /SDA4
mount /dev/sda13   /SDA13

C) La copie du fichier

mkdir -v /DATA4/.NTFS-3G
mkdir  -v /DATA13/.NTFS-3G
exit
sudo cp  -v UserMapping    /DATA4/.NTFS-3G/UserMapping
sudo cp  -v UserMapping    /DATA13/.NTFS-3G/UserMapping
u16041@u16041:~$ sudo cat UserMapping
# Generated by usermap for Linux, v 1.1.6
:user1a:S-1-5-21-3602143908-2238239145-2059560437-513
:usezr4b:S-1-5-21-927183623-3019374658-1503319323-513
user1a:user1a:S-1-5-21-3602143908-2238239145-2059560437-1002
user1b:user1b:S-1-5-21-3602143908-2238239145-2059560437-1003
user4b:user4b:S-1-5-21-927183623-3019374658-1503319323-1003
user4b:user4b:S-1-5-21-927183623-3019374658-1503319323-1002
u16041@u16041:~$

D) La connexion d'un de ces utilisateurs nouvellement créés
  1)  Impossible d'acéder aux fichiers
  2)  Un reboot semble nécessaire
  3) Il accède bien à ses fichiers mais aussi à pas mal d'autres et peut  même modifier les programmes communs.

Dernière modification par ?? (Le 10/05/2018, à 19:13)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#6 Le 11/05/2018, à 10:55

??

Re : Lier dossier utilisateurs ubuntu et windows

Voici le début des premiers contrôles
A) Pour l'utilisateur user1b
    - Il accède bien a ses propres données
    - Il voit bien les utilisateurs  user1a, user4a et user4b   mais il ne peut pas descendre dans les répertoires.

En revanche, je ne sais dire si cela est normal.  Mais ce qui n'est pas correctement structuré dans windows lui est accessible en écriture et suppression. Tel qu'on peut le voir ici.

user1b@u16041:/DATA13/RECUP/recup_dir.1$ ls -als
total 901
  4 drwxrwxrwx 1 root root   4096 févr.  5 18:09 .
  0 drwxrwxrwx 1 root root      0 févr.  5 11:38 ..
 36 -rwxrwxrwx 1 root root  32926 janv. 28  2017 f102268368.odt
 36 -rwxrwxrwx 1 root root  32942 janv. 28  2017 f102268512.odt
472 -rwxrwxrwx 1 root root 481410 nov.  15  2010 f50611064_T1_X3_101115_1_8_1_expROM_FW_uni.zip
  8 -rwxrwxrwx 1 root root   4237 févr.  5 12:07 report.xml

user1b@u16041:/DATA13/RECUP/recup_dir.1$ rm f102268512.odt

user1b@u16041:/DATA13/RECUP/recup_dir.1$ ls -als
total 865
  4 drwxrwxrwx 1 root root   4096 mai   11 09:26 .
  0 drwxrwxrwx 1 root root      0 févr.  5 11:38 ..

 36 -rwxrwxrwx 1 root root  32926 janv. 28  2017 f102268368.odt
472 -rwxrwxrwx 1 root root 481410 nov.  15  2010 f50611064_T1_X3_101115_1_8_1_expROM_FW_uni.zip
  8 -rwxrwxrwx 1 root root   4237 févr.  5 12:07 report.xml
user1b@u16041:/DATA13/RECUP/recup_dir.1$ f102268512.odt
user1b@u16041:/DATA13/RECUP/recup_dir.1$ ls -ls report.xml
8 -rwxrwxrwx 1 root root 4237 févr.  5 12:07 report.xml
user1b@u16041:/DATA13/RECUP/recup_dir.1$ rm -v report.xml
'report.xml' supprimé
user1b@u16041:/DATA13/RECUP/recup_dir.1$ 

Il dispose aussi d'une fonctionnalité "souris" qui me fait un peu peur.   

1526029800.png

1526029961.png


1526030055.png

Peut-être qu'il n'y a aucun danger de la valider.......Mais j'hésite....

Dernière modification par ?? (Le 11/05/2018, à 11:15)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#7 Le 11/05/2018, à 14:21

??

Re : Lier dossier utilisateurs ubuntu et windows

Bonjour à tout le monde

J'attends votre avis sur cette manipulation hasardeuse....

user4a@u16041:/etc$ ls -ls /*swa*
5242884 -rw------- 1 root root 5368709120 mars   7 10:50 /file.swap
user4a@u16041:/etc$ mv /file.swap   /file.swap.old
user4a@u16041:/etc$ ls -ls /*swa*
5242884 -rw------- 1 root root 5368709120 mars   7 10:50 /file.swap.old
user4a@u16041:/etc$ 
user4a@u16041:/etc$ ls -ls /fstab*
0 -rw-r--r-- 1 root root 0 août   1  2017 /fstab1
user4a@u16041:/etc$ rm /fstab1
rm : supprimer fichier vide (protégé en écriture) '/fstab1' ? y
user4a@u16041:/etc$ ls -ls /fstab*
ls: impossible d'accéder à '/fstab*': Aucun fichier ou dossier de ce type
user4a@u16041:/etc$ 

et pour ceux-là (il est possible que j'en sois responsable...)

user4a@u16041:/etc$ ls -ls /init*
0 lrwxrwxrwx 1 root root 33 mai    9 18:47 /initrd.img -> boot/initrd.img-4.4.0-124-generic
0 lrwxrwxrwx 1 root root 33 avril 27 14:01 /initrd.img.old -> boot/initrd.img-4.4.0-122-generic
user4a@u16041:/etc$ ls -ls /vmlinuz*
0 lrwxrwxrwx 1 root root 30 mai    9 18:47 /vmlinuz -> boot/vmlinuz-4.4.0-124-generic
0 lrwxrwxrwx 1 root root 30 avril 27 14:01 /vmlinuz.old -> boot/vmlinuz-4.4.0-122-generic
user4a@u16041:/etc$ 

Plus gênant, je pense que l'application dispose en dur des répertoires windows qu'il faut bloquer et oublie de bloquer ceux qui sont créés hors structure windows

1526049302.png

Le fait d'avoir choisi un fichier commun de paramétrage pour deux OS windows  aggrave le problème.   Cela permet permet aussi à l'utilisateur d'aller supprimer les fichiers qui ne sont pas protégés de l'autre windows  dans lequel, il n'est pas défini.

Comme cette application ne semble pas maintenue, je me refuse à l'utiliser de la sorte dans les partitions contenant C;

Je reviens au point de départ initial en recommençant tout pour l'appliquer à une partition dédiée ne contenant que les données des utilisateurs des 4 utilisateurs

Dernière modification par ?? (Le 11/05/2018, à 16:53)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#8 Le 11/05/2018, à 21:43

metalux

Re : Lier dossier utilisateurs ubuntu et windows

Salut,
Je passe pour suivre le sujet, par contre je ne suis pas suffisamment dispo pour faire des tests de mon côté et je n'ai pas l'énergie pour le faire....pendant que certains font les ponts, d'autres comme moi font des semaines à rallonge sad
Qu'en est-il de la gestion de la corbeille avec tes tests?
Tu as peut-être donné la réponse mais si tu pouvais juste me répondre par oui ou non car j'avoue ne pas avoir tout suivi, il faudra que je relise à tête reposée.

@maxire ou moko138

maxire a écrit :

Le gagnant pour une gestion correcte en multi-utilisateurs de la corbeille est l'option permissons.

https://forum.ubuntu-fr.org/viewtopic.p … #p21915407
Comment mettez-vous cette option en place? Cela veut dire que chaque utilisateur peut mettre dans la corbeille les fichiers partagés? Une corbeille commune est-elle envisageable?

Hors ligne

#9 Le 11/05/2018, à 23:17

??

Re : Lier dossier utilisateurs ubuntu et windows

Bonsoir

L'idée d'avoir la même corbeille entre windows et ubuntu pour la même personne est excellente. Mais je pense que cela va être compliqué.
Pour l'instant user1a de ubuntu ne sait pas accéder la la poubelle générale de windows .

root@u16041:~# cd /DATA4
root@u16041:/DATA4# cd $Recycle.Bin
-bash: cd: .Bin: Aucun fichier ou dossier de ce type

root@u16041:/DATA4# cd "$Recycle.Bin"
-bash: cd: .Bin: Aucun fichier ou dossier de ce type
root@u16041:/DATA4#

Peux-être que windows pourra accéder aux poubelles des utilisateurs ubuntu.  Mais je n'en suis pas très sur . il n'aime pas les noms de commençant par un  point.

      0 drwx------  1 u16041 u16041          0 mai   11 22:39 .Trash-1000
      0 drwx------  1 user1a user1a          0 mai   11 22:00 .Trash-1002
      0 drwx------  1 user1b user1b          0 mai   11 22:35 .Trash-1003
root@u16041:/DATA4# 

Avoir une poubelle commune entre user1a et user1b  est un non-sens  (l'un ne  doit pas restaurer les données de l'autre)
La structure poubelle se fabrique automatiquement lors de la premiere suppression.

J'ai vérifié que les restaurations fonctionnaient.

Dans le fichier /etc/fstab, il y a

UUID=6CB8862A7B84D3A0     /DATA4   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0
UUID=A606949C06946ED5     /DATA13   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0

l'utilisareur 1000 a les droits d'administration.    les deux autres ne les ont pas.

Petit complément:  L'option remove_hiberfile        ne fait pas son travail.         Le boot continue de planter avec un code d'erreur 14

et un source récent du package https://www.tuxera.com/community/open-source-ntfs-3g/

Comment fait-il  pour dire qu'un répertoire est un utilisateur ????

 *               Windows to Linux user mapping for ntfs-3g
 *
 * 
 * Copyright (c) 2007-2016 Jean-Pierre Andre
 *
 *    A quick'n dirty program scanning owners of files in
 *      "c:\Documents and Settings" (and "c:\Users")
 *      and asking user to map them to Linux accounts
 *
 *          History
 *
 *  Sep 2007
 *     - first version, limited to Win32
 *
 *  Oct 2007
 *     - ported to Linux (rewritten would be more correct)
 *
 *  Nov 2007 Version 1.0.0
 *     - added more defaults
 *
 *  Nov 2007 Version 1.0.1
 *     - avoided examining files whose name begin with a '$'
 *
 *  Jan 2008 Version 1.0.2
 *     - moved user mapping file to directory .NTFS-3G (hidden for Linux)
 *     - fixed an error case in Windows version
 *
 *  Nov 2008 Version 1.1.0
 *     - fixed recursions for account in Linux version
 *     - searched owner in c:\Users (standard location for Vista)
 *
 *  May 2009 Version 1.1.1
 *     - reordered mapping records to limit usage of same SID for user and group
 *     - fixed decoding SIDs on 64-bit systems
 *     - fixed a pointer to dynamic data in mapping tables
 *     - fixed default mapping on Windows
 *     - fixed bug for renaming UserMapping on Windows
 *
 *  May 2009 Version 1.1.2
 *     - avoided selecting DOS names on Linux
 *
 *  Nov 2009 Version 1.1.3
 *     - silenced compiler warnings for unused parameters
 *
 *  Jan 2010 Version 1.1.4
 *     - fixed compilation problems for Mac OSX (Erik Larsson)
 *
 *  Apr 2014 Version 1.1.5
 *     - displayed the parent directory of selected files
 *
 *  May 2014 Version 1.1.6
 *     - fixed a wrong function header
 *
 *  Mar 2016 Version 1.2.0
 *     - reorganized to rely on libntfs-3g even on Windows
 */

/*
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program (in the main directory of the NTFS-3G
 * distribution in the file COPYING); if not, write to the Free Software
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

/*
 *		General parameters which may have to be adapted to needs
 */

#define USERMAPVERSION "1.2.0"
#define MAPDIR ".NTFS-3G"
#define MAPFILE "UserMapping"
#define MAXATTRSZ 2048
#define MAXSIDSZ 80
#define MAXNAMESZ 256
#define OWNERS1 "Documents and Settings"
#define OWNERS2 "Users"

#include "config.h"

#ifdef HAVE_STDIO_H
#include <stdio.h>
#endif
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_STRING_H
#include <string.h>
#endif
#ifdef HAVE_UNISTD_H
#include <unistd.h>
#endif
#ifdef HAVE_TIME_H
#include <time.h>
#endif
#ifdef HAVE_GETOPT_H
#include <getopt.h>
#endif
#ifdef HAVE_ERRNO_H
#include <errno.h>
#endif
#ifdef HAVE_FCNTL_H
#include <fcntl.h>
#endif
#ifdef HAVE_SYS_TYPES_H
#include <sys/types.h>
#endif
#ifdef HAVE_SYS_STAT_H
#include <sys/stat.h>
#endif

#include "types.h"
#include "endians.h"
#include "support.h"
#include "layout.h"
#include "param.h"
#include "ntfstime.h"
#include "device_io.h"
#include "device.h"
#include "logging.h"
#include "runlist.h"
#include "mft.h"
#include "inode.h"
#include "attrib.h"
#include "bitmap.h"
#include "index.h"
#include "volume.h"
#include "unistr.h"
#include "mst.h"
#include "security.h"
#include "utils.h"
#include "misc.h"

#ifdef HAVE_WINDOWS_H
/*
 *	Including <windows.h> leads to numerous conflicts with layout.h
 *	so define a few needed Windows calls unrelated to ntfs-3g
 */
BOOL WINAPI LookupAccountNameA(const char*, const char*, void*,
		u32*, char*, u32*, s32*);
BOOL WINAPI GetUserNameA(char*, u32*);
#endif

#ifdef HAVE_WINDOWS_H
#define DIRSEP "\\"
#else
#define DIRSEP "/"
#endif

#ifdef HAVE_WINDOWS_H
#define BANNER "Generated by ntfsusermap for Windows, v " USERMAPVERSION
#else
#define BANNER "Generated by ntfsusermap for Linux, v " USERMAPVERSION
#endif

typedef enum { DENIED, AGREED } boolean;

enum STATES { STATE_USERS, STATE_HOMES, STATE_BASE } ;

struct CALLBACK {
	const char *accname;
	const char *dir;
	int levels;
	enum STATES docset;
} ;

typedef int (*dircallback)(struct CALLBACK *context, char *ntfsname,
	int length, int type, long long pos, unsigned long long mft_ref,
	unsigned int dt_type);


struct USERMAPPING {
	struct USERMAPPING *next;
	const char *uidstr;
	const char *gidstr;
	const char *sidstr;
	const unsigned char *sid;
	const char *login;
	boolean defined;
};

struct USERMAPPING *firstmapping;
struct USERMAPPING *lastmapping;

#ifdef HAVE_WINDOWS_H
char *currentwinname;
char *currentdomain;
unsigned char *currentsid;
#endif

void *ntfs_handle;
void *ntfs_context = (void*)NULL;

/*
 *		Open and close a volume in read-only mode
 *	assuming a single volume needs to be opened at any time
 */

static boolean open_volume(const char *volume)
{
	boolean ok;

	ok = DENIED;
	if (!ntfs_context) {
		ntfs_context = ntfs_initialize_file_security(volume,
						NTFS_MNT_RDONLY);
		if (ntfs_context) {
			fprintf(stderr,"\"%s\" opened\n",volume);
			ok = AGREED;
		} else {
			fprintf(stderr,"Could not open \"%s\"\n",volume);
#ifdef HAVE_WINDOWS_H
			if (errno == EACCES)
				fprintf(stderr,"Make sure you have"
					" Administrator rights\n");
#else
			fprintf(stderr,"Make sure \"%s\" is not mounted\n",
				volume);
#endif
		}
	} else
		fprintf(stderr,"A volume is already open\n");
	return (ok);
}

static boolean close_volume(const char *volume)
{
	boolean r;

	r = ntfs_leave_file_security(ntfs_context) ? AGREED : DENIED;
	if (r)
		fprintf(stderr,"\"%s\" closed\n",volume);
	else
		fprintf(stderr,"Could not close \"%s\"\n",volume);
	ntfs_context = (void*)NULL;
	return (r);
}

/*
 *		A poor man's conversion of Unicode to UTF8
 *	We are assuming outputs to terminal expect UTF8
 */

static void to_utf8(char *dst, const char *src, unsigned int cnt)
{
	unsigned int ch;
	unsigned int i;

	for (i=0; i<cnt; i++) {
		ch = *src++ & 255;
		ch += (*src++ & 255) << 8;
		if (ch < 0x80)
			*dst++ = ch;
		else
			if (ch < 0x1000) {
				*dst++ = 0xc0 + (ch >> 6);
				*dst++ = 0x80 + (ch & 63);
			} else {
				*dst++ = 0xe0 + (ch >> 12);
				*dst++ = 0x80 + ((ch >> 6) & 63);
				*dst++ = 0x80 + (ch & 63);
			}
	}
	*dst = 0;
}

static int utf8_size(const char *src, unsigned int cnt)
{
	unsigned int ch;
	unsigned int i;
	int size;

	size = 0;
	for (i=0; i<cnt; i++) {
		ch = *src++ & 255;
		ch += (*src++ & 255) << 8;
		if (ch < 0x80)
			size++;
		else
			if (ch < 0x1000)
				size += 2;
			else
				size += 3;
	}
	return (size);
}

static void welcome(void)
{
	printf("\nThis tool will help you to build a mapping of"
			" Windows users\n");
	printf("to Linux users.\n");
	printf("Be prepared to give Linux user id (uid) and group id (gid)\n");
	printf("for owners of files which will be selected.\n");
}

static unsigned int get2l(const unsigned char *attr, int p)
{
	int i;
	unsigned int v;

	v = 0;
	for (i = 0; i < 2; i++)
		v += (attr[p + i] & 255) << (8 * i);
	return (v);
}

static unsigned long get4l(const unsigned char *attr, int p)
{
	int i;
	unsigned long v;

	v = 0;
	for (i = 0; i < 4; i++)
		v += (attr[p + i] & 255L) << (8 * i);
	return (v);
}

static unsigned long long get6h(const unsigned char *attr, int p)
{
	int i;
	unsigned long long v;

	v = 0;
	for (i = 0; i < 6; i++)
		v = (v << 8) + (attr[p + i] & 255L);
	return (v);
}

static char *decodesid(const unsigned char *sid)
{
	char *str;
	int i;
	unsigned long long auth;
	unsigned long subauth;

	str = (char *)malloc(MAXSIDSZ);
	if (str) {
		strcpy(str, "S");
							/* revision */
		sprintf(&str[strlen(str)], "-%d", sid[0]);
							/* main authority */
		auth = get6h(sid, 2);
#ifdef HAVE_WINDOWS_H
		sprintf(&str[strlen(str)], "-%I64u", auth);
#else
		sprintf(&str[strlen(str)], "-%llu", auth);
#endif
		for (i = 0; (i < 8) && (i < sid[1]); i++) {
							/* sub-authority */
			subauth = get4l(sid, 8 + 4 * i);
			sprintf(&str[strlen(str)], "-%lu", subauth);
		}
	}
	return (str);
}

/*
 *        Test whether a generic group (S-1-5-21- ... -513)
 */

static boolean isgenericgroup(const char *sid)
{
	boolean yes;

	yes = !strncmp(sid,"S-1-5-21-",9)
		&& !strcmp(strrchr(sid,'-'),"-513");
	return (yes);
}

static unsigned char *makegroupsid(const unsigned char *sid)
{
	static unsigned char groupsid[MAXSIDSZ];
	int size;

	size = 8 + 4*sid[1];
	memcpy(groupsid, sid, size);
		/* replace last level by 513 */
	groupsid[size - 4] = 1;
	groupsid[size - 3] = 2;
	groupsid[size - 2] = 0;
	groupsid[size - 1] = 0;
	return (groupsid);
}

static void askmapping(const char *accname, const char *filename,
		const char *dir, const unsigned char *sid, int type,
		struct USERMAPPING *mapping, char *sidstr)
{
	char buf[81];
	char *idstr;
	char *login;
	int sidsz;
	boolean reject;
	char *p;

	do {
		reject = DENIED;
		printf("\n");
		if (accname)
			printf("Under Windows login \"%s\"\n", accname);
		if (dir) {
#ifdef HAVE_WINDOWS_H
			char *wdir;

			wdir = strdup(dir);
			if (wdir) {
				for (p=wdir; *p; p++)
					if (*p == '/')
						*p = '\\';
				printf("   in directory \"%s\"\n",wdir);
				free(wdir);
			}
#else
			printf("   in directory \"%s\"\n",dir);
#endif
		}
		printf("   file \"%s\" has no mapped %s\n",
			       filename,(type ? "group" : "owner"));
		printf("By which Linux login should this file be owned ?\n");
		printf("Enter %s of login, or just press \"enter\" if"
			" this file\n", (type ? "gid" : "uid"));
		printf("does not belong to a user, or you do not know"
			" to whom\n");
		printf("\n");
		if (type)
			printf("Group : ");
		else
			printf("User : ");
		p = fgets(buf, 80, stdin);
		if (p && p[0] && (p[strlen(p) - 1] == '\n'))
			p[strlen(p) - 1] = '\0';

		if (p && p[0]
			 && ((p[0] == '0') || !strcmp(p, "root"))) {
			printf("Please do not map users to root\n");
			printf("Administrators will be mapped automatically\n");
			reject = AGREED;
		}
		if (reject)
			printf("Please retry\n");
	} while (reject);
	if (!mapping) {
		mapping =
		    (struct USERMAPPING *)
		    malloc(sizeof(struct USERMAPPING));
		mapping->next = (struct USERMAPPING *)NULL;
		mapping->defined = DENIED;
		if (lastmapping)
			lastmapping->next = mapping;
		else
			firstmapping = mapping;
		lastmapping = mapping;
	}
	if (mapping) {
		if (p && p[0]) {
			idstr = (char *)malloc(strlen(p) + 1);
			if (idstr) {
				strcpy(idstr, p);
				if (type) {
					mapping->uidstr = "";
					mapping->gidstr = idstr;
				} else {
					mapping->uidstr = idstr;
					mapping->gidstr = idstr;
				}
				mapping->defined = AGREED;
			}
		}
		mapping->sidstr = sidstr;
		if (accname) {
			login = (char*)malloc(strlen(accname) + 1);
			if (login)
				strcpy(login,accname);
			mapping->login = login;
		} else
			mapping->login = (char*)NULL;
		sidsz = 8 + sid[1]*4;
		p = (char*)malloc(sidsz);
		if (p) {
			memcpy(p, sid, sidsz);
		}
		mapping->sid = (unsigned char*)p;
	}
}

static void domapping(const char *accname, const char *filename,
		const char *dir, const unsigned char *sid, int type)
{
	char *sidstr;
	struct USERMAPPING *mapping;

	if ((get6h(sid, 2) == 5) && (get4l(sid, 8) == 21)) {
		sidstr = decodesid(sid);
		mapping = firstmapping;
		while (mapping && strcmp(mapping->sidstr, sidstr))
			mapping = mapping->next;
		if (mapping
		    && (mapping->defined
			 || !accname
			 || !strcmp(mapping->login, accname)))
			free(sidstr);	/* decision already known */
		else {
			askmapping(accname, filename, dir, sid, type,
					mapping, sidstr);
		}
	}
}

static void listaclusers(const char *accname, const unsigned char *attr,
				int off)
{
	int i;
	int cnt;
	int x;

	cnt = get2l(attr, off + 4);
	x = 8;
	for (i = 0; i < cnt; i++) {
		domapping(accname, (char *)NULL, (char*)NULL, 
                                       &attr[off + x + 8], 2);
		x += get2l(attr, off + x + 2);
	}
}

static void account(const char *accname, const char *dir,
			const char *name, int type)
{
	unsigned char attr[MAXATTRSZ];
	u32 attrsz;
	char *fullname;

	fullname = (char *)malloc(strlen(dir) + strlen(name) + 2);
	if (fullname) {
		strcpy(fullname, dir);
		strcat(fullname, "/");
		strcat(fullname, name);
		if (ntfs_get_file_security(ntfs_context,
				fullname, OWNER_SECURITY_INFORMATION,
				(char*)attr, MAXATTRSZ, &attrsz)) {
			domapping(accname, name, dir, &attr[20], 0);
			attrsz = 0;
			if (ntfs_get_file_security(ntfs_context,
			     fullname, GROUP_SECURITY_INFORMATION,
			     (char*)attr, MAXATTRSZ, &attrsz))
				domapping(accname, name, dir, &attr[20], 1);
			else
				printf("   No group SID\n");
			attrsz = 0;
			if (ntfs_get_file_security(ntfs_context,
			     fullname, DACL_SECURITY_INFORMATION,
			     (char*)attr, MAXATTRSZ, &attrsz)) {
				if (type == 0)
					listaclusers(accname, attr, 20);
			} else
				printf("   No discretionary access control"
					" list for %s !\n", dir);
		}
	free(fullname);
	}
}

/*
 *		recursive search of file owners and groups in a directory
 */

static boolean recurse(const char *accname, const char *dir,
			int levels, enum STATES docset);

static int callback(void *ctx, const ntfschar *ntfsname,
		const int length, const int type,
		const s64 pos __attribute__((unused)),
		const MFT_REF mft_ref __attribute__((unused)),
		const unsigned int dt_type __attribute__((unused)))
{
	struct CALLBACK *context;
	char *fullname;
	char *accname;
	char *name;

	context = (struct CALLBACK*)ctx;
	fullname = (char *)malloc(strlen(context->dir)
			 + utf8_size((const char*)ntfsname, length) + 2);
	if (fullname) {
			/* No "\\" when interfacing libntfs-3g */
		if (strcmp(context->dir,"/")) {
			strcpy(fullname, context->dir);
			strcat(fullname, "/");
		} else
			strcpy(fullname,"/");
			/* Unicode to ascii conversion by a lazy man */
		name = &fullname[strlen(fullname)];
		to_utf8(name, (const char*)ntfsname, length);
			/* ignore special files and DOS names */
		if ((type != 2)
		   && strcmp(name,".")
		   && strcmp(name,"..")
		   && (name[0] != '$')) {
			switch (context->docset) {
			case STATE_USERS :
					/*
					 * only "Documents and Settings"
					 * or "Users"
					 */
				if (!strcmp(name,OWNERS1)
				   || !strcmp(name,OWNERS2)) {
					recurse((char*)NULL, fullname, 2,
							STATE_HOMES);
				}
				break;
					/*
					 * within "Documents and Settings"
					 * or "Users"
					 */
			case STATE_HOMES :
				accname = (char*)malloc(strlen(name) + 1);
				if (accname) {
					strcpy(accname, name);
					if (context->levels > 0)
						recurse(name, fullname,
							context->levels - 1,
							STATE_BASE);
				}
				break;
					/*
					 * not related to "Documents and
					 * Settings" or "Users"
					 */
			case STATE_BASE :
				account(context->accname, context->dir,
					name, 1);
				if (context->levels > 0)
					recurse(context->accname, fullname,
						context->levels - 1,
						STATE_BASE);
				break;
			}
		}
		free(fullname);
	}
/* check expected return value */
	return (0);
}

static boolean recurse(const char *accname, const char *dir,
			int levels, enum STATES docset)
{
	struct CALLBACK context;
	boolean err;

	err = DENIED;
	context.dir = dir;
	context.accname = accname;
	context.levels = levels;
	context.docset = docset;
	ntfs_read_directory(ntfs_context,dir,callback,&context);
	return (!err);
}

/*
 *          Search directory "Documents and Settings" for user accounts
 */

static boolean getusers(const char *dir, int levels)
{
	boolean err;
	struct CALLBACK context;

	printf("* Search for \"" OWNERS1 "\" and \"" OWNERS2 "\"\n");
	err = DENIED;
	context.dir = dir;
	context.accname = (const char*)NULL;
	context.levels = levels;
	context.docset = STATE_USERS;
	ntfs_read_directory(ntfs_context,dir,callback,&context);
	printf("* Search for other directories %s\n",dir);
	context.docset = STATE_BASE;
	ntfs_read_directory(ntfs_context,dir,callback,&context);
	return (!err);
}

#ifdef HAVE_WINDOWS_H
/*
 *		Get the current login name (Win32 only)
 */

static void loginname(boolean silent)
{
	char *winname;
	char *domain;
	unsigned char *sid;
	u32 namesz;
	u32 sidsz;
	u32 domainsz;
	s32 nametype;
	boolean ok;
	int r;

	ok = FALSE;
	winname = (char*)malloc(MAXNAMESZ);
	domain = (char*)malloc(MAXNAMESZ);
	sid = (char*)malloc(MAXSIDSZ);

	namesz = MAXNAMESZ;
	domainsz = MAXNAMESZ;
	sidsz = MAXSIDSZ;
	if (winname
	    && domain
	    && sid
	    && GetUserNameA(winname,&namesz)) {
		winname[namesz] = '\0';
		if (!silent)
			printf("Your current user name is %s\n",winname);
		nametype = 1;
		r = LookupAccountNameA((char*)NULL,winname,sid,&sidsz,
			domain,&domainsz,&nametype);
		if (r) {
			domain[domainsz] = '\0';
			if (!silent)
				printf("Your account domain is %s\n",domain);
			ok = AGREED;
		}
	   }
	if (ok) {
		currentwinname = winname;
		currentdomain = domain;
		currentsid = sid;
	} else {
		currentwinname = (char*)NULL;
		currentdomain = (char*)NULL;
		currentsid = (unsigned char*)NULL;
	}
}

/*
 *		Minimal output on stdout
 */

static boolean minimal(unsigned char *sid)
{
	const unsigned char *groupsid;
	boolean ok;

	ok = DENIED;
	if (sid) {
		groupsid = makegroupsid(sid);
		printf("# %s\n",BANNER);
		printf("# For Windows account \"%s\" in domain \"%s\"\n",
			currentwinname, currentdomain);
		printf("# Replace \"user\" and \"group\" hereafter by"
			" matching Linux login\n");
		printf("user::%s\n",decodesid(sid));
		printf(":group:%s\n",decodesid(groupsid));
		ok = AGREED;
	}
	return (ok);
}

#endif

/*
 *		Create a user mapping file
 *
 *	From now on, partitions which were opened through ntfs-3g
 *	are closed, and we use the system drivers to create the file.
 *	On Windows, we can write on a partition which was analyzed.
 */

static boolean outputmap(const char *volume, const char *dir)
{
	char buf[256];
	int fn;
	char *fullname;
	char *backup;
	struct USERMAPPING *mapping;
	boolean done;
	boolean err;
	boolean undecided;
	struct stat st;
	int s;

	done = DENIED;
	fullname = (char *)malloc(strlen(MAPFILE) + 1
				+ strlen(volume) + 1
				+ (dir ? strlen(dir) + 1 : 0));
	if (fullname) {
#ifdef HAVE_WINDOWS_H
		strcpy(fullname, volume);
		if (dir && dir[0]) {
			strcat(fullname, DIRSEP);
			strcat(fullname,dir);
		}

			/* build directory, if not present */
		if (stat(fullname,&st) && (errno == ENOENT)) {
			printf("* Creating directory %s\n", fullname);
			mkdir(fullname);
		}

		strcat(fullname, DIRSEP);
		strcat(fullname, MAPFILE);
		printf("\n");
#else
		strcpy(fullname, MAPFILE);
		printf("\n");
#endif

		s = stat(fullname,&st);
		if (!s) {
			backup = (char*)malloc(strlen(fullname + 5));
			strcpy(backup,fullname);
			strcat(backup,".bak");
#ifdef HAVE_WINDOWS_H
			unlink(backup);
#endif
			if (rename(fullname,backup))
				printf("* Old mapping file moved to %s\n",
					backup);
		}

		printf("* Creating file %s\n", fullname);
		err = DENIED;
#ifdef HAVE_WINDOWS_H
		fn = open(fullname,O_CREAT + O_TRUNC + O_WRONLY + O_BINARY, 
			S_IREAD + S_IWRITE);
#else
		fn = open(fullname,O_CREAT + O_TRUNC + O_WRONLY,
			S_IREAD + S_IWRITE);
#endif
		if (fn > 0) {
			sprintf(buf,"# %s\n",BANNER);
			if (!write(fn,buf,strlen(buf)))
				err = AGREED;
			printf("%s",buf);
			undecided = DENIED;
				/* records for owner only or group only */
			for (mapping = firstmapping; mapping && !err;
			     mapping = mapping->next)
				if (mapping->defined
				    && (!mapping->uidstr[0]
					    || !mapping->gidstr[0])) {
					sprintf(buf,"%s:%s:%s\n",
						mapping->uidstr,
						mapping->gidstr,
						mapping->sidstr);
					if (!write(fn,buf,strlen(buf)))
						err = AGREED;
					printf("%s",buf);
				} else
					undecided = AGREED;
				/* records for both owner and group */
			for (mapping = firstmapping; mapping && !err;
			     mapping = mapping->next)
				if (mapping->defined
				    && mapping->uidstr[0]
				    && mapping->gidstr[0]) {
					sprintf(buf,"%s:%s:%s\n",
						mapping->uidstr,
						mapping->gidstr,
						mapping->sidstr);
					if (!write(fn,buf,strlen(buf)))
						err = AGREED;
					printf("%s",buf);
				} else
					undecided = AGREED;
			done = !err;
			close(fn);
			if (undecided) {
				printf("Undecided :\n");
				for (mapping = firstmapping; mapping;
				     mapping = mapping->next)
					if (!mapping->defined) {
						printf("   %s\n",
						mapping->sidstr);
					}
			}
#ifndef HAVE_WINDOWS_H
			printf("\n* You will have to move the file \""
					MAPFILE "\"\n");
			printf("  to directory \"" MAPDIR "\" after"
					" mounting\n");
#endif
		}
	}
	if (!done)
		fprintf(stderr, "* Could not create mapping file \"%s\"\n",
				fullname);
	return (done);
}

static boolean sanitize(void)
{
	char buf[81];
	boolean ok;
	int ownercnt;
	int groupcnt;
	struct USERMAPPING *mapping;
	struct USERMAPPING *firstowner;
	struct USERMAPPING *genericgroup;
	struct USERMAPPING *group;
	char *sidstr;

		/* count owners and groups */
		/* and find first user, and a generic group */
	ownercnt = 0;
	groupcnt = 0;
	firstowner = (struct USERMAPPING*)NULL;
	genericgroup = (struct USERMAPPING*)NULL;
	for (mapping=firstmapping; mapping; mapping=mapping->next) {
		if (mapping->defined && mapping->uidstr[0]) {
			if (!ownercnt)
				firstowner = mapping;
			ownercnt++;
		}
		if (mapping->defined && mapping->gidstr[0]
					&& !mapping->uidstr[0]) {
			groupcnt++;
		}
		if (!mapping->defined && isgenericgroup(mapping->sidstr)) {
			genericgroup = mapping;
		}
	}
#ifdef HAVE_WINDOWS_H
		/* no user defined, on Windows, suggest a mapping */
		/* based on account currently used */
	if (!ownercnt && currentwinname && currentsid) {
		char *owner;
		char *p;

		printf("\nYou have defined no file owner,\n");
		printf("   please enter the Linux login which should"
			" be mapped\n");
		printf("   to account you are currently using\n");
		printf("   Linux user ? ");
		p = fgets(buf, 80, stdin);
		if (p && p[0] && (p[strlen(p) - 1] == '\n'))
			p[strlen(p) - 1] = '\0';
		if (p && p[0]) {
			firstowner = (struct USERMAPPING*)malloc(
						sizeof(struct USERMAPPING));
			owner = (char*)malloc(strlen(p) + 1);
			if (firstowner && owner) {
				strcpy(owner, p);
				firstowner->next = firstmapping;
				firstowner->uidstr = owner;
				firstowner->gidstr = "";
				firstowner->sidstr = decodesid(currentsid);
				firstowner->sid = currentsid;
				firstmapping = firstowner;
				ownercnt++;
				/* prefer a generic group with the same
				 * authorities */
				for (mapping=firstmapping; mapping;
						mapping=mapping->next)
					if (!mapping->defined
					    && isgenericgroup(mapping->sidstr)
					    && !memcmp(firstowner->sidstr,
							mapping->sidstr,
							strlen(mapping
								->sidstr)-3))
						genericgroup = mapping;
			}
		}
	}
#endif
	if (ownercnt) {
			/*
			 *   No group was selected, but there were a generic
			 *   group, insist in using it, associated to the
			 *   first user
			 */
		if (!groupcnt) {
			printf("\nYou have defined no group,"
					" this can cause problems\n");
			printf("Do you accept defining a standard group ?\n");
			if (!fgets(buf,80,stdin)
			   || ((buf[0] != 'n')
			      && (buf[0] != 'N'))) {
				if (genericgroup) {
					genericgroup->uidstr = "";
					genericgroup->gidstr =
							firstowner->uidstr;
					genericgroup->defined = AGREED;
				} else {
					group = (struct USERMAPPING*)
						malloc(sizeof(
							struct USERMAPPING));
					sidstr = decodesid(
						makegroupsid(firstowner->sid));
					if (group && sidstr) {
						group->uidstr = "";
						group->gidstr = firstowner->
								uidstr;
						group->sidstr = sidstr;
						group->defined = AGREED;
						group->next = firstmapping;
						firstmapping = group;
					}
				}
			}
		}
		ok = AGREED;
	} else {
		printf("\nYou have defined no user, no mapping can be built\n");
		ok = DENIED;
	}

	return (ok);
}

static boolean checkoptions(int argc, char *argv[] __attribute__((unused)),
				boolean silent __attribute__((unused)))
{
	boolean err;
#ifdef HAVE_WINDOWS_H
	int xarg;
	const char *pvol;

	if (silent) {
		err = (argc != 1);
	} else {
		err = (argc < 2);
		for (xarg=1; (xarg<argc) && !err; xarg++) {
			pvol = argv[xarg];
			if (pvol[0] && (pvol[1] == ':') && !pvol[2]) {
				err = !(((pvol[0] >= 'A') && (pvol[0] <= 'Z'))
					|| ((pvol[0] >= 'a')
						&& (pvol[0] <= 'z')));
			}
		}
	}
	if (err) {
		fprintf(stderr, "Usage : ntfsusermap [vol1: [vol2: ...]]\n");
		fprintf(stderr, "    \"voln\" are the letters of the partition"
				" to share with Linux\n");
		fprintf(stderr, "        eg C:\n");
		fprintf(stderr, "    the Windows system partition should be"
				" named first\n");
		if (silent) {
			fprintf(stderr, "When outputting to file, a minimal"
					" user mapping proposal\n");
			fprintf(stderr, "is written to the file, and no"
					" partition should be mentioned\n");
		}
	}
#else
	err = (argc < 2);
	if (err) {
		fprintf(stderr, "Usage : ntfsusermap dev1 [dev2 ...]\n");
		fprintf(stderr, "    \"dev.\" are the devices to share"
				" with Windows\n");
		fprintf(stderr, "        eg /dev/sdb1\n");
		fprintf(stderr, "    the devices should not be mounted, and\n");
		fprintf(stderr, "    the Windows system partition should"
				" be named first\n");
	} else
		if (getuid()) {
			fprintf(stderr, "\nSorry, only root can start"
					" ntfsusermap\n");
			err = AGREED;
		}
#endif
	return (!err);
}

static boolean process(int argc, char *argv[])
{
	boolean ok;
	int xarg;
	int targ;

	firstmapping = (struct USERMAPPING *)NULL;
	lastmapping = (struct USERMAPPING *)NULL;
	ok = AGREED;
	for (xarg=1; (xarg<argc) && ok; xarg++)
		if (open_volume(argv[xarg])) {
			printf("\n* Scanning \"%s\" (two levels)\n",argv[xarg]);
			ok = getusers("/",2);
			close_volume(argv[xarg]);
		} else
			ok = DENIED;
	if (ok && sanitize()) {
		targ = (argc > 2 ? 2 : 1);
		if (!outputmap(argv[targ],MAPDIR)) {
			printf("Trying to write file on root directory\n");
			if (outputmap(argv[targ],(const char*)NULL)) {
				printf("\nNote : you will have to move the"
					" file to directory \"%s\" on Linux\n",
					MAPDIR);
			} else
				ok = DENIED;
		} else
			ok = DENIED;
	} else
		ok = DENIED;
	return (ok);
}

int main(int argc, char *argv[])
{
	boolean ok;
	boolean silent;

	silent = !isatty(1);
	if (!silent)
		welcome();
	if (checkoptions(argc, argv, silent)) {
#ifdef HAVE_WINDOWS_H
		loginname(silent);
		if (silent)
			ok = minimal(currentsid);
		else
			ok = process(argc,argv);
#else
		ok = process(argc,argv);
#endif
	} else
		ok = DENIED;
	if (!ok)
		exit(1);
	return (0);

car mon but est de transformer à moindre frais, un répertoire en utilisateur.

Dernière modification par ?? (Le 12/05/2018, à 17:22)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#10 Le 13/05/2018, à 15:27

??

Re : Lier dossier utilisateurs ubuntu et windows

La seule chose que je trouve compréhensible dans le source du programme est
Nov 2008 Version 1.1.0
*     - searched owner in c:\Users (standard location for Vista)

Donc le programme fonctionne très bien  pour trouver les utilisateurs du C:

Mais nous sommes tous d'accord pour dire que le C: ne devrait pas être monté pour éviter que le logiciel de Windows soit impacté.

Nous souhaitons une partition ne contenant que des données avec des sous-répertoires dédiés à des utilisateurs.
Cela il ne sait pas le faire. La documentation dans ce script n'est pas à ma portée pour que je comprenne ce que je dois fabriquer pour faire croire que le sous-répertoire est un utilisateur windows .
Cela sent l'impasse.


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#11 Le 13/05/2018, à 22:51

metalux

Re : Lier dossier utilisateurs ubuntu et windows

Mais nous sommes tous d'accord pour dire que le C: ne devrait pas être monté pour éviter que le logiciel de Windows soit impacté.

Si ce n'est pas possible avec une partition de données séparée et uniquement avec le montage de la partition contenant Windows, il n'y a pas le choix. Ça ne pose pas plus de problèmes que ça si tu ne mets jamais ton nez dans la partition de montage et que tu ne consultes que les données à travers des liens symboliques.

Hors ligne

#12 Le 14/05/2018, à 00:04

??

Re : Lier dossier utilisateurs ubuntu et windows

Merci pour ta réponse.
Mais on se doit de réfléchir â ce qu'on propose.
Si un seul utilisateur windows
  Soit on considère qu'on lui dit de laisser ses données personnelles dans le C:
   Pourquoi pas mais dans ce cas, tombons à bras raccourcis sur ceux qui évoquent une partition /home séparée.

Soit on considére qu'on lui dit de mettre ses  données personnelles dans une partition D:
    Dans ce cas c'est la partition /DATA.
C'est aussi compatible pour un utilisateur ubuntu avec une partition uniquement de données
Peux-être que cette discussion permettra d'écrire un script pratique.

Mais le problème survient dès l'arrivée du second utilisateur
   Sous ubuntu /DATA/user1 et DATA/user2 avec une gestion correcte des propriétaires.
  Je ne trouve pas comment faire la même chose pour windows avec cet outil

Le palliatif de mettre une partition de données par utilisateur résout partiellement  car gros problème de quantité de points de montage  limité à 24 sous windows.

Mais je n'accepte pas que mes données reviennent dans les O.S. des constructeurs.


En tant qu'utilisateur lambda , j'utilise un interface graphique qui n'aurait permit de supprimer plein de fichiers.

J'ai encore à creuser mais je suis profondément déçu par l'outil.
Qui plus est, son paramètrage généré me dépasse.

Peut-être a-t-il une différence de comportement suivant que le montage précise NTFS ou NTFS-3G?

Dernière modification par ?? (Le 14/05/2018, à 00:13)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#13 Le 17/05/2018, à 12:07

maxire

Re : Lier dossier utilisateurs ubuntu et windows

Salut,

Je n'ai rien compris à ta démonstration de l'inefficacité de ntfsusermap si ce n'est que  l'option de montage permissions ne semble pas être utilisée mais plutôt l'option uid=1000.
Dans ce cas le fichier de correspondance linux/windows  .NTFS-3G/UserMapping n'est tout simplement pas exploité.


Maxire
Archlinux/Mate + Debian Stretch/Gnome sur portable -- Archlinux/Mate sur poste de travail

Hors ligne

#14 Le 17/05/2018, à 12:17

??

Re : Lier dossier utilisateurs ubuntu et windows

Bonjour Maxire.
Tu n'as pas tout à fait vu ce qu'est un fichier de correspondance standard
Il est vide..
Dans ce passage, il n'y a que des fichiers  qui ne savent pas être accrochés automatiquement
Je recommence en standard

u16041@u16041:~$ sudo ntfs-3g.usermap /dev/sda4 

This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.
"/dev/sda4" opened

* Scanning "/dev/sda4" (two levels)
* Search for "Documents and Settings" and "Users"


Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "Modèles" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "Desktop" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "user1a"
   in directory "/Users/user1a"
   file "3D Objects" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "user1a"
   in directory "/Users/user1a"
   file "3D Objects" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "user1b"
   in directory "/Users/user1b"
   file "3D Objects" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "user1b"
   in directory "/Users/user1b"
   file "3D Objects" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 
* Search for other directories /


   in directory "/Recovery/WindowsRE"
   file "Winre.wim" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 
   in directory "/Windows/assembly"
   file "NativeImages_v4.0.30319_32" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 
======A ce niveau, il réfléchi plusieurs minutes===========
"/dev/sda4" closed

You have defined no user, no mapping can be built
u16041@u16041:~$

Dernière modification par ?? (Le 17/05/2018, à 12:19)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#15 Le 17/05/2018, à 12:29

maxire

Re : Lier dossier utilisateurs ubuntu et windows

L'incompréhension continue, je suis parfaitement au courant que ce fichier de correspondance restera bien évidemment inexistant tant qu'il ne sera pas créé (dans le genre lapalissade ce n'es pas mal!).
Ce que je veux dire c'est que ce fichier ne sert à rien tant que tu n'utilises pas l'option de montage permissions de la partition ntfs.
Ce qui semble être le cas:

udo  -i
cp -v /etc/fstab /etc/fstab.SAV
echo "#####"   >> /etc/fstab
echo "##### La partition C: de sda4"  >> /etc/fstab
echo "UUID=6CB8862A7B84D3A0     /DATA4   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0"   >> /etc/fstab
echo "#### La partition C:de sda13"  >> /etc/fstab
echo "UUID=A606949C06946ED5     /DATA13   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0" >> /etc/fstab
echo #### >> /etc/fstab
mkdir /DATA4
mkdir /DATA13
mount /dev/sda4     /SDA4
mount /dev/sda13   /SDA13

Tu utilises

echo "UUID=A606949C06946ED5     /DATA13   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0" >> /etc/fstab

au lieu de

echo "UUID=A606949C06946ED5     /DATA13   ntfs-3g  permissions,remove_hiberfile,windows_names,errors=remount-ro  0 0" >> /etc/fstab

Maxire
Archlinux/Mate + Debian Stretch/Gnome sur portable -- Archlinux/Mate sur poste de travail

Hors ligne

#16 Le 17/05/2018, à 12:30

??

Re : Lier dossier utilisateurs ubuntu et windows

Dans ce passage, J'ai répondu du moins mal possible.

u16041@u16041:~$ cat /etc/passwd | grep user
hplip:x:115:7:HPLIP system user,,,:/var/run/hplip:/bin/false
gpsd:x:122:20:GPSD system user,,,:/run/gpsd:/bin/false
user1a:x:1002:1002:,,,:/home/user1a:/bin/bash
user1b:x:1003:1003:,,,:/home/user1b:/bin/bash
user4a:x:1004:1004:,,,:/home/user4a:/bin/bash
user4b:x:1005:1005:,,,:/home/user4b:/bin/bash
u16041@u16041:~$
u16041@u16041:~$ sudo ntfs-3g.usermap /dev/sda4 

This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.
"/dev/sda4" opened

* Scanning "/dev/sda4" (two levels)
* Search for "Documents and Settings" and "Users"


Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "Modèles" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "defaultuser0"
   in directory "/Users/defaultuser0"
   file "Desktop" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : 

Under Windows login "Public"
   in directory "/Users/Public"
   file "AccountPictures" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

Under Windows login "user1a"
   in directory "/Users/user1a"
   file "3D Objects" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user1a

Under Windows login "user1a"
   in directory "/Users/user1a"
   file "3D Objects" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : user1a

Under Windows login "user1b"
   in directory "/Users/user1b"
   file "3D Objects" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : user1b
* Search for other directories /

   in directory "/Recovery/WindowsRE"
   file "Winre.wim" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 

   in directory "/Windows/assembly"
   file "NativeImages_v4.0.30319_32" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : 
========= A ce niveau, il réfléchi pas mal de temps===========
"/dev/sda4" closed

* Creating file UserMapping
# Generated by usermap for Linux, v 1.1.6
:user1a:S-1-5-21-3602143908-2238239145-2059560437-513
user1a:user1a:S-1-5-21-3602143908-2238239145-2059560437-1002
user1b:user1b:S-1-5-21-3602143908-2238239145-2059560437-1003
Undecided :
   S-1-5-21-3602143908-2238239145-2059560437-1001
   S-1-5-21-3602143908-2238239145-2059560437-1000
   S-1-5-21-397955417-626881126-188441444-513
   S-1-5-21-1132788806-224758879-1159741405-513

* You will have to move the file "UserMapping"
  to directory ".NTFS-3G" after mounting
u16041@u16041:~$

La copie.

u16041@u16041:~$ sudo mount /dev/sda4 
u16041@u16041:~$ sudo blkid | grep sda4:
/dev/sda4: LABEL="PremierWindows10" UUID="6CB8862A7B84D3A0" TYPE="ntfs" PARTLABEL="premier windows" PARTUUID="c94dc2e2-06d3-420c-87d0-1d90b5eb3efa"

u16041@u16041:~$ cat /etc/fstab | grep 6CB8862A7B84D3A0
UUID=6CB8862A7B84D3A0     /DATA4   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0

u16041@u16041:~$ ls -ls *Mapping
4 -rw------- 1 root root 218 mai   17 12:27 UserMapping
u16041@u16041:~$ cp -v UserMapping  /DATA4/.NTFS-3G
'UserMapping' -> '/DATA4/.NTFS-3G/UserMapping'
cp: impossible d'ouvrir 'UserMapping' en lecture: Permission non accordée
u16041@u16041:~$ sudo cp -v UserMapping  /DATA4/.NTFS-3G
'UserMapping' -> '/DATA4/.NTFS-3G/UserMapping'
u16041@u16041:~$ 

Je me permets un reboot sans en connaître la nécessité pour la prise en compte de ce fichier4


On va voir ici que la protection logicielle n'est pas au top mais que l'autre utilisateur  est bien protégé ainsi que la structure windows.
les autres l'étant un peu moins   (peut faut-il que au lieu de répondre retour je reponde FICTIF)
t

user1a@u16041:/DATA4$ sudo mkdir -v /ESSI
[sudo] Mot de passe de user1a : 
user1a n'apparaît pas dans le fichier sudoers. Cet événement sera signalé.
user1a@u16041:/DATA4$ ls -ls /ESS*
ls: impossible d'accéder à '/ESS*': Aucun fichier ou dossier de ce type

user1a@u16041:/DATA4$ cd Intel
user1a@u16041:/DATA4/Intel$ ls
Logs
user1a@u16041:/DATA4/Intel$ ls -als
total 9
0 drwxrwxrwx 1 root root    0 févr. 22  2017 .
8 drwxrwxrwx 1 root root 8192 mai   12 12:05 ..
1 drwxrwxrwx 1 root root  712 mai   17 12:47 Logs
user1a@u16041:/DATA4/Intel$ touch toto
user1a@u16041:/DATA4/Intel$ ls -als
total 9
0 drwxrwxrwx 1 root   root    240 mai   17 12:52 .
8 drwxrwxrwx 1 root   root   8192 mai   12 12:05 ..
1 drwxrwxrwx 1 root   root    712 mai   17 12:47 Logs
0 -rw-rw-r-- 1 user1a user1a    0 mai   17 12:52 toto

user1a@u16041:/DATA4$ cd Users
user1a@u16041:/DATA4/Users$ ls -als
ls: defaultuser0: Permission non accordée
ls: Public: Permission non accordée
ls: user1b: Permission non accordée
total 61
 4 drwxr-xr-x 1 root   root  4096 mai   10 11:24 .
 8 drwxrwxrwx 1 root   root  8192 mai   12 12:05 ..
 0 lrwxrwxrwx 2 root   root    90 sept. 29  2017 All Users -> /DATA4/ProgramData
12 drwx------ 1 root   root 12288 févr. 26 14:20 Bougron
 8 drwxr-xr-x 1 root   root  8192 janv. 11 14:47 Default
 0 lrwxrwxrwx 2 root   root    92 sept. 29  2017 Default User -> /DATA4/Users/Default
 8 drwx------ 1 root   root  8192 janv. 11 14:44 defaultuser0
 1 -rwxr-xr-x 1 root   root   174 sept. 29  2017 desktop.ini
 4 drwx------ 1 root   root  4096 janv. 11 14:18 Public
 8 drwx------ 1 user1a root  8192 mai   11 22:04 user1a
 8 drwx------ 1 user1b root  8192 mai   11 22:35 user1b
user1a@u16041:/DATA4/Users$ cd user1b
bash: cd: user1b: Permission non accordée
user1a@u16041:/DATA4/Users$ 
user1a@u16041:/DATA4/Program Files/Ext2Fsd$ ls -als
total 10860
   4 drwxr-xr-x 1 root user1a    4096 févr. 23  2017 .
   8 drwxr-xr-x 1 root root      8192 févr. 26 11:26 ..
 104 -rwxr-xr-x 2 root user1a  103453 déc.   6  2013 cyggcc_s-1.dll
2420 -rwxr-xr-x 1 root user1a 2477884 avril 14  2016 cygwin1.dll
1536 -rwxr-xr-x 1 root user1a 1571440 juin  27  2015 debugfs.exe
   4 drwxr-xr-x 1 root user1a    4096 févr. 23  2017 Documents
  44 -rwxr-xr-x 2 root user1a   45056 août  26  2014 DrvRemover.exe
2156 -rwxr-xr-x 1 root user1a 2206102 juin  27  2015 e2fsck.exe
1200 -rwxr-xr-x 1 root user1a 1227264 sept. 14  2016 Ext2Mgr.exe
  36 -rwxr-xr-x 1 root user1a   34816 sept. 14  2016 Ext2Srv.exe
1344 -rwxr-xr-x 1 root user1a 1373251 juin  27  2015 mke2fs.exe
  48 -rwxr-xr-x 1 root user1a   48272 févr.  5  2011 Mount.exe
1240 -rwxr-xr-x 1 root user1a 1267315 juin  27  2015 tune2fs.exe
  12 -rwxr-xr-x 1 root user1a   11485 févr. 23  2017 unins000.dat
 704 -rwxr-xr-x 1 root user1a  720373 févr. 23  2017 unins000.exe

user1a@u16041:/DATA4/Program Files/Ext2Fsd$ touch toto
touch: impossible de faire un touch 'toto': Permission non accordée
user1a@u16041:/DATA4/Program Files/Ext2Fsd$ rm unins000.dat
rm : supprimer fichier (protégé en écriture) 'unins000.dat' ? y 
rm: impossible de supprimer 'unins000.dat': Permission non accordée
user1a@u16041:/DATA4/Program Files/Ext2Fsd$ 

Dernière modification par ?? (Le 17/05/2018, à 13:14)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#17 Le 17/05/2018, à 13:24

??

Re : Lier dossier utilisateurs ubuntu et windows

On pourrait donc dire que dans la partition C:  le logiciel convient.
Mais il me semble qu'on a parlé d'une partition DATA commune.
Je ne sais absolument pas codifier pour faire prendre en compte une structure du style assez classique

/DATA/user1/Documents
.........
/DATA/user1/vidéos

/DATA/user2/Documents
.........
/DATA/user2/vidéo

et je ne comprends absolument pas le paramêtrage du fichier et encore moins le source du programme.

Si tu me donnes des idées je suis prêt à les suivre     Mais plus difficilement à admettre que les données doivent rester dans le C:

J'ai déjà eu l'idée de copier la structure C:/users  dans la partition de DATA commune bien qu'elle soit volumineuse.  ( Mais ce n'est pas une bonne idée).   Cela n'avait rien donné.
Je  vais recommencer l'action.

root@u16041:/DATA/Users# sudo cp -R /DATA4/Users/* .
root@u16041:/DATA/Users# sudo cp -R /DATA13/Users ./*

Résultat par ncdu

    3,2 GiB [######    ] /usuer4a
  385,2 MiB [          ] /user1b
  226,0 MiB [          ] /user1a
  170,9 MiB [          ] /user4b
   45,5 MiB [          ] /defaultuser0
    3,7 MiB [          ] /Default
   42,0 KiB [          ] /Public
  512,0   B [          ]  desktop.ini
@ 512,0   B [          ]  Default User
@ 512,0   B [          ]  All Users

Dernière modification par ?? (Le 17/05/2018, à 15:25)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#18 Le 17/05/2018, à 13:33

maxire

Re : Lier dossier utilisateurs ubuntu et windows

NE PAS UTILISER UID=1000 MAIS PERMISSIONS DANS OPTIONS DE MONTAGE NTFS POUR PRENDRE EN COMPTE LES RÈGLES DE CORRESPONDANCE!

Pour la séparation des données du disque système, voir du côté de Windows, je me demande si il est possible de le configurer dans la base de registre.


Maxire
Archlinux/Mate + Debian Stretch/Gnome sur portable -- Archlinux/Mate sur poste de travail

Hors ligne

#19 Le 17/05/2018, à 14:49

??

Re : Lier dossier utilisateurs ubuntu et windows

Merci de me faire la codification que tu souhaites voir

u16041@u16041:~$ cat /etc/fstab | grep windows
###### UUID=95D6-5603     /EXFAT   exfat  defaults,umask=007,uid=1000,gid=46,windows_names,errors=remount-ro  0 0
UUID=007A992054C5D589     /DATA   ntfs-3g  defaults,umask=007,uid=1000,gid=100,windows_names,errors=remount-ro  0 0
UUID=6CB8862A7B84D3A0     /DATA4   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0
UUID=A606949C06946ED5     /DATA13   ntfs-3g  defaults,umask=007,uid=1000,remove_hiberfile,windows_names,errors=remount-ro  0 0

Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#20 Le 17/05/2018, à 14:54

maxire

Re : Lier dossier utilisateurs ubuntu et windows

UUID=007A992054C5D589     /DATA   ntfs-3g  permissions,windows_names,errors=remount-ro  0 0
UUID=6CB8862A7B84D3A0     /DATA4   ntfs-3g  permissions,remove_hiberfile,windows_names,errors=remount-ro  0 0
UUID=A606949C06946ED5     /DATA13   ntfs-3g  permissions,remove_hiberfile,windows_names,errors=remount-ro  0 0

Dans ces cas .NTFS-3G/UserMapping devrait être pris en compte.


Maxire
Archlinux/Mate + Debian Stretch/Gnome sur portable -- Archlinux/Mate sur poste de travail

Hors ligne

#21 Le 17/05/2018, à 15:44

??

Re : Lier dossier utilisateurs ubuntu et windows

Je suis désolé, Je n'avais absolument pas compris que c'était le mot "permissions"

J'ai fais un essai. Le résultat est identique et j'ai pu supprimer une application d'un autre utilisateur.
C'est bien fait, il ne l'avait pas installée avec windows installer
Je viens de copier les utilisateurs dans la partition SDA25

u16041@u16041:~$ sudo umount /dev/sda25

u16041@u16041:~$ sudo ntfs-3g.usermap /dev/sda25

This tool will help you to build a mapping of Windows users
to Linux users.
Be prepared to give Linux user id (uid) and group id (gid)
for owners of files which will be selected.
"/dev/sda25" opened

* Scanning "/dev/sda25" (two levels)
* Search for "Documents and Settings" and "Users"
* Search for other directories /

   in directory "/"
   file "délai.PNG" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : bidon

   in directory "/"
   file "Nouveau Classeur OpenDocument.ods" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : bidon

   in directory "/"
   file "Nouveau Classeur OpenDocument.ods" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : bidon

   in directory "/"
   file "Nouveau windows.PNG" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : bidon

   in directory "/"
   file "Nouveau windows.PNG" has no mapped group
By which Linux login should this file be owned ?
Enter gid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

Group : bidon

   in directory "/ONEDRIVE/System Volume Information"
   file "Angleterre-Ecosse 1ere Mi-temps.avi" has no mapped owner
By which Linux login should this file be owned ?
Enter uid of login, or just press "enter" if this file
does not belong to a user, or you do not known to whom

User : bidon
"/dev/sda25" closed

* Creating file UserMapping
# Generated by usermap for Linux, v 1.1.6
:bidon:S-1-5-21-3602143908-2238239145-2059560437-513
:bidon:S-1-5-21-927183623-3019374658-1503319323-513
bidon:bidon:S-1-5-21-1950362592-1044920615-317452800-1001
bidon:bidon:S-1-5-21-3602143908-2238239145-2059560437-1001
bidon:bidon:S-1-5-21-927183623-3019374658-1503319323-1001
bidon:bidon:S-1-5-21-1783554288-1444674882-3479808491-1001
Undecided :

* You will have to move the file "UserMapping"
  to directory ".NTFS-3G" after mounting
u16041@u16041:~$

Cette fois-ci, il n'a pas réfléchi longtemps.
La dernière fois, je n'étais pas allé plus loin. La, je continue

u16041@u16041:~$ sudo mount /dev/sda25
Using default user mapping
u16041@u16041:~$ sudo -i
root@u16041:~# cd /DATA
root@u16041:/DATA# mkdir .NTFS-3G
root@u16041:/DATA# cd .NTFS-3G
root@u16041:/DATA/.NTFS-3G# cp /home/u16041/UserMapping .
root@u16041:/DATA/.NTFS-3G# ls -ls
total 1
1 -rw------- 1 root root 381 mai   17 15:50 UserMapping
root@u16041:/DATA/.NTFS-3G#
u16041@u16041:~$ 

et je reboote (je verrais plus tard si cela est nécessaire)

Dernière modification par ?? (Le 17/05/2018, à 15:52)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#22 Le 17/05/2018, à 16:21

??

Re : Lier dossier utilisateurs ubuntu et windows

Comme je l'ai dit, je ne comprends pas comment il faut bâtir cette structure commune dans une partition commune de données
et le source libre n'est pas commenté. mais je suis prêt à continuer si j'ai une piste.

user1a@u16041:/DATA$ cd Users
user1a@u16041:/DATA/Users$ ls -ls
total 58
1 lrwxrwxrwx 1 root root   46 mai   17 14:57 All Users -> /DATA13/ProgramData
8 drwxrwxrwx 1 root root 8192 mai   17 14:57 Default
1 lrwxrwxrwx 1 root root   50 mai   17 14:57 Default User -> /DATA13/Users/Default
4 drwxrwxrwx 1 root root 4096 mai   17 14:57 defaultuser0
1 -rwxrwxrwx 1 root root  174 mai   17 14:57 desktop.ini
4 drwxrwxrwx 1 root root 4096 mai   17 13:49 Public
8 drwxrwxrwx 1 root root 8192 mai   17 13:49 user1a
8 drwxrwxrwx 1 root root 8192 mai   17 13:50 user1b
4 drwxrwxrwx 1 root root 4096 mai   17 15:00 user4b
8 drwxrwxrwx 1 root root 8192 mai   17 15:05 usuer4a
user1a@u16041:/DATA/Users$ mkdir toto
user1a@u16041:/DATA/Users$ cd user1a
user1a@u16041:/DATA/Users/user1a$ mkdir toto
user1a@u16041:/DATA/Users/user1a$ cd ..
user1a@u16041:/DATA/Users$ cd user1b
user1a@u16041:/DATA/Users/user1b$ mkdir toto
user1a@u16041:/DATA/Users/user1b$ cd ..
user1a@u16041:/DATA/Users$ cd user4b
user1a@u16041:/DATA/Users/user4b$ mkdir toto
user1a@u16041:/DATA/Users/user4b$ cd ..
user1a@u16041:/DATA/Users$ cd usuer4a
user1a@u16041:/DATA/Users/usuer4a$ mkdir toto
user1a@u16041:/DATA$ ls -als
total 2419081
     40 drwxrwxrwx  1 root root      40960 mai   17 15:49 .
     32 drwxrwxrwx 41 root root      28672 mai   12 13:43 ..
      4 drwxrwxrwx  1 root root       4096 mai   15 00:34 AIDE
     16 -rwxrwxrwx  1 root root      13959 juin  15  2017 Barracuda.ods
     28 -rwxrwxrwx  1 root root      26034 juin  18  2017 BARRACUDA.odt
      4 drwxrwxrwx  1 root root       4096 mai    1  2017 BLURAY
      4 drwxrwxrwx  1 root root       4096 mai   13 16:00 Bureau
     52 -rwxrwxrwx  2 root root      50944 janv. 22  2017 Débit réseau.PNG
     56 -rwxrwxrwx  2 root root      55080 janv. 22  2017 délai.PNG
      4 drwxrwxrwx  1 root root       4096 mai    1  2017 Destroi
 261888 -rwxrwxrwx  1 root root 1048117248 mai   14 15:09 disk.img
      4 drwxrwxrwx  1 root root       4096 sept. 20  2017 DOC
      4 drwxrwxrwx  1 root root       4096 nov.   7  2016 Famille
      0 drwxrwxrwx  1 root root          0 nov.  20 14:47 .folder
     24 drwxrwxrwx  1 root root      24576 mars  31 15:12 IMG
     20 drwxrwxrwx  1 root root      20480 avril 27 17:29 ISO
      1 lrwxrwxrwx  1 root root         36 mars  23  2017 Lien vers ONEDRIVE -> /DATA/ONEDRIVE
      0 drwxrwxrwx  1 root root          0 nov.   7  2016 Musique
      8 -rwxrwxrwx  2 root root       6598 mai    9 23:31 Nouveau Classeur OpenDocument.ods
      8 -rwxrwxrwx  2 root root       7334 mai    9 23:32 Nouveau Texte OpenDocument.odt
     20 -rwxrwxrwx  2 root root      17281 janv. 12  2017 Nouveau windows.PNG
      0 drwxrwxrwx  1 root root          0 mai   17 15:50 .NTFS-3G
      0 drwxrwxrwx  1 root root          0 juin  22  2017 NTFSDELETE
      4 drwxrwxrwx  1 root root       4096 juil. 14  2017 ONEDRIVE
      0 drwxrwxrwx  1 root root          0 juin  22  2017 RECUP
      4 drwxrwxrwx  1 root root       4096 mai   10 13:08 $RECYCLE.BIN
      1 -rwxrwxrwx  1 root root        348 mai   14 15:19 rescue.map
     32 -rwxrwxrwx  1 root root      28948 mai   14 15:19 rescueRate.log
      4 drwxrwxrwx  1 root root       4096 mai   12 18:53 System Volume Information
      4 drwxrwxrwx  1 root root       4096 févr. 24 23:29 Téléchargements
      4 drwxrwxrwx  1 root root       4096 mars  11 11:24 Television
      0 drwxrwxrwx  1 root root          0 févr. 28  2017 .Trash-1000
      4 drwxrwxrwx  1 root root       4096 mai   17 16:09 Users
      0 drwxrwxrwx  1 root root          0 janv. 24  2017 Video
      4 drwxrwxrwx  1 root root       4096 juin  19  2017 Windows.old
user1a@u16041:/DATA$ cd .N*
user1a@u16041:/DATA/.NTFS-3G$ cat *
# Generated by usermap for Linux, v 1.1.6
:bidon:S-1-5-21-3602143908-2238239145-2059560437-513
:bidon:S-1-5-21-927183623-3019374658-1503319323-513
bidon:bidon:S-1-5-21-1950362592-1044920615-317452800-1001
bidon:bidon:S-1-5-21-3602143908-2238239145-2059560437-1001
bidon:bidon:S-1-5-21-927183623-3019374658-1503319323-1001
bidon:bidon:S-1-5-21-1783554288-1444674882-3479808491-1001
user1a@u16041:/DATA/.NTFS-3G$ 

Dernière modification par ?? (Le 17/05/2018, à 16:22)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#23 Le 17/05/2018, à 16:49

maxire

Re : Lier dossier utilisateurs ubuntu et windows

Ce serait bien que tu précises ce que tu testes en précisant les résultats attendus et de les comparer aux résultats obtenus.
En bref d'appliquer un jeu d'essai.
À te lire je joue aux devinettes.

Plus d'information sur tnfsusermap dans la page web  d'un de ses géniteurs Using ntfsusermap to Build a User Mapping File que je n'ai pas lue.
C'est une des pages du site web dédié à ntfs-3.

Dernière modification par maxire (Le 17/05/2018, à 16:50)


Maxire
Archlinux/Mate + Debian Stretch/Gnome sur portable -- Archlinux/Mate sur poste de travail

Hors ligne

#24 Le 17/05/2018, à 19:08

??

Re : Lier dossier utilisateurs ubuntu et windows

Effectivement

Le problème à résoudre est de permettre à user1 de ubuntu de connaître ses données de windows sans avoir à demander à l'administrateur de windows de les déplacer dans la partition DATA  répertoire /DATA/user1
de permettre à user2 de ubuntu de connaître ses données de windows sans avoir à demander à l'administrateur de windows de les déplacer dans la partition DATA  répertoire /DATA/user2
et de faire en sorte que user1 ne puisse accéder aux données de user2 et réciproquement.

    => Ce point est acquit: Cela fonctionne. il reste juste à affiner s'il y a besoin de cet utilitaire et de son fichier.

Si on résout ce problème, il  est probable sinon certain qu'on aura réussi à empêcher user1 et user2 de toucher au logiciel windows.

===> pour moi, ce problème n'est  pas résolu   Le répertoire /WINDOWS me semble bien protégé,  mais tous les répertoires qui ne sont pas sous /windows et /users sont sans protection.

Si je souhaite mettre les données dans une seule (parce que c'est mieux) partition NTFS     sous un répertoire /DATA/Users (qui me semble inutile)  ( avec un sous-répertoire par utilisateur (comme on peut le faire avec une partition EXT4), je n'ai pas su mettre un seul embryon de protection. Alors que c'est mon but final . Ce qui résout aussi le problème des logiciels libres qui ne s'installent pas dans les sous-répertoires PROGRAMME du répertoire WINDOWS.


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne

#25 Le 18/05/2018, à 17:43

??

Re : Lier dossier utilisateurs ubuntu et windows

maxire a écrit :

Ce serait bien que tu précises ce que tu testes en précisant les résultats attendus et de les comparer aux résultats obtenus.
En bref d'appliquer un jeu d'essai.
À te lire je joue aux devinettes.

Plus d'information sur tnfsusermap dans la page web  d'un de ses géniteurs Using ntfsusermap to Build a User Mapping File que je n'ai pas lue.
C'est une des pages du site web dédié à ntfs-3.

J'ai parcouru le site.   J'y ai trouvé quelques réponses.  certaines ne sont pas mal, J'y mettrais des liens.

Ta question, m'a fait réfléchir, Je ne fais pas un appel d'offre. Je cherche simplement a utiliser  au mieux des possibilités existantes.
Je n'ai pas tellement vu un document de synthèse expliquant très clairement ce concept de sécurité...
Ils ne tiennent pas trop  à étaler.....
Mais je viens de comprendre quelques trucs. et je pense avoir trouvé la façon de ne pas aller dans le mur.

1) Il y a soit un bug de documentation soit une mauvaise lecture de la ma part soit c'était vrai lorsque UBUNTU proposait le point de montage WINDOWS et cela  ne l'est plus si on prend un point de montage /DATA

2)    J'ai joué à l'apprenti sorcier en dupliquant la structure.... Les liens ont sauté....
      Je vais recommencer le transfert dans la partition /DATA en utilisant les outils windows.
      Il y a toutes les chances que cela fonctionne. Ce qui sera ce que je veux faire.

3)  Le problème des fichiers orphelins n'est pas très graves, ils sont récupérables à l'unité. Mais c'étaient des fichiers créés par ubuntu avant l'utilisation du montage en NTFS-3G. Donc ,dans la pratique, un faux problème.

4) Sur un Portable,  Il est rare d'avoir deux windows... Je reporte ce test à la quinzaine suivante.

5) Pour information.      le principe de la sécurité
UNBUTU      Création d'un utilisateur USER1  ==> MAJ /etc/pasword ====> PID commençant à 1000     incrémenté de 1 en  1
WINDOWS   Création d'un utilisateur 1RESU  ==> MAJ History register => SID= N°de Machine + N°d'utilisateur commençant à 1000     incrémenté de 1 en  1
La relation est faite sur ces Numéros

En Ubuntu  on peut faire une commande permettant de retrouver le GID à partir du nom
En windows, Le site que tu as indiqué,  donne la codification d'une telle commande.

j'avancerais très lentement pendant ce week-end sur ce sujet https://doc.ubuntu-fr.org/tutoriel/part … _partition
auquel tout le monde peut participer

Dernière modification par ?? (Le 20/05/2018, à 13:12)


Utiliser REFIND au lieu du GRUB https://doc.ubuntu-fr.org/refind . Aidez à vous faire dépanner en suivant le guide

Hors ligne