[+] RPC Error: Program not registered

Masz problemy z siecią bądź internetem? Zapytaj tu
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

[+] RPC Error: Program not registered

Post autor: lis6502 »

Doinstalowałem pakiety nfs-common, wujek google poradził aby modyfikować hosts.allow, niestety

Kod: Zaznacz cały

lis6502@Nexus:~$ sudo mount 160.64.0.1:/home /mnt
mount.nfs: mount to NFS server '160.64.0.1:/home' failed: RPC Error: Program not registered
lis6502@Nexus:~$ cat /etc/hosts.allow
# /etc/hosts.allow: list of hosts that are allowed to access the system.
#                   See the manual pages hosts_access(5), hosts_options(5)
#                   and /usr/doc/netbase/portmapper.txt.gz
#
# Example:    ALL: LOCAL @some_netgroup
#             ALL: .foobar.edu EXCEPT terminalserver.foobar.edu
#
# If you're going to protect the portmapper use the name "portmap" for the
# daemon name. Remember that you can only use the keyword "ALL" and IP
# addresses (NOT host or domain names) for the portmapper, as well as for
# rpc.mountd (the NFS mount daemon). See portmap(8), rpc.mountd(8) and
# /usr/share/doc/portmap/portmapper.txt.gz for further information.
#
ALL : allow

Oczywiście to ALL jest tylko testowo, jak zabangla to ustawię tak jak powinno być ^^.
Raffaello22
Posty: 88
Rejestracja: 06 lutego 2008, 15:17

Post autor: Raffaello22 »

A na hoście 160.64.0.1 katalog home jest udostępniony w /etc/exports?

Pozdrawiam.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Zacznijmy od tego, że nie mam czegoś takiego jak ,,exports'':

Kod: Zaznacz cały

Nexus lis6502 # ls -l /etc/exports
ls: nie ma dostępu do /etc/exports: Nie ma takiego pliku ani katalogu
Nexus lis6502 # ls -l /etc/expo*
ls: nie ma dostępu do /etc/expo*: Nie ma takiego pliku ani katalogu
Ten plik przychodzi z jakimś pakietem czy trzeba go ręcznie utworzyć poleceniem ,,touch''?
Raffaello22
Posty: 88
Rejestracja: 06 lutego 2008, 15:17

Post autor: Raffaello22 »

Mam nadzieje że to Ci pomoże. Zrobiłem sobie kiedyś coś takiego dla własnego użytku dlatego też jak moje to nie robię przypisu :)
Było to bodajże dla Sarge albo Etcha wiec nie wiem czy wszystko się będzie zgadzać.
NFS

Na maszynie, która ma być serwerem plików instalujemy:

Kod: Zaznacz cały

apt-get install nfs-common
apt-get install nfs-kernel-server
Konfiguracja NFS-a sprowadza się, do edytowania pliku exports:

Kod: Zaznacz cały

vi /etc/exports

W pliku tym wskazujemy katalogi, które chcemy udostępnić, komu chcemy je udostępnić oraz z jakimi prawami.

Kod: Zaznacz cały

/home 		192.168.1.0/255.255.255.0(rw)
Co oznacza udostępnij katalog home dla sieci 192.168.1.0/24.
Inaczej mówiąc katalog ten będą mogły, podmontować (bo o to nam tutaj chodzi) na swój system lokalny. Komputery, które znajdują się w tej sieci.
Litery rw w nawiasach oznaczają, że katalog ten będzie do odczytu oraz będzie również w nim możliwość zapisu.

Kod: Zaznacz cały

/var/log 	192.168.1.220/255.255.255.255(ro)
Udostępnienie katalogu /var/log dla komputera o adresie IP 192.168.1.220 z prawami tylko do odczytu tego katalogu.

W pliku /etc/exports możemy również posługiwać się zamiast adresami IP nazwami hosta. Ważne jest jednak żeby NFS „wiedział”, co kryje się pod daną nazwą.
Nazwa ta musi być rozwinięta na adres ip w pliku /etc/hosts.

Kod: Zaznacz cały

/home/rafal	rafal(rw)
Hostowi o nazwie rafal udostępnij katalog /home/rafal z możliwością odczytu i zapisu.

Kod: Zaznacz cały

/home/rafal 	Rafal(rw)  Marcin(rw,no_root_squash)
Komputer o nazwie hosta Rafal otrzyma prawo zapisu i prawo odczytu do katalogu /home/rafal. Komputer o nazwie hosta Marcin otrzyma również prawo odczytu i zapisu oraz nazwa użytkownika root nie będzie mapowana (no_root_squash).
Standardowo użytkownikowi root, który ma konto na serwerze przypisywany jest (mapowany) UID użytkownika nfsnobody, dzięki czemu użytkownik root na komputerze lokalnym ma ograniczone prawa do katalogów na serwerze gdyż działa z prawami użytkownika, nfnobody, które są minimalne.

