Birden çok linux kurulumuyla harici EXT4 sabit diski kullanırken izin sorunlarını çözme


18

Harici bir sabit diskim var ve sadece Ubuntu ve Fedora kullandığımdan beri sabit diskimi ext4'e göre biçimlendirmeye karar verdim her şey yolunda.

Sorun, sürücüyü bağladığımda okuma ve yazma iznini değiştirmem gerekiyor.

Ne tür izin kullanmalıyım? kullanıcı adımı beğenir misin?

Yanıtlar:


5

Topal bana rağmen olabilir, soruyu başka bir soru ile cevaplamam gerekecek. Bahsettiğimiz tek şey bir işletim sistemi içinse, o zaman ya

sudo chown -R (user name) /dev/(device name)

( ubuntu )

ya da sadece

chown -R (user name) /dev/(device name)

fedora - hayırsudo, komutu kökten çalıştırın.

Erişte kaşıyıcı kısmı ve iyi bir cevabım olmayan kısım, bunun nasıl yapılacağıdır, böylece dağıtımlar arasında ileri geri gittiğinizde manuel olarak yeniden yazmak zorunda kalmazsınız. Çizgiyi bana eklemek için neredeyse cazip olurdu ~/.bashrc, ama muhtemelen henüz bilmediğim veya düşünmediğim daha iyi bir yol var.


Ben distro her değiştirmek izin izin değiştirmek ne tho
Javier Gonzalez

1
Sadece kendi entelektüel merakımı sağlamak ve tatmin etmek için geri döndüm ve sahip olduğum bir USB EXT4 sürücüsüyle tekrar kontrol ettim. Aygıtın sahipliğini almanın dosya sisteminin sahipliğini almakla aynı şey olup olmadığını bilmiyordum ve öyle. sudo chown -R (kullanıcı adı) / dev / (aygıt adı), siz oluşturmasanız bile sürücüdeki tüm dosyaların sahipliğini alır.
user2367

Evet, sadece ~ / .bashrc'ye satır eklemekten yoksun, böylece terminali her çalıştırdığınızda otomatik olarak çalışır, buna bir cevabım yok. Belki onu cron'a ekleyebilir miyim? Ama görünüşe göre distro önyükleme yapması için onu ayarlamanın bir yolu olmalı.
user2367

Gerçekten ext4 seviyorum ama bir bok izin değiştirmeye devam haha
Javier Gonzalez

10

En basit çözüm, Ubuntu ve Fedora kullanıcı hesaplarınızın aynı kullanıcı kimliğine (UID) sahip olduğundan emin olmaktır.

Bence Fedora kullanıcı hesaplarını varsayılan olarak 500'de başlatırken Debian ve Ubuntu bunları 1000'de başlatır, bu nedenle bir işletim sisteminde 500 kullanıcı sayısı ve diğer kullanıcıda 1000 kullanıcı numarası olmanız muhtemeldir. Dosya sistemi bu UID numarasını kullanır. izinleri takip etmek için aynı UID'ye sahip olduklarından emin olursanız, aynı kullanıcı olarak kabul edilir ve hiçbir izin sorunu olmaz.

Yapabileceğiniz en iyi şey, her ikisini de UID = 1000 yapmaktır, bu nedenle Fedora sistemindeki UID'yi değiştirin, ardından harici diskteki ve kullanıcının Fedora yüklemesindeki $ HOME'daki tüm dosyaların UID 1000'e ait olduğundan emin olun. artık izin problemleri olmamalı.


Evet bunu yapacağım için teşekkür ederim :)
Javier Gonzalez

1
Lütfen eklerimi de okuyun yoksa Fedora kullanıcısı giriş yapamaz!
JanC

Her şey açık şimdi test edeceğim, ayrıca soru başlığını düzenlediğiniz için teşekkürler şimdi çok açık.
Javier Gonzalez

3

/ Etc / fstab içinde uid = 1000 (Ubuntu'da - Fedora'da 500) koyabilirsiniz. Sürücünün kullanıcı tarafından sahiplenilmesi (ilk kullanıcı olduğunuzu varsayarak, yada yada yada ... değilse, kullanıcınızın uid from id) ve umask = 000, tüm kullanıcıların erişmesini istiyorsanız (veya uid = ile belirtilen için 077) - bu bir maskedir, bu yüzden chmod olarak yaptığınızın tam tersini koyarsınız)

/ Etc / fstab kullanımı hakkında daha fazla bilgi için: http://ubuntulinuxtipstricks.blogspot.com/2008/02/fun-with-etcfstab.html


