Ich versuche, einen NFS-Server auf einem Alpine Linux LXC unter Proxmox einzurichten, indem ich die Anweisungen befolgeHier, aber rpc.statd
der Start wird verweigert. Hier ist ein Auszug aus /var/log/messages
der Fehlerbeschreibung:
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
Ich habe ein benutzerdefiniertes Apparmor-Profil für den LXC erstellt (gefundenHier), um dem Dienst genügend Berechtigungen zum Ausführen zu erteilen, aber das hat nicht geholfen.
Antwort1
Es stellte sich heraus, dass ich die CAP_SETPCAP
Möglichkeit brauchte, den NFS-Server auszuführen.
Dies können Sie erreichen, indem Sie die Konfigurationsdatei des Containers in /etc/pve/lxc/CTID.conf
(wobei CTID
sich Ihre Container-ID befindet) wie folgt bearbeiten:
....
# 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
Und voila!