Password change  Error

Posted on 2005-04-18
Last Modified: 2013-12-16
While logged as root , I tried to change the password of one user, I got the following message :
RPC: Can't encode arguments
The password has not been changed on
passwd: Failed preliminary check by password service
However, I am able to change the password of other users.
What could be the possible reason ?
Question by:mn210
    LVL 38

    Expert Comment

    Do you use LDAP or NIS?
    Check /etc/nsswitch.conf  (passwd:  files nis ldap ....)
    The user's password you want to change is in NIS or LDAP then you.

    You need to change the user password on NIS/LDAP server.

    Author Comment

    Can you please elaborate as what I am supposed to do to change password ?

    Actually, I am also getting this message on ypclient:
    YPBINDPROC_DOMAIN: Domain not bound
    YPBINDPROC_DOMAIN: Domain not bound
    I have the following snapshot in /etc/nsswitch.conf on NIS server.

    [sharmam@sebulba sbin]$ ./rpcinfo -p localhost
       program vers proto   port
        100000    2   tcp    111  portmapper
        100000    2   udp    111  portmapper
        100004    2   udp    799  ypserv
        100004    1   udp    799  ypserv
        100004    2   tcp    802  ypserv
        100004    1   tcp    802  ypserv
        100007    2   udp    945  ypbind
        100007    1   udp    945  ypbind
        100007    2   tcp    948  ypbind
        100007    1   tcp    948  ypbind
        391002    2   tcp  32768  sgi_fam
        100009    1   udp    703  yppasswdd
    [sharmam@sebulba yp]$ more securenets
    # securenets    This file defines the access rights to your NIS server
    #               for NIS clients. This file contains netmask/network
    #               pairs. A clients IP address needs to match with at least
    #               one of those.
    #               One can use the word "host" instead of a netmask of
    #      Only IP addresses are allowed in this
    #               file, not hostnames.
    # Always allow access for localhost

    # This line gives access to everybody. PLEASE ADJUST!

    sharmam@enterprise sbin]$ ./rpcinfo -p localhost
       program vers proto   port
        100000    2   tcp    111  portmapper
        100000    2   udp    111  portmapper
        100024    1   udp  32768  status
        100024    1   tcp  32768  status
        100004    2   udp   1016  ypserv
        100004    1   udp   1016  ypserv
        100004    2   tcp   1019  ypserv
        100004    1   tcp   1019  ypserv
        100007    2   udp    612  ypbind
        100007    1   udp    612  ypbind
        100007    2   tcp    615  ypbind
        100007    1   tcp    615  ypbind
     600100069    1   udp    640  fypxfrd
     600100069    1   tcp    642  fypxfrd
        391002    2   tcp  32769  sgi_fam
        100009    1   udp    776  yppasswdd

    [sharmam@enterprise /etc]$ more host.conf
    order hosts,bind

    [sharmam@enterprise /etc]$ more nisswitch.conf

    passwd:     nis nisplus files
    shadow:     nis nisplus files
    group:      nis nisplus files

    #hosts:     db files nisplus nis dns
    hosts:      files nis nisplus  dns

    # Example - obey only what nisplus tells us...
    #services:   nisplus [NOTFOUND=return] files
    #networks:   nisplus [NOTFOUND=return] files
    #protocols:  nisplus [NOTFOUND=return] files
    #rpc:        nisplus [NOTFOUND=return] files
    #ethers:     nisplus [NOTFOUND=return] files
    #netmasks:   nisplus [NOTFOUND=return] files    

    bootparams: nisplus [NOTFOUND=return] files

    ethers:     files
    netmasks:   files
    networks:   files
    protocols:  files nisplus nis
    rpc:        files
    services:   files nisplus nis

    netgroup:   files nisplus nis

    publickey:  nisplus

    automount:  files nisplus nis
    aliases:    files nisplus

    Can you please help find as what went wrong ?

    Thanks for your cooperation
    LVL 38

    Accepted Solution

    1. If the Linux box is the NIS client, then as root,
    to configure your NIS setting (NIS IP address and NIS domain).
    For NIS information, please ask your sys admin or find out from the NIS server.

    2. If the Linux box is NOT NIS client (standalone box), then as root), edit /etc/nsswitch.conf
    passwd:     files nis nisplus
    shadow:     files nis nisplus
    group:      files nis nisplus

    Author Comment

    Thanks ... It worked.
    I do have database of user accounts on NIS server.Now, when I add new users, how can I ensure that they are added to the existing database ?
    Actually, I added useraccounts on both NIS server and NIS client and their passwords can be changed using passwd command presumeably because they are stord in local files and are not part of NIS database .
    Thanks for your coperation ...
    LVL 38

    Expert Comment

    > NIS client and their passwords can be changed using passwd command presumeably
    You need to run yppasswdd on NIS server.
    So the "passwd" command from NIS client will talk to NIS server to sync the NIS database.

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    Highfive + Dolby Voice = No More Audio Complaints!

    Poor audio quality is one of the top reasons people don’t use video conferencing. Get the crispest, clearest audio powered by Dolby Voice in every meeting. Highfive and Dolby Voice deliver the best video conferencing and audio experience for every meeting and every room.

    Suggested Solutions

    rdate is a Linux command and the network time protocol for immediate date and time setup from another machine. The clocks are synchronized by entering rdate with the -s switch (command without switch just checks the time but does not set anything). …
    I. Introduction There's an interesting discussion going on now in an Experts Exchange Group — Attachments with no extension ( This reminded me of questions tha…
    Learn how to find files with the shell using the find and locate commands. Use locate to find a needle in a haystack.: With locate, check if the file still exists.: Use find to get the actual location of the file.:
    Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.

    761 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    8 Experts available now in Live!

    Get 1:1 Help Now