NFS klasörü için izinler nasıl düzgün bir şekilde ayarlanır? Montaj ucunda izin reddedildi.


46

Dev sunucumdaki bir NFS klasörüne bağlanmaya çalışıyorum. Dev sunucusundaki klasörün sahibi koyu ve grup koyu renktir.

Dışa aktarıp Mac'ime taktığımda Disk Yardımcı Programını kullanarak monte ettiğimde, ancak daha sonra klasörü açmaya çalıştığımda izinleri olmadığını söylüyor. Rw, sync ve no_subtree_check'i ayarladım. Mac'teki kullanıcı bir grup gruba sahip değildir.

Klasöre erişmek için aynı grubun ve kullanıcının ayarlanması gerekir mi?


2
Sorunuz için teşekkürler, bu konu benim için sorunu çözdü! Ancak, lütfen en çok oy alan yanıtı kabul edin.
mamiu

Yanıtlar:


60

NFS, RPC kimlik doğrulamasının üstüne kuruludur. NFS sürüm 3 ile en yaygın kimlik doğrulama mekanizması AUTH_UNIX'tir. Her bir RPC çağrısında istemci sisteminin kullanıcı kimliği ve grup kimliği gönderilir ve bu kimliklerin erişilen dosyadaki izinleri sunucuda kontrol edilir. Bunun çalışması için, UID ve GID'lerin sunucu ve istemcilerde aynı olması gerekir. Ancak, all_squash, anonuid ve anongid verme seçeneklerini birleştirerek tüm erişimi tek bir kullanıcı ve grup olarak gerçekleştirmeye zorlayabilirsiniz. all_squash , tüm UID'leri ve GID'leri adsız kullanıcıya eşler ve anonid ve diğer adlar , adsız kullanıcının UID'sini ve GID'sini belirler. Örneğin, dev sunucunuzdaki UID’niz ve GID’niz her ikisi de 1001 ise, giriş dizininizi

/home/darren 192.168.1.1/24(rw,all_squash,anonuid=1001,anongid=1001)

NFS sürüm 4 ile daha az aşinayım, ancak istemcilere sunucuya gönderdikleri kullanıcı adını ve gidini değiştirmek için rpc.idmapd dosyasını ayarlayabileceğinizi düşünüyorum.


7
Apple OS X Yosemite nfs sorununu çözmeye çalışırken bu cevaba rastladım. Bu cevap, kabul edilen cevaptan çok daha alakalı ve doğrudur. Tavsiye edilmez ve UID / GID'yi sistemler arasında eşleştirmek mümkün değildir. A sistemindeki kök kullanıcı muhtemelen B sistemindeki kök kullanıcı değildir
Allan

28

NFS'yi bağladığınızda, beraberinde taktığınız izinleriniz sunucudakiler ile aynı olmalıdır. Örneğin, kullanıcı sadece salt okunur erişime sahipse, onu okuma-yazma ile monte etmek, montajı gerçekten yüklemeye çalıştığınızda gönderinizde bahsettiğiniz aynı hataları görmenize neden olacaktır. Ne yazık ki, bu SADECE klasöre erişirken görünecektir, gerçekte bağladığınızda değil.

Ayrıca NFS kullanıcısının sunucuda olduğu gibi çalıştığından ve istemcideki kullanıcının da aynı UID ve GID'yi kullandığından emin olmak istersiniz. Bu değerleri id darrenhem sunucuda hem de istemcide çalıştırarak kontrol edebilirsiniz . UID ve GID değerleri eşleşmezse, bunu düzeltmek /etc/passwdiçin düzenleyebilirsiniz - ancak değerleri keyfi bir şekilde değiştirmeden önce ne yaptığınızı anladığınızdan emin olun!

Bazı iyi kaynaklar:

Umarım bu yardımcı olur!


Evet, UID'yi değiştirmeye çalışmamalıydım, şimdi sunucumu yeniden yapmak zorundayım. Kişi UID ve GID'yi nasıl taklit eder? Gerçekten bu kadar karmaşık mı?
Darren,

Ne yazık ki, bunu işyerinde kullanma tecrübeme göre, NFS son derece kırılgan ve evet - bu karmaşık olabilir. Genellikle, bu sorunla karşılaşmamanız için her sunucuda / istemcide belirli bir UID / GID'ye sahip özel bir NFS kullanıcısı istersiniz. Eğer dev ortamınızda bir seçiminiz varsa (yani, NFS kullanmak zorunda DEĞİLDİR), SSHFS gibi bir şey kullanmak, baş ağrılarınızdan uzaklaşmanıza neden olacaktır - NFS.
Andrew M.,

Samba'nın başka bir çözüm olduğunu düşünüyor musunuz? Sorunsuz bir şekilde Windows'la kullandım ve uygulamamı geliştirmek için bir Mac kullanıyor olmama rağmen gitmem gerekeceğini düşünüyorum.
Darren,

Kurmaya istekliysen, bu kesinlikle başka bir olasılık.
Andrew M.,

2
NFS'nin kırılgan olduğunu söylemekte tereddüt ederim. Uzun zamandır kurulmuş bir dosya servis protokolüdür. NFS için gerçekten sadece iki gereksinim var: istemciler arasında senkronize UID / GID ve istemciler ile sunucu arasında senkronize zaman. Geleneksel olarak, NIS kullanıcı bilgilerini senkronize etmek için kullanılmıştır, ancak LDAP son on yılda yeni dağıtımlar için daha güvenli bir seçimdir.
Jeff Strunk

2

UID’leriniz ve GID’leriniz her iki sunucuda aynı mı? Giriş ve grup adını değil, erişimi kontrol etmek için kullanıyor.


-2

Benim için sorun _netdevmüşteriye montaj seçeneği sağlayarak düzeltildi .

Yani şunu ekleyelim /etc/fstab:

nfs-server:/   /mnt   nfs4    _netdev,auto  0  0
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.