Linux - Belirli kullanıcı haklarına sahip cihazı takın


87

Başlangıçta belirli kullanıcı haklarına sahip bir cihazı nasıl monte edebilirim? Hala çözmekte bazı problemlerim var. Beraber ayrımı monte etmek istiyorum uid=1000ve gid=1000. Şu anki /etc/fstab/dosyaya girişim şöyle görünüyor:

dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000

GUI = 1000'i unutma. Ayrıca, / var / www mülkiyeti / hakları nedir. Kök sahibi olmalı.
30'da skub

1
@ skub: 'nin sahibi root'tur /var/www/. dev /var/www vboxsf rw, suid, dev, exec, auto, nouser, async, uid=1000 gui=1000çok iyi çalışmadı (Ubuntu başarısız bir yeniden başlatmanın ardından girişi kaldırdı).
Wowpatrick

2
Bağlama kaynağınız "dev" ??
James T Snell

@wowpatrick - mount cihazınız / dev / sda1 gibi bir şey olmalı, 'dev' olmamalı.
skub

1
@ skub: Bu bir VirtualBox paylaşımlı klasörü, yani / dev haklı. Ben şimdi anladım, iyi sudo mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/wwwçalışıyor.
Wowpatrick

Yanıtlar:


119

Belirli haklara sahip bir cihazı monte etmek için, cihazı monte -o Optionederken yönergeyi kullanabilirsiniz . Tanımladığınız cihazı monte etmek için aşağıdakileri çalıştırın:

 mount -t deviceFileFormat -o umask=filePermissions,gid=ownerGroupID,uid=ownerID /device /mountpoint

Örneğin, bir VirtualBox paylaşılan klasörünün sahibiyle /var/wwwolduğu www-datagibi monte edilmesi şöyle görünür:

mount -t vboxsf -o umask=0022,gid=33,uid=33 dev /var/www

Aygıtı başlangıçta takmak istiyorsanız, aşağıdaki girişi /etc/fstabdosyanıza ekleyebilirsiniz :

 /device /mountpoint deviceFileFormat umask=filePermissions,gid=ownerGroupID,uid=ownerUserID

Yine aynı örnekte, /etc/fstabdosyaya giriş şöyle görünür:

dev /var/www vboxsf umask=0022,gid=33,uid=33

Belirli bir kullanıcı olarak montajı desteklemeyen dosya sistemlerinde (ext4 gibi) yukarıdakiler hata verir

Unrecognized mount option "uid=33" or missing value

ext4 mountun sahibini değiştirmek için

chown username /mountpoint

monte edildikten sonra.


Ext4'te uid / gid seçeneğini kullanabildim.
CMCDragonkai

Bu mount --bind ile çalışmıyor gibi görünüyor, btrfs dosya sistemi kullanıyorum
meffect

Umask umask=0077, umask=0022sadece sahibinin okuma veya yazma izni vermesine izin vermemeli midir? Doğru umask=0022okuduğumda, başkalarına okuma izni verecek gibi görünüyor . Yalnızca diski monte eden kullanıcının okuma veya yazma izninin olması gerektiğini istiyorum.
Mian Asbat Ahmad,

3

Ext3 veya ext4 gibi bir dosya sistemi için, yaptıktan sonra

    chown -R username:group /mountpoint

mevcut dosyaların sahibini değiştirmek için grup kimliği bitini, belirli grupla oluşturulmuş yeni dosyalara sahip olacak şekilde ayarlayabilirsiniz (Linux altında kullanıcı kimliği için çalışmaz):

    find /mountpoint -type d -exec chmod g+ws {} \;

Setuid ve setgid'deki Wikipedia yazısı oldukça bilgilendirici, dizinlerle ilgili bölüme bakınız .


17
Cihazdaki tüm dosyaların sahipliğini değiştirmek çok istilacıdır. -oMount için bir seçenek olduğundan, daha iyi bir yoldur.
Sınırlı Kefaret

6
-o@wowpatrick tarafından yanıtta açıklandığı gibi ne yazık ki ext4 için çalışmıyor.
js.

13
chownmonte edilen sürücünün içeriğini başka bir kullanıcıya vermek çok saçmadır. Bu sürücüdeki herhangi bir uygulama için neyi kırabileceğinize dair hiçbir fikriniz yok. Tüm içeriğin kullanıcılara ait olması iyi olabilir, ancak bu çok büyük bir hayır-hayır ...
carlspring

Söz konusu cihaz / dev / www, hangi uygulamaların kendisine erişebileceğini kontrol etmek kolaydır (muhtemelen sadece işletim sırasında kapatabileceğiniz bir WWW sunucusu). Kullanan uygulama hala çalışıyor olsa bile, çalışmanın amacı bu olduğundan çalışmaya devam eder.
js.
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.