Estoy intentando configurar un servidor NFS en un Alpine Linux LXC que se ejecuta en Proxmox siguiendo las instrucciones descritasaquí, pero rpc.statd
se niega a empezar. Aquí hay un extracto que /var/log/messages
muestra el error:
Nov 26 03:08:25 nfs daemon.notice rpc.statd[226]: Version 2.1.1 starting
Nov 26 03:08:25 nfs daemon.warn rpc.statd[226]: Flags: TI-RPC
Nov 26 03:08:25 nfs daemon.err rpc.statd[226]: Unable to prune capability 0 from bounding set: Operation not permitted
Nov 26 03:08:25 nfs daemon.err /etc/init.d/rpc.statd[224]: start-stop-daemon: failed to start `/sbin/rpc.statd'
Nov 26 03:08:25 nfs daemon.err /etc/init.d/rpc.statd[210]: ERROR: rpc.statd failed to start
Nov 26 03:08:25 nfs daemon.err /etc/init.d/nfs[228]: ERROR: cannot start nfs as rpc.statd would not start
Creé un perfil de apariencia personalizado para el LXC (encontradoaquí) para darle al servicio suficientes permisos para ejecutarse, pero eso no ha ayudado.
Respuesta1
Resulta que necesitaba la CAP_SETPCAP
capacidad para ejecutar el servidor NFS.
Esto se puede hacer editando el archivo de configuración del contenedor en /etc/pve/lxc/CTID.conf
(donde CTID
está su ID de contenedor) de la siguiente manera:
....
# clear cap.drop
lxc.cap.drop:
# copy drop list from /usr/share/lxc/config/common.conf
lxc.cap.drop = mac_admin mac_override sys_time sys_module sys_rawio
# copy drop list from /usr/share/lxc/config/alpine.common.conf with setpcap commented
lxc.cap.drop = audit_write
lxc.cap.drop = ipc_owner
lxc.cap.drop = mknod
# lxc.cap.drop = setpcap
lxc.cap.drop = sys_nice
lxc.cap.drop = sys_pacct
lxc.cap.drop = sys_ptrace
lxc.cap.drop = sys_rawio
lxc.cap.drop = sys_resource
lxc.cap.drop = sys_tty_config
lxc.cap.drop = syslog
lxc.cap.drop = wake_alarm
¡Y voilá!