web-dev-qa-db-fra.com

Tous les fichiers sur une partition NTFS montée automatiquement sont marqués comme exécutables

J'ai configuré une partition NTFS à monter automatiquement via fstab:

# /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
proc            /proc           proc    nodev,noexec,nosuid 0       0
# / was on /dev/sda7 during installation
UUID=e63fa8a2-432f-4749-b9db-dab328807d04 /               ext4    errors=remount-ro 0          1
# /boot was on /dev/sda4 during installation
UUID=e9ad1bb4-7c1f-4ea9-a6a5-799dfad71c0a /boot           ext4    defaults        0       2
# /home was on /dev/sda8 during installation
UUID=eda8c755-5448-4de8-b58c-9cb75823c22d /home           ext4    defaults        0       2
# swap was on /dev/sda9 during installation
UUID=804ff3a7-e5dd-406a-b63c-e8f3c635fbc5 none            swap    sw              0       0

#Windows-Partition
UUID=368CEBC57807FDCD   /media/Share  ntfs    defaults,uid=1000,gid=1000,noexec    0   0

Comme vous pouvez le constater, j'ai ajouté le bit noexec à la configuration. Pourquoi? Parce que tout fichier que je crée ou déplace sur la partition est automatiquement marqué comme exécutable.

Le problème est qu’il n’ya aucun moyen de changer cela par le biais du nautile. Je ne peux pas décocher l'option "Autoriser l'exécution du fichier en tant que programme".

L'option noexec n'aide malheureusement pas. Cela empêche uniquement Nautilus d’afficher le dialogue "Exécuter" ou "Lire", mais ne modifie pas le drapeau exécutable.

Y at-il un moyen que je puisse résoudre ce problème?

7
Glutanimate

Avec l'aide de janvier, j'ai pu trouver les options de fstab suivantes qui ont résolu mon problème:

umask=0000,fmask=0111

L'entrée fstab pour ma partition NTFS est maintenant la suivante:

#Windows-Partition
UUID=368CEBC57807FDCD   /media/Share  ntfs  defaults,uid=1000,gid=1000,umask=0000,fmask=0111    0   0

Source: http://www.linuxquestions.org/questions/slackware-14/mount-ntfs-so-that-files-are-not-exotable-buts-directories-are-363315/

Modifier: La modification de ces options signifie également que vous ne pourrez rien définir d’exécutable sur votre lecteur NTFS. Dans mon cas, ce n’est pas un problème car je n’envisage pas de stocker d’exécutables sur cette partition.

4
Glutanimate

L'option noexec n'a rien à voir avec les autorisations réelles; c'est juste pour ne pas permettre d'exécuter quoi que ce soit à partir de cette partition:

~ $ ls -l test.sh
-rwxr-xr-x 1 jw jw 28 Aug 30 13:05 test.sh
~ $ ./test.sh
Hello world
~ $ Sudo mount -o remount,noexec /home
~ $ ./test.sh
bash: ./test.sh: Permission denied
~ $ ls -l test.sh
-rwxr-xr-x 1 jw jw 28 Aug 30 13:05 test.sh

Comme vous le voyez, une fois que la partition est montée avec l'option noexec, test.sh ne peut pas être exécuté. mais les autorisations elles-mêmes n'ont pas changé.

NTFS ne prend pas en charge le bit exécutable. La manière dont un système NTFS est perçu par le système et la manière dont les autorisations sont définies ne dépendent donc que de la manière dont il a été monté. Cela se fait normalement avec l'option de montage umask. Cela explique également pourquoi vous ne pouvez pas modifier les autorisations: il n’existe aucun moyen de les stocker, car NTFS ne les prend pas en charge.

Malheureusement, si vous montez tout avec le bit 'non-exécutable', vous ne pourrez pas vous connecter à des répertoires, car ils doivent être exécutables pour pouvoir être entrés. Vous pouvez utiliser les options dmask et fmask pour définir les autorisations par défaut séparément pour les répertoires et les fichiers d'un système NTFS monté.

8
January