1
Ben izin 077 olarak ayarlanırsa ben ubuntu fedora değiştirmek zaman izni değiştirmek gerekmez?
Javier Gonzalez

@Dracirate: Sanırım 077 yerine 000'e ihtiyacınız olabilir. Her sistemde (hem Ubuntu hem de Fedora) sürücü için fstab girişi koyarsanız, kullanılabilir olması için otomatik olarak bağlarlar.
maco

3

Maalesef Linux çekirdeği ext2 / ext3 / ext4 FS'de POSIX iznini zorlar.

Paylaşılan grupla POSIX iznini geçici olarak çözebilirsiniz. İlgili soruyu soruyorum: /unix/273144/predefined-group-ids-across-linux-distros/ ama sonuçta kendi araştırmamı yaptım.

Ben sys grup paylaşım kimliği 3 Debian, Ubuntu, RedHat, Fedora, CentOS, Suse, FreeBSD, OpenBSD, NetBSD, MacOSX, Solaris üzerinde keşfetmek.

Böyle bir keşfi akılda tutarak, bir çözüm şöyle görünebilir:

$ sudo chgrp -R sys /mnt/data/dir
$ sudo chgmod -R g+s /mnt/data/dir
$ sudo fsetacl -R -m g:sys:rwx /mnt/data/dir
$ sudo fsetacl -R -d -m g:sys:rwx /mnt/data/dir

ve bunun tadı (ne zaman Linux / FreeBSD / MacOSX / Solaris üzerinde):

$ sudo adduser user sys

Ayrıca bakınız:


Bu yöntemi kullanarak, cd /mnt/data/dir; touch example.txt; ls example.txt ... gösterir ... gösterir -rw-rw----+ 1 user user 3 nov 27 20:16 example.txt. Sonra yürütülüyor mv example.txt ~; ll ~/example.txt... gösterir ... -rw-rw----+ 1 user user 0 nov 27 21:22 /home/user/example.txt, +izinlerin sonunda. Bu yüzden bir çok +kişi birçok yerde görünecek ve böylece insanların bu dosyaların neden özel olduğunu merak etmelerini sağlayacak (sadece belirli bir klasörden kopyalandıkları / taşındıkları için). Bunları +otomatik olarak üretmeyi bırakmanın bir yolu var mı ?
Ganton

2

Sadece exfat veya ntfs kullanmaya çalışabilirsiniz. Benim için bu şekilde çalışıyor. Ama şimdi her dosya izni ile çalışırsa yok. Bence değil.


2

Bu, @ gavenkoa'nın paylaşılan grupları kullanma yaklaşımının küçük bir varyasyonudur ve takılı sürücünün değiştirilmesini içermez.

Takılı sürücüde hangi grup kimliğinin (GID) kullanıldığını kontrol edin.

su
cd /mnt/data/dir  # or wherever it is mounted
ls -l

Aşağıdakine benzer bir şey gördüğünüzü varsayalım:

drwxr-xr-x 3 12588 12000  4096 30.06.2017 11:22 Documents/

Bu 12000, sürücüdeki verilerin geçerli GID'sidir ve veriler grubun herhangi bir kullanıcısı tarafından okunabilir ve yürütülebilir (yine de yazılamaz). Yeni bir grup oluşturun (örneğin. driveusers) Ve mevcut kullanıcınızı yeni gruba ekleyin:

groupadd -g 12000 driveusers
sudo gpasswd -a $USER driveusers  # add the current user to the new group
sudo chmod 770 /mnt/data/dir      # optional, just to ensure the drive mount is accessible to user and group of the drive

1

Bu diğer çözümleri buldum:

/unix/422656/how-to-make-an-ext4-formatted-usb-drive-with-full-rw-permissions-for-any-linux-m/468933#468933

/unix//a/273705

Bununla:

sudo chgrp -R sys /mnt/data/dir
sudo chmod -R g+s /mnt/data/dir
sudo setfacl -R -m g:sys:rwx /mnt/data/dir
sudo setfacl -R -d -m g:sys:rwx /mnt/data/dir

ve bunun tadı:

sudo adduser user sys  

kullanıcı herhangi bir dosyayı okuyabilir / yazabilir /dir.

@jadelord @ gavenkoa Lütfen bugünlerde Ubuntu (veya Fedora) kullanıcıları için önerilen çözümlerinizde yapılabilecek herhangi bir gelişme olduğunu düşünüyor musunuz? Teşekkürler

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.