Kök olmadan bir USB'ye nasıl dosya yazarım?


10

Kullanarak bölümlediğim sudo cfdisk /dev/sdbve biçimlendirdiğim 4GB'lık bir USB çubuğum var sudo mkfs /dev/sdb1. Debian Squeeze'imi çalıştırdığımda şu anda 83Sistem ile ID olarak ayarlanmış .Linuxsudo fdisk -l

Kullandığım pmountharici USB sürücüler oluşturmak. Yani bir pmount /dev/sdb1bağ yapıyor /media/usb0çünkü ff var. satır girişi /etc/fstab:

/dev/sdb1    /media/usb0    auto    rw,user,noauto    0    0

pmountKomutu verdikten sonra , USB aşağıdakilere bağlanır /media/usb0- ls -l /media/usb0bana bir şey verir:

drwx------ 2 root root 16384 Mar   2 20:08 lost+found

Bu yüzden işime gidip bir dosyayı kopyalamaya çalışıyorum, /media/usb0ancak aşağıdaki hatayı alıyorum:

$ cp ~/foo.bar /media/usb0
cp: cannot create regular file `/media/usb0/foo.bar': Permission denied

Ancak aynı cpkomutu sudoverdiğimde dosyayı kopyalayabiliyorum.

Bu neden oluyor? Sahip olduğum diğer USB sürücüsünü denedim ve bu hata olmadan onlara yazabiliyorum. USB belleği biçimlendirmem veya yeniden bölümlendirmemde bir sorun mu oldu?

Yanıtlar:


7

Sdb1 bölümünü birext* dosya sistemi kullanarak biçimlendirdiniz ( ext2 , ext3 veya ext4 ; varsayılanı hatırlayamıyorum). Bu, Linux sistemlerindeki varsayılan dosya sistemidir ve dosyaları veya dizinleri kimlerin değiştirebileceğini belirlemek için Unix dosya izinlerini kullanır . Yeni dosya sistemleri her zaman kökün ( /media/usb0bu örnekte) sahibi olduğu root:rootve genellikle yalnızca sahibinin değiştirmesine izin veren izinlerle başlar.

Bunu kendi başınıza görmek için dosya sistemini bağlayın, ardından ls -ld /media/usb0geçerli sahipliği / izinleri görmek için çalıştırın . Benim tahminim:

drwx------ 2 root root 16384 Mar   2 20:08 /media/usb0

Basit bir düzeltme, a) chownbağlı dosya sistemini kendi Linux hesabınıza veya b) herkese yazma izni vermek olacaktır chmod.

Ancak, sonuçta bu iyi bir çözüm olmayacaktır, çünkü oluşturulan dosyalar kullanıcı adınıza değil UID'nize ait olacaktır; bu , USB sürücü farklı bir sisteme bağlandığında hesap uyumsuzluklarına neden olur. Hiç bağlayabileceğinizi varsayarsak, Windows ekstra hile olmadan ext3'ü desteklemez , bu nedenle NTFS ( mkfs.ntfs) veya FAT32 ( mkfs.vfat) dosya sistemi için çok daha iyi bir seçim olacaktır.


Yaptığım çalıştı sudo mkfs.ntfs /dev/sdb1ve sudo mkfs.vfat /dev/sdb1ancak hata alıyorum sudo: mkfs.xxxx: command not foundnerede xxxxya olduğu ntfsve vfat. Debian Squeeze üzerinde çalışmasını nasıl sağlayabilirim?
Eric

@Eric: ntfs-3g + ntfsprogs + dosfstools'u yükleyin .
user1686

Tamam, ben kurdum. Ben bağlamaya çalıştığınızda Şimdi zaman, bu hatayı alıyorum: ntfs-3g-mount: failed to open /dev/fuse: Permission denied. Bununla ilgili ne yapacağım?
Eric

4

Bu, daha sonraki Debian sistemlerinde (örn. Jessie) ve bazı fat32 veya ext3,4 formatlı USB flash sürücülerde olur. / Etc / fstab dosyasından aşağıdaki satırı kaldırmanız (veya yorum yapmanız) gerekiyor :

/dev/sdb1    /media/usb0    auto    rw,user,noauto    0    0

Bundan sonra, USB sürücünüzü otomatik olarak normal kullanıcı hesabınızın iznine göre kuracaksınız ve root atamayacaksınız. Bu bağlantıdaki Debian forumları hakkında ayrıntılı bilgiye bakın .

Bundan sonra USB sürücünüz kullanıcı yazma izninizle sorunsuz bir şekilde monte edilecektir :)


2

Komut sudoile izinleri kullanın ve değiştirin chmod.

Nasıl kullanılacağını görmek için bu sorudaki cevabımı görün chmod:

Herkese chmod 777izin vermek için kullanmanızı öneririm ( ls -lbunu kullanarak gösterecektir drwxrwxrwx).



0

GUI üzerinden dosya sistemi ortamına gidin. Kopyalamak istediğiniz USB sürücüsünü sağ tıklayın ve - Kök Olarak Aç'ı seçin. Parolayı yazın. Ardından silme, sürükleme ve bırakma işlemlerini kopyalayabilirsiniz. Hepsi iyi


Yukarıda @Sven tarafından belirtildiği gibi, root: sahiplikteki kök, terminalde veya gui'de kök olarak açık olan nedendir VEYA bu usb'yi beklendiği gibi kullanmanıza izin vermek için sahibi veya grubu değiştirmek için chown kullanın.
linuxdev2013
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.