NFS sdílení pro konkrétního uživatele

Neo

NFS sdílení pro konkrétního uživatele
« kdy: 09. 06. 2016, 11:12:41 »
Ahoj,

potřebuji rozchodit sdílení adresáře /var/www z webserveru pro uživatele v jiném pc s právy zápisu. Moje situace:

Server: Debian 8 - minimal instalace - pouze webserver Apache, Open SSH a NFS (nainstalováno: nfs-kernel-server)

IP adresa serveru: 192.168.1.101

složka /var/www (práva root - root drwxr-xr-x)

nastavení nfs /etc/exports: /var/www 192.168.1.100(rw,root_squash,subtree_check)

Klient: Ubuntu 16.04 - NFS (nainstalováno: nfs-common)

IP adresa klienta: 192.168.1.100

potřebuji připojit sdílení do složky /mnt/webserver (práva: root - root drwxr-xr-x)

Zde mám uživatele: Karel, který je ve skupině sudo a chci aby mohl do složky /mnt/webserver zapisovat bez nutnosti zadávat před příkaz sudo

Pokud sdílení připojím

Kód: [Vybrat]
sudo mount 192.168.1.101:/var/www /mnt/webserver - připojí se, ale nejde zapisovat.

Pokud to samé udělám po změně v /etc/exports (root_squash => no_root_squash) připojí se a lze po zadání sudo před příkaz zapisovat, ale já potřebuji aby to fungovalo i bez sudo přímo pro uživatele Karel.

Nevím zda změnit práva k adresářům nebo jinak nastavit sdílení v /etc/exports?

Předem díky za rady


trubicoid2

Re:NFS sdílení pro konkrétního uživatele
« Odpověď #1 kdy: 09. 06. 2016, 12:02:12 »
u nfs byla otrava, ze klient a server museli mit stejne uid u uzivatelu, asi tedy i gid u skupin, mas to tak?

tedy treba karel musi mit uid 1000 na obou, stejne asi u skupin jako je sudo atd.

Lol Phirae

Re:NFS sdílení pro konkrétního uživatele
« Odpověď #2 kdy: 09. 06. 2016, 12:27:23 »
Bez NFSv4.x je bezpečnost nula a vojeb takový, že na NFS naprosto zapomeň. Použij SMB, SSHFS nebo cokoliv jiného. NFS se hodí opravdu tak leda na PXE boot.

Fantomas

Re:NFS sdílení pro konkrétního uživatele
« Odpověď #3 kdy: 09. 06. 2016, 12:37:27 »
Bez NFSv4.x je bezpečnost nula a vojeb takový, že na NFS naprosto zapomeň. Použij SMB, SSHFS nebo cokoliv jiného. NFS se hodí opravdu tak leda na PXE boot.
Presne, pro jednoduche sdileni je lepsi smb.

Pavouk106

  • *****
  • 2 400
    • Zobrazit profil
    • Můj blog
    • E-mail
Re:NFS sdílení pro konkrétního uživatele
« Odpověď #4 kdy: 09. 06. 2016, 14:06:53 »
Mě doma jede z NFS desktop. Má jen systémový disk, /home je na NFS. Na gigabitový síti se akorát dostávám k rychlost disků, nepoznám rozdíl. Ale stálo mě nějaký úsilí dostat to do tohohle stavu. Jedu NFSv3 jen lokálně pro jednu IP adresu. UID a GID musí být stejné (to pro mě není problém).

Když se připojuju k tomu PC (kdeje uložene /home) z jinýho, používám SSHFS.

Doma nemám Windows počítače (takže SMB je pro mě zbytečná).

Pro tazatele: Pokud chceš zapisovat do složky, musíš mít na kompu, ze kterýho budeš zapisovat, stejný UID nebo GID jako ta složka. Pokud GID, tak navíc musí ta skupina mít práva pro zápis. Jestli to děláš doma na koleni, asi bych změnil vlastníka (resp. jen skupinu) složky a srovnal to s mojí vlastní skupinou (GID). Nebo to neřešit přes NFS, jak píšou jiní.


ZAJDAN

  • *****
  • 2 092
    • Zobrazit profil
    • E-mail
Re:NFS sdílení pro konkrétního uživatele
« Odpověď #5 kdy: 09. 06. 2016, 14:33:58 »
samba umí být pěkně pomalá a je to opravdu vhodné, jen když jsou v síti wokna
NFS umí švihat pěkně rychle a opravdu stačí na obou stranách dodržet stejné UID/GID


useradd -u 999 nfs-user
nebo i se skupinou
useradd -u 1000 -g 500 nfs-user
« Poslední změna: 09. 06. 2016, 14:37:31 od ZAJDAN »
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Lol Phirae

