Chmod bir dosyaya uygulanamıyor


18

HDD'imde bir dosya var,

cd /media/celebisait/5AC69788C6976355

Benim dosyam var myFile.tar.gz. Ben yaparım ls -l,

-rw------- 2 celebisait celebisait  1387745311 Jun  6  2013 myFile.tar.gz

Herşey yolunda görünüyor. Ancak, yaptığımda,

$ sudo chmod 755 myFile.tar.gz

Herhangi bir hatam yok ama hiçbir şey olmuyor, yani ls -ltekrar yaptığımda aynı çıktıyı alıyorum,

-rw------- 2 celebisait celebisait  1387745311 Jun  6  2013 myFile.tar.gz

Chmod değişmiyor .. Neden?

Not: Ubuntu 13.04 kullanıyorum.

Düzenle:

$ 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

Düzenleme 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)

Düzenleme 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

Düzenleme 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

bu harici sürücünün dosya sistemi nedir? dfkomut sonucu iyi olurdu
Kiwy

Dosyaya ve dizine sahipseniz, belki de bir cd veya yazma korumalı usb stick bağlı (salt okunur? Rootsquash?) Bağlı olarak sudo gerekmez?
X Tian

@Kiwy çıktı ekledim df.
Sait

@Braiam Nasıl Yapılır mount?
Sait

çıkış sonrası blkid.
Avinash Raj

Yanıtlar:


15

TL; DR;

NOT: Sorunun OP tarafından yeni bilgilerle sürekli güncellenmesine dayanarak, sorunun bir NTFS bölümü oluşturduğu tespit edilmiştir. Aşağıdaki # 3, sorunun gerçek cevabıdır. NTFS bölümü kullanmayan benzer sorunlarla karşılaşabilecekleri diğer 2 yöntemi burada bırakıyorum.


Fikir # 1 - medyanın salt okunur (ISO / CD / DVD)?

mountKomutun çıktısına , özellikle bunun gibi bir şeye göz atın :

$ mount | grep '/media'

Altına takılan aygıt /media/celebisaitmuhtemelen bir ISO dosyası veya bir CD / DVD ortamıdır. Bu durumda, bunlar genellikle salt okunur olduğu için yazma erişimi elde edemezsiniz.

Tekrar mountkomutun çıkışına dönerek okuma / yazma ile nelerin monte edildiğini anlayabilirsiniz .

Misal

/dev/mapper/fedora_greeneggs-root on / type ext4 (rw,relatime,seclabel,data=ordered)

Parantez içindeki çıktıya dikkat edin. İlk virgülden önceki ilk argüman rwokuma / yazma erişimini ifade eder. Eğer salt okunur bir cihaz olsaydı, roonun yerine orada olurdu .

Alternatif yöntem

HDD'nizdeki belirli bir konumun nereden kaynaklandığını df -h .komutu kullanarak da öğrenebilirsiniz . Bu size mevcut dizinin kaynak cihazını gösterecektir.

$ df -h .
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/fedora_greeneggs-home  402G  156G  226G  41% /home

Burada, bağlantının bir parçası olan /homeve cihaz tarafından desteklenen bir dizin / alt dizinde olduğumu görebiliriz /dev/mapper/fedora_greeneggs-home.

Cihazın adıyla, bunun çıktısında da arayabilirsiniz mount.

Misal

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

Fikir # 2 - Ancak cihaz okuma / yazma monte edilmiştir!

Cihazınızın okuma / yazma üzerine monte edildiğini fark ederseniz , sabit disk montaj noktalarının manuel erişim olmadan tam olarak özelleştirilmesine izin veren bir Depolama Aygıt Yöneticisi olan PySDM'yi yüklemeyi deneyebilirsiniz /etc/fstab. Ayrıca udev, depolama aygıtlarının dinamik yapılandırması için kurallar oluşturulmasına izin verir

okuma / yazma adımları

  1. fiziksel depolama aygıtı yöneticisini kurun: sudo apt-get install pysdm
  2. açık depolama cihazı yemlik: sudo pysdm
  3. gerekli sürücülerinizi seçin
  4. basın yardımcısı
  5. salt okunur olarak aç işaretini kaldırın
  6. dosya sistemi sahibini kontrol edin ve kullanıcı adınızı yazın: celebisait
  7. tamam tuşuna basın
  8. basın başvurusu
  9. umount Sürücü
  10. monte et

Kaynak: Harici sürücülerdeki izinleri nasıl değiştirebilirim?

Fikir # 3 - NTFS bölümleri