Demon NFS na podstawie numeru użytkownika UID oraz numeru grupy GID stwierdza czy użytkownik może uzyskać dostęp do zasobu. Jeżeli np. na komputerze, który chce uzyskać dostęp do zasobu serwera istnieje użytkownik Rafal o identyfikatorze 1010 i na serwerze istnieje użytkownik o tym samym numerze UID to uzyska on dostęp do zasobu.
Przykład:

Kod: Zaznacz cały

komputer_lokalny------------------serwer
Rafał UID: 1020                          Mariusz UID: 1020
Mimo że nazwy użytkowników są inne to zgadzają się numery UID.
W takim przypadku użytkownik Rafal uzyska dostęp do zasobu na serwerze, którego właścicielem jest Mariusz.

Najważniejsze opcje, jakie możemy użyć w pliku /etc/exports rw (domyślna) - katalog będzie zarówno do odczytu jak i zapisu.
ro - katalog będzie tylko do odczytu.
insecure - do katalogu będzie miał dostęp każdy komputer. Nawet te które nie używają bezpiecznego portu < 1024.
root_squash (domyślna) - zamienia żądania, które przychodzą od użytkownika z
UID lub GID o numerze 0 na identyfikator anonimowego użytkownika.
no_root_squash - nie zamienia żądań z UID lub GID o numerze 0 na żądania od anonimowych użytkowników dzięki czemu użytkownik z prawami administratora na komputerze lokalnym będzie miał prawa do wszystkich katalogów na serwerze.

Konfiguracja klienta:

Po udostępnieniu katalogu na serwerze należy go jeszcze zamontować w systemie klienta. Jednak na samym początku na kliencie również musimy zainstalować protokół NFS.Możemy to uzyskać na dwa sposoby. Montując katalog za pomocą polecenia mount.

Kod: Zaznacz cały

mount -t nfs 192.168.1.100:/home /home
Gdzie:
192.168.1.100:/home - katalog home który został udostępniony
na serwerze NFS.

/home - lokalny katalog home.

Jednak po zrestartowaniu komputera nie będzie on już zamontowany. Lepszym sposobem jest zamontowanie go na stałe wpisując do pliku /etc/fstab poniższa linijkę.

Kod: Zaznacz cały

192.168.1.102:/home		 /home		 nfs 	rw,hard,tcp		0 	0
Składnia w pliku export wygląda następująco:

Kod: Zaznacz cały

katalog_ktory_chcemy_udostępnić      nazwa_komputera_lub_IP(Opcję)
Jeżeli liczba opcji jest większa niż jedną podajemy je po przecinku.

Szczegółowe informacje na temat wszystkich dostępnych opcji:

Kod: Zaznacz cały

man exports
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Na Twoim miejscu wpakowałbym to do ,,how to''. Nie wpadłem na to, żeby postawić paczkę nfs-kernel-server, dzięki Twojemu opisowi udało się. Dzięki wielkie. Od siebie jeszcze dorzucę, że każda zamiania pliku /etc/exports (który jest częścią paczki nfs-kernel-server) musi być zakończona przekręceniem serwera nfs poleceniem

Kod: Zaznacz cały

Nexus init.d # ./nfs-kernel-server restart
Wiadomo o co chodzi.
Raffaello22
Posty: 88
Rejestracja: 06 lutego 2008, 15:17

Post autor: Raffaello22 »

Można by to przykleić u góry z tym, że to już chyba musi Admnistrator. Ale na razie to muszę to dopracować napisane już to było jakiś czas temu więc muszę to trochę poprawić jeszcze :)

Pozdrawiam.
Awatar użytkownika
lis6502
Member
Posty: 1798
Rejestracja: 05 listopada 2008, 20:14
Lokalizacja: Miasto Szybowców

Post autor: lis6502 »

Procedura jest mniej więcej taka, że udajesz się do tego działu, zakładasz temat i zgłaszasz moderatorowi do przejrzenia (pod kątem gramatyki i ortografii niezawodny jest fnmirk). To co do wpisania ma użytkownik zamykasz w tagach

Kod: Zaznacz cały

[code]
[/code]nazwy programów pogrubiasz i to chyba tyle. Po przejrzeniu temat jest zamykany, a Ty możesz sobie ustawić na opisie w komunikatorze że miałeś jakiś wkład w pomoc społeczności Debiana.
Raffaello22
Posty: 88
Rejestracja: 06 lutego 2008, 15:17

Post autor: Raffaello22 »

Poprawie to jeszcze dzisiaj albo jutro, dorzuce do tego rysunek który mam i udam się do tego działu :)
Pozdrawiam
ODPOWIEDZ