Fórum Root.cz
Hlavní témata => Server => Téma založeno: Neo 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
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
-
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.
-
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.
-
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.
-
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í.
-
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
-
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?!
-
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)
-
Securing NFS
https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/3/html/Reference_Guide/s1-nfs-security.html
http://www.tldp.org/HOWTO/NFS-HOWTO/security.html
-
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.
-
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.