J'ai un script que je dois exécuter sur une partition NTFS. L'autorisation du script est définie sur 600.
J'ai essayé de modifier les autorisations en exécutant chmod 755 script.sh
, ce qui ne signale pas un échec ni quoi que ce soit - mais cela ne modifie pas non plus les autorisations sur le fichier:
$ stat script.sh
File: `script.sh'
Size: 297070 Blocks: 584 IO Block: 4096 regular file
Device: 811h/2065d Inode: 35515 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/ xxxxxx) Gid: ( 1000/ xxxxxx)
Access: 2010-09-30 14:05:16.041621000 -0700
Modify: 2010-09-30 14:05:05.070157000 -0700
Change: 2010-09-30 14:05:05.070475000 -0700
$ chmod 755 script.sh
$ stat script.sh
File: `script.sh'
Size: 297070 Blocks: 584 IO Block: 4096 regular file
Device: 811h/2065d Inode: 35515 Links: 1
Access: (0600/-rw-------) Uid: ( 1000/ xxxxxx) Gid: ( 1000/ xxxxxx)
Access: 2010-09-30 14:05:16.041621000 -0700
Modify: 2010-09-30 14:05:05.070157000 -0700
Change: 2010-09-30 14:05:05.070475000 -0700
Comme vous pouvez le constater, il reste inchangé.
permissions
ntfs
chmod
Nathan Osman
la source
la source
Réponses:
Le mode est déterminé par les options de montage de la partition (vous ne pouvez pas le changer via chmod).
Pour "755" sur les fichiers et "777" sur les répertoires, vous utiliseriez quelque chose comme
la source
/dev/whatever
et/mnt/whatever
si je dois changer la permission de ma partition HDD nommée/media/Prtn
ntfs-3g.usermap
. Voir ci-dessous ...Contrairement à ce que la plupart des gens croient, NTFS est un système de fichiers compatible POSIX¹ et il est possible d'utiliser des autorisations sur NTFS .
Pour l'activer, vous avez besoin d'un "Fichier de mappage utilisateur" ou donnez simplement l'
permissions
option lors du montage (lorsqu'aucune compatibilité avec Windows n'est requise). Ceci mappe les utilisateurs Linux sur votre système avec les ID utilisateur tels que NTFS / Windows les utilisent en interne.Voir la page de manuel ntfs-3g pour des informations et des exemples. Si vous avez besoin de plus d’informations, consultez la documentation avancée ntfs-3g sur la propriété et les autorisations .
(Notez que cela ne fonctionne pas sur les systèmes de fichiers FAT.)
¹ Oui, il peut également stocker des noms de fichiers valides sous linux / unix mais pas sous Windows, prend en charge les liens symboliques et les liens physiques, etc.
la source
sudo ntfs-3g.usermap /dev/disk/by-label/MY-NTFS
et puissudo mv UserMapping /media/MY-NTFS/.NTFS-3G/
chmod 655 /some/file
sur la partition NTFS montée sous Linux? J'essaie de comprendre comment fusionner ma partition home de linux dans c: \ Users. L'utilisation de usermap me permettra-t-elle de conserver toutes les autorisations? Je prévoyais de monter le répertoire c: \ Users sur / home sous linux.ntfs-3g manpage
lien casséPour les partitions NTFS, utilisez l'
permissions
option de fstab.Commencez par démonter la partition ntfs.
Identifiez votre UUID de partition avec
blkid
Puis éditer
/etc/fstab
Et ajouter ou éditer une ligne pour la partition ntfs
Faire un point de montage (si nécessaire)
Maintenant montez la partition
Les options que je vous ai données
auto
monteront automatiquement la partition au démarrage etusers
permettront aux utilisateurs de monter et démonter.Vous pouvez ensuite utiliser chown et chmod sur la partition ntfs.
la source
users
implique noexec , nosuid et nodev . n'est-ce pas? Comment les utilisateurs peuvent monter / démonter avecnoexec
être défini?En plus de définir fmask et / ou dmask dans la réponse de htorque ci-dessus, si vous souhaitez exécuter des scripts sur le lecteur, je devais également définir l'option de montage "exec".
Ainsi, l'exemple serait:
la source
Vous pouvez toujours appeler explicitement l'interpréteur de script, auquel cas les autorisations d'exécution ne sont pas requises. Si le script utilise bash , comme cela peut être vérifié en regardant la première ligne du script, exécutez simplement
Notez que le script appelle d'autres scripts ou binaires sur la même partition, cela ne fonctionnera pas. Notez également que la stratégie ne fonctionne pas avec les fichiers binaires, contrairement aux fichiers de script textuels écrits en script Bash, Perl, Python, etc.
la source
/lib64/ld-linux-x86-64.so.2 ./program.bin
pour les programmes 64 bits et/lib/ld-linux.so.2 ./program.bin
32 bits.Selon la section Propriétaires et autorisations de la documentation NTFS-3G, nous pouvons utiliser les options de montage pour contrôler l' accès aux fichiers et leur création . Les combinaisons sont très compliquées (voir les deux tableaux ci-dessous). De plus, je ne lis pas et je ne les ai pas tous. Par exemple, je ne sais pas si les ACL POSIX sont sélectionnés à la compilation ou non du paquet binaire NTFS-3G. Mais le mieux que je sois sorti consiste à utiliser un fichier de mappage utilisateur associé à certaines options de montage pour obtenir un mappage plausible de la propriété du fichier et des autorisations entre Windows et Linux.
Avertissement : C’est uniquement ce qui fonctionne le mieux pour le partage d’une partition de données NTFS (lecteur
D:
sous Windows) entre Windows 8 à double démarrage et Kubuntu 14.04. Les instructions sont consignées dans une rétrospection attentive mais ne sont pas testées de manière approfondie. Il est trop fatiguant et fastidieux de répéter toute la procédure. Alors suivez-le à vos risques et périls. Mais si vous le faites, partagez votre expérience. Si vous décidez de suivre les instructions, veuillez le lire attentivement pour avoir une image complète avant d’agir. Bonne chance!Bon, ici vous allez! Les instructions détaillées se composent de trois parties. La partie 1 doit être exécutée sous Windows et la partie 2 sous Linux. La partie 3 est pour le test.
Partie 1
La section Mappage utilisateur de la documentation NTFS-3G spécifie deux versions pour configurer le mappage utilisateur entre Windows et Linux, une version Windows et une version Linux. D'après mon expérience, la version Linux s'est soldée par un échec . Le compte Linux n'a pas été mappé sur mon compte Windows, mais un compte inconnu est apparu sous un SID . Le résultat a été un désastre puisque ce compte inconnu prend possession de tous les fichiers de mon compte Windows. Dans ce cas, les fichiers sous votre compte Windows deviennent inaccessibles, à moins que vous ne disposiez d'un privilège administratif pour reprendre votre propriété. Mais même si vous mangez, c'est toujoursune mauvaise cartographie. Cela signifie que plus tard, tous les fichiers créés sous Linux sont affectés à ce compte inconnu sous Windows et ceux sous Windows sont affectés à root sous Linux (si mes souvenirs sont exacts). Donc, sous Windows, vous devez redevenir propriétaire et sous Linux, changer de propriétaire. Ce n'est pas ce à quoi nous nous attendons. Après plusieurs tentatives sans espoir de résoudre le problème, j'ai abandonné et me suis tourné vers la version Windows. Celui-là a fonctionné. Les instructions détaillées extraites de la section correspondante de la documentation NTFS-3G sont les suivantes:
Téléchargez l' outil usermap , extrayez-le quelque part (dans mon cas, lecteur
C:
), mieux en dehors de la partition NTFS (dans mon cas, lecteurD:
) à partager.Ouvrez la ligne de commande Windows. Passez au répertoire extrait
tools
(par défaut) de l'usermap
outil. Puis exécutez la commande suivante:Cela génère un modèle et le redirige vers un fichier nommé
UserMapping
. Ouvrez le fichier avec un éditeur de texte, par exemple, le Bloc-notes. Les lignes suivantes devraient apparaître:Vraisemblablement, le premier
SID
devrait être votre SID utilisateur, le second votre SID de groupe. Vous pouvez les vérifier respectivement par les commandeswhoami /user
etwhoami /groups
.Une fois que vous vous êtes assuré que les SID sont corrects, suivez les instructions du commentaire, c’est-à-dire remplacez
user
lauser::SID
ligne par votre nom d’utilisateur etgroup
la:group:SID
ligne par le nom de votre groupe principal sous Linux. Sur Ubuntu, ce sont les mêmes. De plus, ajoutez le nom de votre groupe Linux également après le premier deux-points de lauser::SID
ligne. Donc, la ligne devrait ressembler à quelque choseuser:group:SID
. Il semble que s’ils ne le font pas, les fichiers créés sous Windows seront affectés àuser:root
Linux.Enregistrez le fichier. Déplacez-le dans un répertoire nommé
.NTFS-3G
(créez-le s'il n'existe pas encore) sur la partition NTFS à partager (dans mon cas, lecteurD:
).Cette étape concerne le test de la partie 3. Sur la partition NTFS partagée, créez un nouveau répertoire et un nouveau fichier.
Partie 2
Maintenant, démarrez Linux.
sudo
éditer le fichier/etc/fstab
. Ajoutez ou modifiez la ligne de la partition NTFS partagée pour donner le résultat suivant:L'essentiel est de définir le
umask
(dmask
etfmask
peut également fonctionner mais pas testé). Choisissez une valeur pourumask
vous, même si j'ai choisi077
. Il semble que sans ce paramètre, des autorisations complètes leur soient accordéeso
pour les fichiers nouvellement créés.Enregistrez le fichier. Maintenant
sudo mount
ou remontez (sudo umount
et ensuitesudo mount
) la partition NTFS partagée (dans mon cas/data
):Partie 3
Maintenant (toujours sous Linux)
cd
au point de montage (dans mon cas/data
),ls -l
les fichiers sont là. Vérifiez si leur propriété et leurs autorisations correspondent respectivement à celles spécifiées dans leUserMapping
fichier et celles queumask
vous avez définies/etc/fstab
(la correspondance entre les autorisations etumask
nécessite un calcul complémentaire, voir man (1) umask pour plus d'informations). S'ils le font, félicitations, un demi-objectif est atteint. Sinon, pauvre toi. Demandez à Ubuntu ou Windows.Créez ensuite un nouveau répertoire et un nouveau fichier.
ls -l
pour vérifier leur propriété et leurs autorisations. La propriété doit être votre nom d'utilisateur et votre groupe principal, comme d'habitude. Les autorisations doivent correspondre à laumask
. Maintenant, redémarrez votre ordinateur et démarrez Windows. Localisez sur la partition NTFS partagée le répertoire et le fichier que vous venez de créer sous Linux. Vérifiez leurs propriétés pour voir si elles sont attribuées à votre compte Windows. Si tel est le cas, félicitations, vous avez terminé. Sinon, pas de chance. Demandez à Windows ou à Ubuntu.EOF
la source
Ancien fil, je le sais, mais toujours pertinent et manquant d'un conseil de cas d'utilisation particulier, composé de différentes suggestions sur divers autres forums / threads et testé sur Ubuntu GNOME 13.04 où je voulais un disque externe contenant une bibliothèque Steam ...
Par exemple, lorsque la partition NTFS se trouve sur un lecteur USB externe (ce qui signifie que la partition est montée à la volée lors de la connexion), vous pouvez utiliser la méthode suivante pour créer des partitions udev mount ntfs avec des droits d'exécution.
Ouvrez une fenêtre de terminal et faites:
Ensuite, collez cette ligne dans ce qui devrait être un fichier vide / nouveau (sinon, quittez nano et relancez la commande en commençant par le nom du fichier avec un numéro plus élevé, comme 91 -...):
Puis enregistrez et fermez. Débranchez le lecteur puis faites dans le terminal:
Ensuite, branchez le lecteur et profitez-en :)
la source
Toutes les étapes:
Installer
ntfs-3g
:Démontez la partition NTFS :
Utilisez
ntfs-3g.usermap
pour générer votreUserMapping
fichier:ou
Remontez la partition NTFS pour ajouter un
UserMapping
fichier:Mettez à jour votre
fstab
fichier:Mettre à jour la ligne de montage :
#
au début.UUID=34A0456DA04536A0 /mnt/windows ntfs defaults,uid=1000,gid=1000 0 0
UUID=34A0456DA04536A0 /mnt/windows ntfs-3g defaults 0 0
(Utiliserntfs-3g
et seuledefault
option)Ça devrait ressembler a quelque chose comme ca:
#UUID=34A0456DA04536A0 /mnt/windows ntfs defaults,uid=1000,gid=1000 0 0
UUID=34A0456DA04536A0 /mnt/windows ntfs-3g defaults 0 0
Enfin, remontez en utilisant votre
fstab
:Faites cela une fois pour chaque partition NTFS que vous avez!
AVERTISSEMENT SOUS WINDOWS OS!
Je vérifie avec Windows 7+ et les autorisations affectent le système d'exploitation Windows! Je modifie les autorisations de mon répertoire personnel sur la partition Windows et, lorsque j'utilisais encore Windows, je pouvais voir que l'utilisateur était cassé!
la source
Il y a une question connexe pour les périphériques USB. Cette réponse fournit un bidouillage moche si vous souhaitez monter chaque périphérique USB automatiquement avec des autorisations d'exécution.
la source
Monter une partition NTFS sur un lecteur USB avec des autorisations et un propriétaire personnalisés
Sous Linux, le mode NTFS (et FAT32) est déterminé par les options de montage de la partition . Vous ne pouvez pas le changer via chmod.
Hypothèse: le lecteur USB est vu comme
sdb1
, modifiez-le pour correspondre à la lettre du lecteur et au numéro de partition dans votre cas . La syntaxe générale est la suivantesdxn
: oùx
est la lettre du lecteur etn
le numéro de la partition, comme indiqué par exemplesudo lsblk -f
En train de préparer
Démontez la partition NTFS.
Créez un point de montage personnalisé (uniquement si vous souhaitez un nouveau point de montage), par exemple avec
Vérifiez votre
uid
numéro d'utilisateur (généralement 1000, parfois 1001 ou 1002 ...)et utilisez ce numéro si vous souhaitez en prendre possession (par défaut
root
).Montez la partition NTFS
Exemple 1 (sans autorisations d'exécution pour les fichiers, pas d'accès pour les «autres»),
dans ce cas, vous pouvez exécuter le script
this-script
avecExemple 2 (avec des autorisations d'exécution pour les fichiers, aucun accès pour les «autres»),
Dans ce cas, vous pouvez exécuter le script
this-script
avecet vous pouvez aussi exécuter des programmes exécutables à partir de cet emplacement (même si cela n’est pas recommandé).
Exemple 3 (autorisations complètes pour tout le monde, ce qui est pratique mais non sécurisé lorsqu'il y a plusieurs utilisateurs),
la source
/media$ sudo mkdir -p sdb1
/media$ sudo mount -o rw,users,umask=000,exec /dev/sdb1 ./sdb1/ mount: block device /dev/sdb1 is write-protected, mounting read-only
chkdsk /f X:
à ce lien ubuntuforums.org /… - Si toujours pas de chance, sauvegardez les données et essayez selon askubuntu.com/questions/144852/…