Komut için gönderdiğiniz çıkışa dayanarak:

$ sudo fdisk -l /dev/sdb

...
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1            2048  1536002047   768000000    7  HPFS/NTFS/exFAT

NTFS bölümleriniz var, bu chmodda NTFS bağlı bölüm (ler) deki dosyalara neden erişemediğinizi açıklıyor . ntfs-3gModülü NTFS bölümüne erişmek için kullanıyorsanız, diski okuyabilmeniz / yazabilmeniz gerekir, normal Unix araç paketini kullanarak izinlerini etkilememelisiniz.


2
celebisaitonun kullanıcı adı olduğunu düşünüyorum .
Avinash Raj

@AvinashRaj, evet bu doğru. :)
Sait

Fikir # 1'in orijinal olarak verilen bilgilerle eşleşmediğini düşünmüyorum - salt okunur bir dosya sistemindeki bir dosyayı chmod etmeye çalışmak hataya (EROFS) neden olmalıdır. Ve Idea # 2'nin gerçekte neyi başardığı konusunda biraz kafam karıştı. Bu dosya sistemi okuma / yazma yeniden süslemek için süslü bir yol gibi görünüyor - ama bu dosya sisteminin zaten okuma-yazma olması durumunda geçerlidir .
Nate Eldredge

@NateEldredge - Bu Q'nun başlangıcında tam olarak neler olduğu çok belirsizdi, bu nedenle ilk önerim cihazın nasıl monte edildiğini kurmaktı. 2. yöntemim Kişisel olarak USB MP3 çalarımda zaman zaman Nautilus'ta salt okunur olarak görünen izinleri düzeltmek için kullandım. Dosyalar OP'nin açıklamasına benzer şekilde ortaya çıkıyor ve sorunu çözmek için PySDM kullanıyorum. Sorun sadece FS'nin RO olarak monte edilmesi değil, MP3 çaların üzerindeki bölüm salt okunur bir moda getiriliyor ve yine de RW'ye bağlı.
slm

7

Bir HDD'den bahsederken.
Cevabım, chmodNTFS veya FAT32 bölümündeki bir dosyanın mümkün olmamasıdır .
Aslında gibi sadece Unix / Linux dosya sistemi ext3, ext4bu özelliklerini destekler.

/dev/sdb1            2048  1536002047   768000000    7  HPFS/NTFS/exFAT

Bunun /dev/sdb1bir NTFS bölümü olduğunu açıkça göstermektedir .


1
NTFS olduğunu nereden biliyorsun? Muhtemelen ama sorudan bunu kabul
edemezsin

@Kiwy, OP'nin bir HDD'den bahsetmesinden bu yana diğer yanıttan daha olasıdır.
Joseph R.21

5
/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)

fuseblkFdisk türü ve çıktısı bölümünüzün bir NTFS bölümü olduğunu gösterir. Bunlar UNIX / LINUX dosya izinleri düzenini diğer * NIX yerel dosya sistemleri gibi desteklemez.

Çözüm, dosyayı kökünüz gibi bu izinleri destekleyen bir dosya sistemine taşımaktır. Bunu yapmak istediğiniz şekilde çalışmaz.

cp /media/celebisait/5AC69788C6976355/myFile.tar.gz ~/
chmod 755 ~/myFile.tar.gz
ls -l ~/myFile.tar.gz

1

Son zamanlarda NTFS bölümü ile benzer bir sorun yaşadım. NTFS'nin izinleri değiştirilemeyeceği belirtilmişti, ancak bu izinler dosya sisteminin bağlanmasıyla ayarlanabilir. Dosyalara erişmek istediğiniz grupların veya kullanıcıların kimlikleri göz önüne alındığında, aşağıdakilere benzer bir şey yapabilirsiniz:

sudo mount -t ntfs -o gid=46,fmask=0003,dmask=0002 /dev/sdb1 /media/DATAPART1

kullanım sayfanıza uyarlayabilmeniz için man sayfasını yükleyin:

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


0

Dizin muhtemelen salt okunurdur. Bunu dene:

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

Bu doğru değil. Sıradan bir Unix dosya sisteminde, bir dosyayı salt okunur bir dizinde değiştirmek için iyi çalışır. Bir dizindeki dosyanın meta verilerini okumak, yazmak veya değiştirmek için bir dizinde yazma iznine ihtiyacınız yoktur. Yeni dosyalar oluşturmak veya mevcut dosyaları silmek için yazma iznine ihtiyacınız vardır.
Nate Eldredge
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.