web-dev-qa-db-fra.com

Ne peut pas appliquer chmod dans un fichier

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.

Éditer:

$ 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

Edit 2:

$ 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)

Edit 3:

$ 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

Edit 4:

$ 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
19
Sait

Tl; dr;

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.


Idée n ° 1 - Readonly de Media (ISO/CD/DVD)?

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.

Exemple

/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.

Méthode alternative

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.

Exemple

$ mount | grep '/dev/mapper/Fedora_greeneggs-home'
/dev/mapper/Fedora_greeneggs-home on /home type ext4 (rw,relatime,seclabel,data=ordered)

Idée n ° 2 - mais l'appareil est monté en lecture/écriture!

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

  1. installer le gestionnaire de périphériques de stockage physique: Sudo apt-get install pysdm
  2. device de stockage ouvert MANGER: Sudo pysdm
  3. choisissez vos lecteurs requis
  4. assistance de presse
  5. décocher Open comme lecture seule
  6. vérifiez le propriétaire de l'utilisateur du système de fichiers et écrivez votre nom d'utilisateur: celebisait
  7. appuyer sur OK
  8. appliquer Appliquer
  9. uMount Drive
  10. monter

Source :Comment puis-je modifier les autorisations sur des lecteurs externes?

Idée n ° 3 - Partitions NTFS

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.

15
slm

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.

7
Avinash Raj
/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
5
Braiam

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:

http://linux.die.net/man/8/mount

1
Frogee

Le répertoire est probablement en lecture seule. Essaye ça:

ls -ld .
chmod 755 .
chmod 755 myFile.tar.gz
0
Chloe