View Issue Details

IDProjectCategoryView StatusLast Update
0005579CentOS-5nfs-utilspublic2012-03-16 08:30
ReporterJohnnyHughes 
PrioritynormalSeverityminorReproducibilityalways
Status newResolutionopen 
Product Version5.8 
Target VersionFixed in Version 
Summary0005579: NFS4 mount produces invalid warnings in CentOS-5.8
DescriptionWhen mounting NFS version 4 shares with the latest rpm on CentOS-5.8, the following warnings are given:

# mount -t nfs4 -o sec=krb5i server1.centos.org:/export1 /mnt/export1
Warning: rpc.idmapd appears not to be running.
         All uids will be mapped to the nobody uid.
Warning: rpc.gssd appears not to be running.

A look at rpc.idmapd and rpc.gssd show they are running and the share appears to work.

This issue has been reported upstream here:

http://access.redhat.com/knowledge/solutions/76783

The impacted versions are nfs-utils-1.0.9-60.el5 and krb5-libs-1.6.1-70.el5.
TagsNo tags attached.

Activities

slapper15

slapper15

2012-03-08 09:48

reporter   ~0014626

I can confirm this issue in Centos 5.8
I have other Centos 5.7 & ubuntu 10.04 installation in my newrork and can access nfs shares without any problem.

[root@apollon ~]# mount -t nfs4 172.16.240.101:/ /dias
Warning: rpc.idmapd appears not to be running.
         All uids will be mapped to the nobody uid.
mount.nfs4: Permission denied
[root@apollon ~]# /etc/init.d/rpcidmapd status
rpc.idmapd (pid 1700) is running...
[root@apollon ~]#
rodenwald

rodenwald

2012-03-13 10:56

reporter   ~0014664

i've also confirmed this bug.

line 23 in /etc/init.d/rpcidmapd now uses 'prog="rpc.idmapd"' as the filename for /var/lock/subsys/. same thing on line 24 in /etc/init.d/rpcgssd - there 'prog="rpc.gssd"' is used.

Problem: in /sbin/mount.nfs4 the path to /var/lock/subsys/rpcidmapd and /var/lock/subsys/rpcgssd is hard-coded and had to be changed in the sources.

Regards,
Marian
rodenwald

rodenwald

2012-03-13 13:47

reporter   ~0014666

qnd-workaround rpcidmapd:

--- /etc/init.d/rpcidmapd.orig 2012-03-13 14:18:18.000000000 +0100
+++ /etc/init.d/rpcidmapd 2012-03-13 12:51:14.000000000 +0100
@@ -22,6 +22,7 @@

 prog="rpc.idmapd"
 LOCKFILE=/var/lock/subsys/$prog
+LOCKFILE_TMP=/var/lock/subsys/rpcidmapd

 case "$1" in
   start|condstart)
@@ -43,7 +44,7 @@
                        exit 0
                fi
        }
- rm -f $LOCKFILE
+ rm -f $LOCKFILE $LOCKFILE_TMP

        echo -n $"Starting RPC idmapd: "

@@ -70,7 +71,7 @@
        daemon $prog ${RPCIDMAPDARGS}
        RETVAL=$?
        echo
- [ $RETVAL -eq 0 ] && touch $LOCKFILE
+ [ $RETVAL -eq 0 ] && touch $LOCKFILE $LOCKFILE_TMP
        ;;
   stop)
        # Only root can stop the service
@@ -81,7 +82,7 @@
        killproc $prog
        RETVAL=$?
        echo
- [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
+ [ $RETVAL -eq 0 ] && rm -f $LOCKFILE $LOCKFILE_TMP
        ;;
   status)
        status $prog


######################
qnd-workaround rpcgssd:

--- /etc/init.d/rpcgssd.orig 2012-03-13 11:34:37.000000000 +0100
+++ /etc/init.d/rpcgssd 2012-03-13 14:22:22.000000000 +0100
@@ -23,6 +23,7 @@

 prog="rpc.gssd"
 LOCKFILE=/var/lock/subsys/$prog
+LOCKFILE_TMP=/var/lock/subsys/rpcgssd

 case "$1" in
   start|condstart)
@@ -41,7 +42,7 @@
        # if we are configured to start
        [ "${SECURE_NFS}" != "yes" ] && exit 6

- rm -f $LOCKFILE
+ rm -f $LOCKFILE $LOCKFILE_TMP
        echo -n $"Starting RPC gssd: "

        # List of kernel modules to load
@@ -82,7 +83,7 @@
        daemon $prog ${RPCGSSDARGS}
        RETVAL=$?
        echo
- [ $RETVAL -eq 0 ] && touch $LOCKFILE
+ [ $RETVAL -eq 0 ] && touch $LOCKFILE $LOCKFILE_TMP
        ;;
   stop)
     # Just exit if not configured
@@ -96,7 +97,7 @@
        killproc $prog
        RETVAL=$?
        echo
- [ $RETVAL -eq 0 ] && rm -f $LOCKFILE
+ [ $RETVAL -eq 0 ] && rm -f $LOCKFILE $LOCKFILE_TMP
        ;;
   status)
     # Just exit if not configured


######################
suggested fix:

--- ./utils/mount/nfs4mount.c 2006-07-08 02:04:32.000000000 +0200
+++ ./utils/mount/nfs4mount.c.new 2012-03-13 14:13:49.000000000 +0100
@@ -51,7 +51,7 @@

 extern int verbose;

-char *IDMAPLCK = DEFAULT_DIR "/rpcidmapd";
+char *IDMAPLCK = DEFAULT_DIR "/rpc.idmapd";
 #define idmapd_check() do { \
        if (access(IDMAPLCK, F_OK)) { \
                printf(_("Warning: rpc.idmapd appears not to be running.\n" \
@@ -59,7 +59,7 @@
        } \
 } while(0);

-char *GSSDLCK = DEFAULT_DIR "/rpcgssd";
+char *GSSDLCK = DEFAULT_DIR "/rpc.gssd";
 #define gssd_check() do { \
                if (access(GSSDLCK, F_OK)) { \
                        printf(_("Warning: rpc.gssd appears not to be running.\n")); \

Issue History

Date Modified Username Field Change
2012-03-07 17:09 JohnnyHughes New Issue
2012-03-08 09:48 slapper15 Note Added: 0014626
2012-03-13 10:56 rodenwald Note Added: 0014664
2012-03-13 13:47 rodenwald Note Added: 0014666