Bir makinede root neden başka bir makineden nfs bağlı içerik değiştiremiyor?


14

NFS sunucumda, aşağıdaki dışa aktarma tanımlandı:

#NFS exports Database
/shared -alldirs -network=192.168.1 -mask=255.255.255.0

NFS istemcimde:

192.168.1.7:/shared /shared nfs rw 0 0

Açıkçası, sunucuda kök olarak istediğimi yapabilirim. Ancak istemcide, benim normal kullanıcı 'gabe' nfs mount (izinleri varsayalım) değişiklikler yapabilir, ancak kök olamaz.

Normal kullanıcı olarak:

gabe@client$ cd /shared
gabe@client$ ls -l
total 8
drwxrwxrwx  4 gabe  wheel   512 Mar 20 19:20 tmp
gabe@client$ cd tmp
gabe@client$ touch test.txt
gabe@client$ rm test.txt

Kök olarak:

# cd /shared/tmp
# touch test.txt
touch: test.txt: Permission denied

Yine, bunların hepsi NFS istemcisi tarafında ve belki de -maproot seçeneğiyle bir ilgisi olduğundan şüpheleniyorum. NFS'yi ilk kez kuruyorum ve bu özelliği fark ettim. Şimdi biraz okuma yapacağım, bunu çözüp çözemeyeceğimi görmek için, ama eğer birisi hakkında bir fikir varsa, bunu takdir ediyorum.

Yanıtlar:


18

NFS, kullanıcı ve grup kimliklerinin ağdaki tüm makinelerde aynı olacağı düşüncesiyle tasarlanmıştır. Sıradan kullanıcılar için bu işe yarıyor. Ancak root'un UID'si her zaman 0'dır ve sadece bir kutuda kökünüz olduğu için, ağdaki her makineye root erişiminizin olması gerektiği anlamına gelmez.

Bu nedenle, NFS kökü özel olarak ele alır. Varsayılan olarak, kök, nobodynormalde yazma erişimi olmayan kullanıcıyla eşlenir . Bu -maprootseçenek, kökün işlenme biçimini değiştirmenize olanak tanır. BSD'ler -maproot=rootLinux no_root_squashseçeneğine karşılık gelir .


Evet kesinlikle. Bu benim sorunumu çözdü. Okuduğum man sayfası, maproot'un tam olarak ne yaptığı konusunda biraz şifreli (ya da benim anlayışım) idi. Teşekkürler!
gabe.

Burada başka bir çaylak. Bir NFS sürücüsünün, -maprootNFS Sunucusuna erişmeden seçeneği kullanmak üzere yapılandırılmış olup olmadığını anlamanın bir yolunu bilip bilmediğinizi merak ediyordum .
John

@John, yorum eklemek yerine yeni bir soru sormanız gereken kadar farklı.
cjm

5

Bu geleneksel NFS uygulamalarında yaygın bir davranıştır. NFS kullanıcı eşlemeleri bağlamdan bağımsız olarak gerçekleştirilir, bu nedenle istemci kökü tarafından yapılan tüm erişimlerin belirli bir kullanıcıya eşlenmesi gerekir (genellikle nobodyvarsayılan olarak). Bu nedenle, istemci kökünün dosyalarınıza doğrudan erişemediği, ancaksu gabe onlara erişebildiği .

(NFS'nin "son" sürümleri, yani NFSv4 ve belki NFSv3, her iki tarafta da desteklenirse akılcı davranışa izin verir, ancak ayrıntıları bilmiyorum.)

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.