Synology NAS üzerinde NFS ile kullanıcı kimliği eşleme


20

Bir Synology NAS kutum var (DSM 5.1 çalışıyor) ve bir dizini NFS aracılığıyla dışa aktardım. Ubuntu kutuma monte etmeye çalışıyorum.

Çoğunlukla iyi çalışıyor, ancak kullanıcı ve grup eşlemeleri ile ilgili sorunlar yaşıyorum. Ubuntu kutusunda, 1000 (roger), gid 1000 (roger) uid. Synology'de uid 1026 (roger), grup 100 (kullanıcılar) var.

NFSv3 kullanırsam, sayısal uid / gid değerleri kullanır, bu da sahipliğin Synology'ye bulaştığı anlamına gelir.

Aynı kullanıcıyı kullanarak sadece aynı Ubuntu kutusundan NFS bağlantısına erişebilseydim, bu iyi olurdu, ancak CIFS (SMB) kullanarak dizine bir Windows kutusundan da erişiyorum, yani izinler yanlış.

mount -o nfsvers=4Synology üzerindeki varsayılan ayarlarla NFSv4 ( ) kullanırsam , Synology'ye ait dosyalar Ubuntu kutusundan roger.usersgörüntülendiğinde sahip olunan görünür roger.users. Bu iyi.

Ancak, ben touchbir dosya:

roger@ubuntu$ touch /mounts/diskstation/music/foo

Sonunda 1000.1000Synology'ye aittir nobody.4294967294ve Ubuntu kutusundan bakıldığında sahip olduğu gösterilir .

Synology forumlarında konuyla ilgili bulabildiğim her şey ya 2011'den, NFSv4'ün desteklenmediği ya da aynı soruyu soran ve pes eden insanlardan oluşuyor.

Tamlık için /etc/exports:

/volume1/music  10.0.0.0/24(rw,async,no_wdelay,root_squash,insecure_locks,sec=sys,anonuid=1025,anongid=100)

... ve Ubuntu kutusuna monte ediyorum:

mount -t nfs diskstation:/volume1/music /mounts/diskstation/music/ -o rw,nfsvers=4

sec=sysSorun olabileceğine dair bazı ipuçları buldum : NFSv4 uid / gid eşlemesi neden AUTH_UNIX (AUTH_SYS) ile çalışmıyor , ancak bunun bir çözümü yok.

Bu sorunu aşmanın basit bir yolu var mı? Bunu çözmenin daha karmaşık ( öksürük Kerberos öksürüğü ) yolu var mı?

Cidden, eğer cevap Kerberos ise , o isabeti alacağım, ama üzerinde bir sürü zaman kaybetmeden bilmek istiyorum.

Güncelleme : Synology belgeleri çeşitli Kerberos seçeneklerinden bahsederken, bunları kullanıcı arayüzünde bulamıyorum. Sürüm notları "Kerberos güvenlik lezzet ... uygulandığı halde" durumu. Belirli modellerde bulunmayabileceğini ima eden bir sayfa buldum (ancak tekrar bulamıyorum). Sistem Bilgileri sayfasına göre bir DS211'im var. Belki şanssızım?


