2012-10-28 3 views
8

지난 주에 RPC를 사용하여 RPC 서버 프로그램을 올바르게 실행할 수있었습니다. 그러나 오늘 나는 다시 시작하려고 노력했고이 오류가 발생했습니다 :RPC 인증 오류

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

이 오류의 원인은 누구에게 말해 줄 수 있습니까?

있는 rpcinfo이 나에게주는이 :

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 

이상한 것은 내가 심지어 지난 주이 PC를 사용하지 않은 것입니다. 실행해야하는 서비스가 있습니까?

희망을 보내주세요. Grtz 스테판

답변

13

이 오류가 rpcbind에 대한 연결되어 있습니다, 그래서 당신은이 같은 서비스 포트 맵을 중지해야 : 최종 시작 서비스 포트 맵에서 다음

sudo -i rpcbind -i -w 

sudo -i service portmap stop 

:

sudo -i service portmap start 
+1

-i가 "안전하지 않은"모드이므로 모든 호스트가 등록 된 프로그램에 대해 RPC를 수행 할 수 있습니다. (매뉴얼에서 "일반적으로 rpcbind는 보안상의 이유로 루프백 인터페이스에서만 이러한 요청을 허용합니다.이 변경은 이전 버전의 rpc 라이브러리로 컴파일 된 프로그램에 필요하며 루프백 인터페이스를 사용하여 요청하지 않습니다.") – eregon

3

Ubuntu12.04에서 변경 사항을 영구히 유지 (-i와 rpcbind를 실행의 가정 보안 문제는 관련이없는) : 여기에 제시된 솔루션의

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

아무도 지금까지 위지 업그레이드에 데비안 짜기에 나를 위해 일하지 않는다.

내 경우에는 "portmapper"(또는 "portmap", 더 확실하지 않음)의 모든 항목을 /etc/hosts.allow에서 "rpcbind"로 바꾸는 것이 유일한 작업이었습니다. 그게 전부였다. (그렇지 않으면 ypbind가 로컬 호스트를 통해 rpcbind에 연결할 수 없습니다.)

2

Google은이 정보가 오래된 스레드라는 것을 알고 있지만 Google은 상위 3 개 결과 중 하나를 발견하고 사람들은 여전히 ​​nfs 서비스 오류를 발견하고 있습니다. Red Hat의 RHN 수정본도 작동하지 않았습니다.

2013 년 12 월 RHEL 6.4 (x64)에서 2013 년 11 월까지 패치되었으며, 유일한 해결책은 tcp_wrapper 구성 파일에 대한 사용 권한을 변경하는 것이 었습니다. 우리가 상자를 꽤 많이 확보했기 때문에, 우리는 /etc/hosts.allow와 /etc/hosts.deny에 대해 root 권한으로 root 권한을 가진 640 권한을 가지고있었습니다. 우리는이 파일들을 다른 그룹 소유권으로 보았습니다. nfs가 시작될 때 문제를 해결하지 않았습니다.

perms를 "out-of-the-box"(644)로 되 돌리면 nfs (rquotad) 서비스가 예상대로 시작되었습니다. 또는 우리가 주인을 옮긴다면/거부 할 수밖에 없습니다.

알아낼 수없는 고통. 내가 더 빨리 보았 더라면 selinux 로그가 도움이되었을 것입니다.

이제 우리는 selinux 모드를 강제로 유지 한 채로 문제가되지 않았을 수 있습니다. 나는 아직도 그 이론을 시험해야한다.

행운을 비네.

0

iptables가 사용되고 로컬 호스트에 대한 UDP 연결을 차단하는 경우에도 마찬가지입니다. 오늘 이걸로. 중지 된 iptables, 연결이 작동하기 시작했습니다.

위반 한 규칙을 알아 내야합니다.

0

나는 그것을 언급 할 가치가 있다고 생각 당신과 같은 오류가 나타날 경우 :

0-rpc-service: Could not register with portmap 
가 hosts.allow에 관련된 또는 hosts.deny 파일을 설정하고 hosts.allow에 파일에 로컬 호스트에 대한 권한을 결여 될 수

.

나는 GlusterFS로 NFS를 설정하는 데 이런 종류의 문제가있었습니다. 내 /etc/hosts.allow를 파일에서

는 내가 추가 한 :

ALL: 127.0.0.1 : ALLOW 

및 문제를 포트 맵 멀리 갔다와 서비스를 등록하고 모든 것이 작동으로.

참고 :

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

것은 ypbind를 시작 : 글루 스터 FS (GlusterFS) 내가 rhel7에과 같이 오류를 수신 한

/etc/init.d/glusterd restart 
0

glusterd 서비스를 다시 시작 기억과 함께. 위의 '-i' ~ rpcbind을 포함한 모든 것을 시도했습니다. 결국 XTaran은 수정 /etc/hosts을 수정하는 것으로 언급했습니다. 다음 줄을 추가하십시오 :

rpcbind: 127.0.0.1 

나를 위해 일했습니다.

0

또 다른 해결 방법에 CentOS 7.3 버전의 rpcbind에 대한 또한

, 나는 또한 /etc/hosts.allow를에서의 mountd를 허용했다 :이 마침내 허용

rpcbind : ALL : allow 
mountd : ALL : allow 

저뿐만 아니라에 rpcinfo를 실행하지만 showmount와 mount도 실행하십시오.