
Necesito crear un directorio que no sea de propiedad raíz en /var/run que utilizará un script de inicio en /etc/init.d. ¿Cuál es la forma correcta de lograr esto? Estoy usando Ubuntu 14.04.
Respuesta1
Tienes que hacerlo sobre la marcha. /var/run/
es un tmpfs por lo que se recrea cada arranque.
Desde el script de inicio:
- Cree un directorio dentro
/var/run/
y cambie los permisos a ese usuario. - Luego especifique usar
/var/run/mydaemon
en lugar de/var/run
.
Si quieres ejemplos de cómo hacer esta comprobación (hay más):
/etc/init.d/ssh
/etc/init.d/bind9
/etc/init/dbus.conf
/etc/init/ssh.conf
/etc/init/cups.conf
Todos ellos tienen algún tipo de mkdir
contenido. tazas.conf:
mkdir -p /var/run/cups/certs
/etc/init/cups.conf
pre-start script
[ -x /usr/sbin/cupsd ]
# load modules for parallel port support
if [ -r /etc/default/cups ]; then
. /etc/default/cups
fi
if [ "$LOAD_LP_MODULE" = "yes" -a -f /usr/lib/cups/backend/parallel \
-a -f /proc/modules -a -x /sbin/modprobe ]; then
modprobe -q -b lp || true
modprobe -q -b ppdev || true
modprobe -q -b parport_pc || true
fi
mkdir -p /var/run/cups/certs
if [ -x /lib/init/apparmor-profile-load ]; then
/lib/init/apparmor-profile-load usr.sbin.cupsd
fi
end script