ldap sunucusunu ayrı ayrı yapılandırın. Sonra NFS istemcisinde (ubuntu kutunuz), ldap istemcisini yapılandırın. Ayrıca nfs istemci makinesinde (ubuntu) nfs paylaşımlarını (NAS'dan) otomatik olarak saymak için autofs hizmetini yapılandırın. NFS istemcisinde, kullanıcının içeriğine erişmek için ssh kullanıcıları oluşturun
Sathish

@DavidPostill, bu sorudaki [synology] etiketini neden silmeye devam ettiğinizi anlıyorum. Bu soru: hariç olan Synology DiskStation yazılımına özgü - ya da daha doğrusu, ben bu yazılımın genel olarak değil NAS için geçerli olan bir çözüm arıyorum. Bir diskstation etiketi yok ve henüz bir tane oluşturmak için yeterli temsilcim yok.
Roger Lipscombe

Yalnızca bir şirketle ilgili genel etiketlerin kaldırılması gerektiğini, topluluk tartışmasına göre etiketin kaldırıldığını lütfen unutmayın . Bu sitede etiket oluşturmanın yalnızca 300 itibar gerektirdiğini unutmayın; synology-diskstation etiketini oluşturmaktan çekinmeyin .
gparyani

Yanıtlar:


8

NFSv4 Kimlik eşlemesinin düzgün çalışması için hem istemci hem de sunucunun idmapdKimlik Eşleyici arka plan programını çalıştırması ve içinde Domainyapılandırılmış olması gerekir /etc/idmapd.conf.

Bu şekilde NFS İstemciniz kimlik bilgilerini roger@example.comteldeki NFS komutlarında olduğu gibi gönderir ve NFS Sunucusu idmapper'ınız bunu NFS Sunucusu'nda çağrılan bir kullanıcıyla eşler roger. UID ve GID önemli değil, her sistemde idmapper tarafından eşleştiriliyor.

Ancak Synology'mde bununla uğraşmıyorum. Paylaşılan Klasörüm aşağıdaki izinlere sahip:

  • İzinler
    • Yerel Kullanıcılar
      • Yönetici = okuma / yazma
  • NFS İzinleri
    • Kabak
      • Tüm kullanıcıları yönetici ile eşleştir

Bu, anonuid=1024,anongid=100( adminkullanıcı ve usersgrup) /etc/exportsNAS üzerindeki dışa aktarmaya eklenir .

NFS İstemcim (çalışan ID Mapper'a sahip değil) NFS komutlarımı kullanıcı olarak gönderir ( 1000:1000) ve NAS'ta UID ve GID bulunmadığından, UID ve GID'imi çevirir 1024:100. Tam izne sahip yönetici kullanıcı.

Bu, bir iş ortamı için NFS'nin çok profesyonelce ve güvensiz bir şekilde kullanılmasıdır, ancak sadece dosyalarıma evde erişebilmem benim için kabul edilebilir bir NFS davranışının kötüye kullanılmasıdır.

Başka bir seçenek de roger'ın UID ve GID'sini NFS İstemcisi ve NAS'da aynı hale getirmektir , o zaman NFSv4'ü Kimlik Eşleme olmadan kullanabilirsiniz veya daha sonra yalnızca UID ve GID'ye dayanan NFSv3'ü kullanabilirsiniz.


1
Evrende, ev Linux kullanıcıları için NFS'nin bir ağ ortamında tam güvenlik gerektirmeyen makul bir çözümü belgeleyen tek yer olabilir. Ubuntu 19.4 ve DSM 6.2.2 için çalışır.
VanAlbert

1

Aynı problemle gerçekten mücadele ediyorum. Synology'de Docker ile bir Kerberos sunucusu kurmanın büyük acısını yaşadım, kimlik eşlemesini ayarladım ve yine de davranışı beğenmedim. Kerberos çok fazla mühendislik yapılmış ve yeniden başlatmalar ve otomatik sayma üzerinde çalışmaya devam etmek zor. Ayrıca, yeni oluşturulan dosyaların varsayılan umask'ı 0000'dı ve yerel umask'ım ne olursa olsun her yeni dosya 777 modu oluşturuldu.

Benim çözümüm suprjami'ninkine benziyordu, ama biraz daha ileri götürdüm:

  • Synology web kullanıcı arayüzüyle yeni bir kullanıcı oluşturun, buna benzer bir ad verin roger.remote. Bir kullanıcı grubu için de aynısını yapın ve kullanıcı adı ile aynı şekilde adlandırın.
  • Synology'de root olarak, / etc / passwd dosyasını düzenleyin roger.remoteve UID'sini 1000 ve GID'yi 1000 olarak değiştirin
  • / etc / group öğesini düzenleyin ve grubu roger.remote1000 olarak değiştirin
  • Synology web kullanıcı arayüzünde squash'i "yönetilecek tüm kullanıcılar" olarak ayarlayın ve kaydedin
  • Yine root olarak, / etc / export öğesini düzenleyin ve UID / GID değerini anonuid=1000,anongid=1000
  • NFS'yi şununla yeniden başlat: /usr/syno/etc.defaults/rc.sysv/S83nfsd.sh restart
  • Bu da biraz acayip - ama chmod 777 /volume1. Ev dizinim takılıyken birçok garip sorun yaşadım. KDE başlamaz çünkü glibc access()işlevi bağlı NFS dizininde reddedilen erişimi döndürür. (Ancak herhangi bir alt dizin işe yarayacaktır) Firefox da benzer bir soruna sahipti, burada erişim kontrolü nedeniyle dosyaları bağlı dizine kaydetmeyi reddetti. İzinlerin doğru olmasına ve bağlı dizindeki dosyalara dokunabileceğim / yazabileceğim halde. Ana / birim1 dizinini dünya yazılabilir olarak değiştirmek, bu aptal sorunu düzeltti ve istemci uygulamalarının ona yazmasını kandırdı.
  • Tüm dosya sistemi ACL'lerini paylaşımdan kaldırın. Çok sayıda rastgele deneme yoluyla, bu ACL'lerin oluşturulan dosyaların mod maskesinde sorunlara neden olduğunu buldum. Ben bir ACL ustası değilim, bu yüzden belki daha zarif bir çözüm var. Synology'nin kökü olarak yapın synoacltool -del /volume1/myshare. +Ls -l çıkışından sembolün kaldırıldığını görmelisiniz .
  • Paylaşımın sahipliğini yeni kullanıcınızla değiştirin: chown roger.remote:roger.remote /volume1/myshare
  • Modu 755 olarak değiştirin: chmod 755 /volume1/myshare
  • Birimi istemciye bağlayın, izinleri test edin, çalışmalıdır! Bir dosyaya da dokunduğunuzdan ve bash umask'ınızın doğru şekilde uygulandığından emin olun.
$ umask 
0002
$ cd / mnt / myshare
$ dokunma testi
$ ls -l testi
-rw-rw-r-- 1 roger roger 0 Eki 21 18:15 testi

Synology'de şunları görmelisiniz:

# ls -l / volume1 / myshare / test
-rw-rw-r-- 1 roger. uzaktan roger. uzaktan 0 Eki 21 18:15 testi

Zevk almak!

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.