2012-10-28 11 views
8

W zeszłym tygodniu korzystałem z RPC i mogłem uruchomić mój program serwera RPC. Jednak dzisiaj próbowałem uruchomić go ponownie i otrzymuję ten błąd:Błąd uwierzytelniania RPC

Cannot register service: RPC: Authentication error; why = Client credential too weak unable to register (X_PROG, X_VERS, udp)

Czy ktoś może mi powiedzieć, co jest przyczyną tego błędu może być?

rpcinfo daje mi to:

program version netid  address    service owner 
    100000 4 tcp6  ::.0.111    portmapper superuser 
    100000 3 tcp6  ::.0.111    portmapper superuser 
    100000 4 udp6  ::.0.111    portmapper superuser 
    100000 3 udp6  ::.0.111    portmapper superuser 
    100000 4 tcp  0.0.0.0.0.111   portmapper superuser 
    100000 3 tcp  0.0.0.0.0.111   portmapper superuser 
    100000 2 tcp  0.0.0.0.0.111   portmapper superuser 
    100000 4 udp  0.0.0.0.0.111   portmapper superuser 
    100000 3 udp  0.0.0.0.0.111   portmapper superuser 
    100000 2 udp  0.0.0.0.0.111   portmapper superuser 
    100000 4 local  /run/rpcbind.sock  portmapper superuser 
    100000 3 local  /run/rpcbind.sock  portmapper superuser 

Najdziwniejsze jest to, że nawet nie było za pomocą tego komputera miniony tydzień. Czy są jakieś usługi, które powinny być uruchomione?

Mam nadzieję, że możesz mi pomóc. Grtz Stefan

Odpowiedz

13

ten błąd jest związany z rpcbind, więc należy zatrzymać portmap usług takiego:

sudo -i service portmap stop 

następnie

sudo -i rpcbind -i -w 

na koniec służby początek portmap:

sudo -i service portmap start 
+1

Warto wspomnieć o tym, że tryb "jest niezabezpieczony", a zatem pozwala dowolnemu hostowi na tworzenie wywołań RPC dla zarejestrowanych programów. (Z podręcznika: "Normalnie program rpcbind akceptuje te żądania tylko z interfejsu pętli zwrotnej ze względów bezpieczeństwa. Ta zmiana jest konieczna w przypadku programów skompilowanych z wcześniejszymi wersjami biblioteki rpc i nie wykonujących tych żądań za pomocą interfejsu pętli zwrotnej.") – eregon

3

Wprowadzanie zmian jest trwałe w systemie Ubuntu12.04 (zakładając implikacje bezpieczeństwa prowadzenia rpcbind z -I są nieistotne):

echo 'OPTIONS="-w -i"' | sudo tee /etc/default/rpcbind 
sudo service portmap restart 
0

Żaden z przedstawionych tu rozwiązań dotychczas pracował dla mnie na Debian Squeeze do wheezy uaktualnienia.

W moim przypadku jedyną rzeczą, którą musiałem zrobić, to zastąpić wszystkie wystąpienia "portmapper" (lub "portmap", nie bardziej pewne) w /etc/hosts.allow z "rpcbind". To było wszystko. (W przeciwnym razie ypbind nie może połączyć się z rpcbind przez localhost.)

2

Zdaję sobie sprawę, że jest to starszy wątek, ale Google znajduje go wśród 3 najlepszych wyników, a ludzie wciąż odkrywają błąd usługi nfs. Nawet naprawa RHN Red Hata nie zadziałała.

Od grudnia 2013 r. W wersji 6.4 (x64) RHEL, i załatany od listopada 2013 r. Jedynym rozwiązaniem było zmienienie uprawnień do plików konfiguracyjnych tcp_wrapper. Ponieważ dość mocno zabezpieczyliśmy skrzynkę, mieliśmy uprawnienia 640 na /etc/hosts.allow i /etc/hosts.deny, obie należące do root: root. Staraliśmy się, aby te pliki miały inną własność grupową, nic nie korygowało problemu, gdy nfs zaczął.

Gdy stawiamy perms z powrotem do "out-of-the-box" (644) NFS (rquotad) usługa rozpoczęła się zgodnie z oczekiwaniami. Lub jeśli przenieśliśmy hosts.allow/zaprzeczyć całkowicie.

Co za ból, który był do rozszyfrowania. Dzienniki selinux mogły pomóc, gdybym spojrzał wcześniej.

Teraz gdybyśmy zostawili SELinux w trybie wymuszania może to nie był problem. Nadal muszę przetestować tę teorię.

Powodzenia.

0

Dzieje się tak również wtedy, iptables jest używany i jest blokowanie połączeń UDP localhost. Wpadłem dziś na to. Zatrzymane iptables, połączenia zaczęły działać.

Musisz ustalić zasady, które je zepsuły.

0

myślę, że warto wspomnieć, że jeśli widzisz błędy takie jak:

0-rpc-service: Could not register with portmap 

może to być związane z plików hosts.allow i ustawić hosts.deny i brakuje uprawnienia dla localhost w pliku hosts.allow .

Miałem tego rodzaju problem z ustawianiem NFS z GlusterFS.

W moim pliku /etc/hosts.allow Dodałem:

ALL: 127.0.0.1 : ALLOW 

i problem z rejestracji usługi z portmap odszedł i wszystko działa.

Uwaga: z GlusterFS pamiętać, aby ponownie uruchomić usługę glusterd

/etc/init.d/glusterd restart 
0

ja otrzymywał błąd jak tak dalej rhel7:

ypserv: Cannot register service: RPC: Authentication error; why = Client credential too weak 

podczas uruchamiania ypbind. Próbowałem wszystkiego powyżej, łącznie z '-i' do rpcbind. W końcu, jak wspomniał XTaran, modyfikując /etc/hosts. Pozwól na dodanie tej linii:

rpcbind: 127.0.0.1 

pracował dla mnie.

0

Jeszcze inne rozwiązanie: CentOS 7.3 edycja

Oprócz rpcbind, miałem również umożliwienie mountd w /etc/hosts.allow:

rpcbind : ALL : allow 
mountd : ALL : allow 

To w końcu pozwolił mi nie tylko wykonaj rpcinfo, ale pokaż także i zamontuj.