Re:NFS sdílení pro konkrétního uživatele
« Odpověď #6 kdy: 09. 06. 2016, 15:21:00 »
a opravdu stačí na obou stranách dodržet stejné UID/GID

Ano, to je báječné zabezpečení. Klient: Hele, já jsem Karel. Server: No a jak ti mám věřit? Klient: No, mám přece UID 1000, tak musím bejt Karel. Server: Tak jo, já ti věřím, smaž si tady, co chceš.

O chvíli později: Karle, do (_|_) kam zmizel ten web?!

Re:NFS sdílení pro konkrétního uživatele
« Odpověď #7 kdy: 09. 06. 2016, 15:22:13 »
Je na tom serveru zapnute/povolene ACL?
Zkusil bych (snad je to spravne a dostatecne): setfacl -Rdm u:Karel:r /var/www/
Pak by uz na serveru mel mit user Karel cteci pristup do vseho pod /var/www (vcetne vseho co tam od ted vznikne), takze by ho mozna mohl mit i pres nfs.
Nemam vyzkouseno. Muze se stat i ze to sice funguje, ale nedostane se do podadresaru. Pak by mohlo pomoct setfacl -Rdm u:Karel:r-X /var/www/
(velke X ma znamenat ze acl povoli execute jenom tam, kde je jinak povolene pro vlastnika)

ZAJDAN

  • *****
  • 2 092
    • Zobrazit profil
    • E-mail
« Poslední změna: 09. 06. 2016, 15:56:09 od ZAJDAN »
Vesele, vesele do továrny dělník běží...vesele, vesele do továrny jde. Vesele se usmívá když mu soustruh zazpívá...vesele, vesele do továrny jde. Vesele si poskočí když se soustruh roztočí ...vesele, vesele do továrny jde.

Re:NFS sdílení pro konkrétního uživatele
« Odpověď #9 kdy: 09. 06. 2016, 16:59:46 »
NFS je na rozdíl od Samby víceuživatelské, tj. do lokálního adresáře se připojí celý vzdálený disk nebo adresář, a v lokálním umístění pak uživatelé vidí (a aplikují se) ta stejná uživatelská práva, jako na vzdáleném serveru. Takže když třeba vzdálený disk připojíte do adresáře /mnt/webserver, můžou do toho adresáři všichni uživatelé lokálního počítače, a každý tam bude pracovat se svým oprávněním. To je rozdíl oproti Sambě, tam si uživatel připojí pod svým jménem a heslem svůj vzdálený disk, a když chce někdo na tom samém počítači pracovat se stejným vzdáleným diskem, musí si ho připojit znovu pod svým účtem – Samba je z pohledu klienta jednouživatelská.

V případě NFS to ale samozřejmě znamená, že server musí něco vědět o klientských účtech (kdyby si mohl kdokoli připojit vzdálený disk přes NFS, prohlásil by o sobě „já jsem Karel“ a server mu to zbaštil, nebylo by to moc bezpečné). Ve starších verzích protokolu to vyžadovalo, aby na serveru i klientovi měli uživatelé stejná ID, později přibyla možnost mapování jmen – v obou případech to musel root nastavit, že to takhle opravdu souhlasí a že server může ID nebo jménům z daného klienta důvěřovat. V NFS verze 4 už je to o něco menší otrava, zejména pokud používáte pro ověřování uživatelů Kerberos, mělo by být zprovoznění relativně jednoduché. Nejlepší je najít si návod pro vaši konkrétní distribuci.

hugochavez

Re:NFS sdílení pro konkrétního uživatele
« Odpověď #10 kdy: 09. 06. 2016, 17:36:51 »
samba umí být pěkně pomalá a je to opravdu vhodné, jen když jsou v síti wokna
NFS umí švihat pěkně rychle a opravdu stačí na obou stranách dodržet stejné UID/GID

"Samba is single threaded, so CPU speed makes a big difference in CIFS performance. Your typical 2.5Ghz Intel quad core or greater should be capable to handle speeds in excess of Gb LAN while low power CPUs such as Intel Atoms and AMD C-30sE-350E-450 will not be able to achieve more than about 30-40MB/sec typically."
http://doc.freenas.org/9.3/freenas_services.html#troubleshooting-cifs

NFS je vyhodne ve vlastnim LANu, pri startu PC se mi namapujou serverovy adresare pro Syncthing, BTsync, FTP dataset, torrent-download-folder atd. Jak uz bylo zmineno, je potreba osetrit pristupovy prava aby se dalo lokalne mazat/prepisovat "vzdaleny" obsah.