Skip to content

systemd unit file for nfs-idmapd.service requires patch

Description:

This package provides a file installed to /usr/lib/systemd/system/nfs-idmapd.service, which is the systemd unit file for NFSv4 idmapd. The contents of this file is listed below:

[Unit]
Description=NFSv4 ID-name mapping service
Documentation=man:idmapd(8)
DefaultDependencies=no
Requires=rpc_pipefs.target
After=rpc_pipefs.target local-fs.target network-online.target
Wants=network-online.target

BindsTo=nfs-server.service

[Service]
Type=forking
ExecStart=/usr/sbin/rpc.idmapd

The line BindsTo=nfs-server.service is problematic, since Arch Wiki suggests that when running NFSv4 server exclusively, rpcbind.service, rpcbind.socket and nfs-server.service should be masked, and nfsv4-server.service should be started and enabled. Once nfs-server.service is masked, this unit, nfs-idmapd.service would never be started, which prevents a NFSv4 server to be functioning normally. (e.g. failed chown due to absence of idmapd)

A patch may be created to change this line to Bindsto=nfsv4-server.service, as idmapd is for NFSv4 servers. (NFSv3/NFSv2 uses UID/GID and has no concept of ID <-> name mapping.)

Additional info:

  • package version(s): 2.8.1-1
  • config and/or log files: /usr/lib/systemd/system/nfs-idmapd.service
  • link to upstream bug report, if any: N/A

Steps to reproduce:

  1. install nfs-utils.
  2. setup a NFSv4 server according to https://wiki.archlinux.org/title/NFS#Starting_the_server, masking rpcbind.socket, rpcbind.service and nfs-server.service as suggested.
  3. systemctl status nfs-idmapd.service suggests idmapd is not running.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information