J'ai un fichier sur mon disque dur,
cd /media/celebisait/5AC69788C6976355
Il y a mon fichier appelé myFile.tar.gz
. Je fais unels -l
,
-rw------- 2 celebisait celebisait 1387745311 Jun 6 2013 myFile.tar.gz
Tout semble bien. Cependant, quand je le fais,
$ Sudo chmod 755 myFile.tar.gz
Je n'ai aucune erreur, mais rien ne se passe, c'est-à-dire quand je fais ls -l
Encore une fois, j'ai la même sortie,
-rw------- 2 celebisait celebisait 1387745311 Jun 6 2013 myFile.tar.gz
Chmod ne change pas .. pourquoi?
PS: J'utilise Ubuntu 13.04.
$ cd /media/celebisait/5AC69788C6976355
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/sda2 89873576 42976028 42325544 51% /
none 4 0 4 0% /sys/fs/cgroup
udev 16436736 4 16436732 1% /dev
tmpfs 3289260 920 3288340 1% /run
none 5120 0 5120 0% /run/lock
none 16446280 764 16445516 1% /run/shm
none 102400 52 102348 1% /run/user
/dev/sda1 94759 2208 92551 3% /boot/efi
/dev/sdb1 767999996 541212516 226787480 71% /media/celebisait/5AC69788C6976355
/dev/sdb2 767999996 1466472 766533524 1% /media/celebisait/54D09DBDD09DA5B0
$ cd /media/celebisait/5AC69788C6976355
$ mount
/dev/sda2 on / type ext4 (rw,errors=remount-ro)
proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/Fuse/connections type fusectl (rw)
none on /sys/kernel/debug type debugfs (rw)
none on /sys/kernel/security type securityfs (rw)
none on /sys/firmware/efi/efivars type efivarfs (rw)
udev on /dev type devtmpfs (rw,mode=0755)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620)
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755)
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880)
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755)
/dev/sda1 on /boot/efi type vfat (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfsd-Fuse on /run/user/celebisait/gvfs type Fuse.gvfsd-Fuse (rw,nosuid,nodev,user=celebisait)
/dev/sdb1 on /media/celebisait/5AC69788C6976355 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
/dev/sdb2 on /media/celebisait/54D09DBDD09DA5B0 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
$ Sudo fdisk -l /dev/sdb1
Disk /dev/sdb1: 786.4 GB, 786432000000 bytes
255 heads, 63 sectors/track, 95611 cylinders, total 1536000000 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x6e697373
This doesn't look like a partition table
Probably you selected the wrong device.
Device Boot Start End Blocks Id System
/dev/sdb1p1 ? 1936269394 3772285809 918008208 4f QNX4.x 3rd part
Partition 1 does not start on physical sector boundary.
/dev/sdb1p2 ? 1917848077 2462285169 272218546+ 73 Unknown
Partition 2 does not start on physical sector boundary.
/dev/sdb1p3 ? 1818575915 2362751050 272087568 2b Unknown
Partition 3 does not start on physical sector boundary.
/dev/sdb1p4 ? 2844524554 2844579527 27487 61 SpeedStor
Partition 4 does not start on physical sector boundary.
Partition table entries are not in disk order
$ Sudo fdisk -l /dev/sdb
Disk /dev/sdb: 2000.4 GB, 2000398934016 bytes
255 heads, 63 sectors/track, 243201 cylinders, total 3907029168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x9c73d093
Device Boot Start End Blocks Id System
/dev/sdb1 2048 1536002047 768000000 7 HPFS/NTFS/exFAT
/dev/sdb2 1536002048 3072002047 768000000 7 HPFS/NTFS/exFAT
/dev/sdb3 3072002048 3907026943 417512448 7 HPFS/NTFS/exFAT
Remarque: Basé sur la mise à jour continue de la question par le PO avec de nouvelles informations qu'il a été déterminé. que le problème était-il monté sur une partition NTFS. Donc # 3 ci-dessous est la réponse réelle à son problème. Je laisse les 2 autres méthodes ici pour d'autres personnes qui peuvent rencontrer des problèmes similaires qui n'utilisent pas une partition NTFS.
Jetez un coup d'œil à la sortie de la commande mount
, spécifiquement quelque chose comme ceci:
$ mount | grep '/media'
L'appareil qui est monté sous /media/celebisait
est probablement un fichier ISO ou un support CD/DVD. Dans ce cas, vous ne serez pas en mesure de gagner un accès en écriture, car ceux-ci sont généralement en lecture seule.
Vous pouvez dire ce qui est monté en lecture/écriture vs lisible à nouveau en tournant à nouveau vers la sortie de la commande mount
.
/dev/mapper/Fedora_greeneggs-root on / type ext4 (rw,relatime,seclabel,data=ordered)
Remarquez la sortie dans la parenthèse. Le premier argument avant la première virgule est rw
qui dénote un accès en lecture/écriture. Si c'était un périphérique lisonly, il aurait un ro
là-bas à la place.
Vous pouvez également déterminer quel appareil un emplacement particulier sur votre disque dur provient de l'utilisation de df -h .
commande. Cela vous montrera le périphérique source du répertoire actuel.
$ df -h .
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/Fedora_greeneggs-home 402G 156G 226G 41% /home
Ici, nous pouvons voir que je suis dans un répertoire/sous-répertoire qui fait partie de la mont /home
, qui est soutenu par le périphérique /dev/mapper/Fedora_greeneggs-home
.
Avec le nom de l'appareil, vous pouvez ensuite rechercher cela aussi dans la sortie de mount
.
$ mount | grep '/dev/mapper/Fedora_greeneggs-home'
/dev/mapper/Fedora_greeneggs-home on /home type ext4 (rw,relatime,seclabel,data=ordered)
Si vous constatez que votre appareil est monté en lecture/écriture, vous voudrez peut-être essayer d'installer PYSDM - un gestionnaire de périphériques de stockage qui permet une personnalisation complète des points de vue du disque dur sans accès manuel à /etc/fstab
. Il permet également la création de règles udev
règles de configuration dynamique des périphériques de stockage.
étapes pour lire/écrire
Sudo apt-get install pysdm
Sudo pysdm
celebisait
Source :Comment puis-je modifier les autorisations sur des lecteurs externes?
Basé sur la sortie que vous avez postée pour la commande:
$ Sudo fdisk -l /dev/sdb
...
Device Boot Start End Blocks Id System
/dev/sdb1 2048 1536002047 768000000 7 HPFS/NTFS/exFAT
Vous avez des partitions NTFS, ce qui explique pourquoi vous n'avez pas été capables de chmod
les fichiers de la ou des partitions montées NTFS. Si vous utilisez le ntfs-3g
Module Pour accéder à la partition NTFS, vous devez pouvoir lire/écrire le disque, tout simplement pas affecter ses autorisations à l'aide de la suite UNIX normale des outils.
Comme vous mentionnez un disque dur.
[.____] Ma réponse est que ce n'est pas possible de chmod
un fichier sur une partition NTFS ou FAT32.
[.____] En fait, seul un système de fichiers UNIX/Linux comme ext3
, ext4
Soutenez ces attributs.
/dev/sdb1 2048 1536002047 768000000 7 HPFS/NTFS/exFAT
Il montre clairement que /dev/sdb1
était une partition NTFS.
/dev/sdb1 2048 1536002047 768000000 7 HPFS/NTFS/exFAT
/dev/sdb1 on /media/celebisait/5AC69788C6976355 type fuseblk (rw,nosuid,nodev,allow_other,default_permissions,blksize=4096)
Le type fuseblk
et la sortie de FDISK indique que votre partition est une partition NTFS. Celles-ci ne prennent pas en charge le schéma d'autorisations de fichiers UNIX/Linux comme autres systèmes de fichiers natifs * Nix.
La solution consiste simplement à déplacer le fichier sur un système de fichiers qui prend en charge ces autorisations telles que votre racine. La façon dont vous voulez le faire ne fonctionnera tout simplement pas.
cp /media/celebisait/5AC69788C6976355/myFile.tar.gz ~/
chmod 755 ~/myFile.tar.gz
ls -l ~/myFile.tar.gz
J'ai eu un problème similaire avec une partition NTFS récemment. Il a déjà été indiqué que NTFS ne peut pas avoir des autorisations modifiées, mais ces autorisations peuvent être définies sur le montage du système de fichiers. Compte tenu des ID des groupes ou des utilisateurs, vous souhaitez pouvoir accéder aux fichiers, vous pouvez faire quelque chose comme:
Sudo mount -t ntfs -o gid=46,fmask=0003,dmask=0002 /dev/sdb1 /media/DATAPART1
page Mount Man, afin que vous puissiez l'adapter à votre cas d'utilisation:
Le répertoire est probablement en lecture seule. Essaye ça:
ls -ld .
chmod 755 .
chmod 755 myFile.tar.gz