NFSv4 üzerine monte edilmiş dosyalar 4294967294, UID ve GID eşleşmesine aittir


23

İki özdeş linux makinem var (ama EC2'de başlatılan görüntülerin aynısı) ve dışa aktarılan bir dizini NFSv4 üzerine yerleştirmeye çalışıyorum. Monte edilmiş dizinin istemci makinede nasıl göründüğü:

root@server:~# ls -l /websites/
drwxr-xr-x  6 4294967294 4294967294   92 2010-01-01 20:21 logs
drwxr-xr-x  2 4294967294 4294967294   20 2009-12-23 01:14 monit.d
...

UID'lerin eşleştiğinden emin olmak için iki kez kontrol ettim.

İşte istemciden çalıştırdığım mount komutu

/sbin/mount.nfs4 $MASTER_DN:/ /websites -o rw,_netdev,async

Ve işte /etc/exportssunucu makinedeki giriş:

/websites 10.0.0.0/8(fsid=0,no_subtree_check,rw,no_root_squash)

rpcidmapd servisi çalışıyor mu? komutları kullanarak onları başlatın. /etc/init.d/rpcidmapd chkconfig rpcidmapd'yi yeniden başlatır

Yanıtlar:


8

Açıklandığı gibi NFS ve ZFS ile UID / GID , NFSv4 UID'leri kullanmaz. Benzer bir sorun yaşıyordum ve NFSv3 kullanarak bu sorunu çözebildim. Bu sadece ekleyerek gerektirir -o vers=3için mountkomuta. Tabii ki, NFSv4 kullanmanız gerekiyorsa, bu yanıt sizin için fazla bir fayda sağlamayacaktır.


7

buradan okuyabilirsiniz http://blather.michaelwlucas.com/archives/796

NFSv4 istemci ve sunucu etki alanı adları eşleşmezse, tüm kullanıcı adları “hiç kimse” olarak görünecektir.

  1. /etc/idmapd.conf dosyasını düzenleyin ve Domain ve server üzerinde istemciyi "localdomain" olarak ayarlayın

    [Genel]

    Etki alanı = yerel etki alanı

    [Çeviri]

    Yöntem = nsswitch

  2. / etc / default / nfs-common dosyasını değiştirin (hem sunucunuzda hem de istemcinizde): NEED_IDMAPD = yes set

  3. idmapd servisini başlat


Benim için bu cevap ("idmapd" den sonra başka bir şey için düştü) yaşadığım sorunu çözdü.
Henk

7

Bu bir kullanıcı kimliği haritalama problemidir. Nedense sistem gerçek hesap kimlikleri yerine "kimse" hesabını kullanıyor. Squashing seçeneklerinizi ve idmapd.conf dosyanızı kontrol edin.

İşte sorunu tartışan buldum, bu da ilgilenilen yazıya, http://www.mail-archive.com/rhelv5-list@redhat.com/msg03303.html adresinden kaynaklanıyor .

FYI, 4294967294, 32 bit işaretli bir tamsayı olarak değerlendirilirse -2'dir. Hiç kimse UID ve nogroup GID için çeşitli Linux dağıtımlarında -1 veya -2 kullanılır (passwd dosyasında en çok 16 bit işaretsiz sayı olan 65535 kullanılır).


Cevap için teşekkürler, David. Gönderimime göre, no_root_squashetkinleştirdim. İdmapd.conf dosyası hakkında daha fazla bilgin var mı?
jberryman

3

Sen (açık / etc / default / nfs ortak dosyasını değiştirmeniz gerekir hem sunucu ve istemci): set NEED_IDMAPDiçin yes.

En azından bu bana yardımcı oldu.


2

Biz NFS seçeneklerini kullanıyor anonuidve anongidsunucu anonim tarafından oluşturulan dosyalar için kullanacağı kullanıcı / grup kimliklerini belirlemek için. Bunlar ayarlanmazsa, "kimse" ve "grup grubu" kullanılacaktır - işletim sistemi sürümüne ve dağıtımına bağlı olarak değişebilir. Yani bir

/websites 10.0.0.0/8 
    (fsid=0,no_subtree_check,rw,no_root_squash,anonuid=1001,anongid=1001)
                                              ^^^^^^^^^^^^^^^^^^^^^^^^^^

numaraya olabilir (1001 sunucunuzda geçerli ve kullanılabilir bir UID / GID olarak).

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.