Paso 1. crea un script con el comando bind usando cualquier editor. Por ejemplo:
sudo emacs bind_user_directories.sh
contenido:
#!/bin/bash
#NOTE: this file would be placed in /usr/local/sbin/ folder as bind_user_directories.sh
#alternatively it could be placed in /etc/init.d/ ... (I guess)
### BEGIN INIT INFO
# Provides: bind_user_directories
# Required-Start:
# Required-Stop:
# Should-Start: $named
# Default-Start: 0 2 3 4 5 6 (I guess...)
# Default-Stop: 1
# Short-Description: mount --bind for a user
# Description: runs mount --bind command for certain pre-defined directories for a specific user
### END INIT INFO
# What is this?
DESC="bind_user_directories"
# See how we were called.
case "$1" in
start)
log_progress_msg "bind directories for user..."
sudo mount --bind /source/path /target/path
log_progress_msg "done: bind directories for user"
;;
stop)
log_progress_msg "umount --bind directories for user..."
sudo umount /target/path
log_progress_msg "done: unbind directories for user"
;;
restart)
$0 stop
sleep 1
$0 start
;;
*)
#log_success_msg "Usage: bind_user_directories {start|stop|restart}"
log_success_msg "Usage: service bind_user_directories <start|stop|restart>"
exit 1
;;
esac
exit 0
Paso 2. guardar bind_user_directories.sh y hacerlo ejecutable:
chmod a+x bind_user_directories.sh
Paso 3. vincúlelo a una ubicación adecuada como / usr / local / sbin:
sudo ln -s bind_user_directories.sh /usr/local/sbin/bind_user_directories.sh
Paso 4. crea el script de inicio:
sudo emacs /etc/init/bind_user_directories.conf
contenido:
description "runs mount --bind command for certain pre-defined directories for a specific user"
start on filesystem and net-device-up IFACE!=lo
stop on runlevel [!023456]
console output
respawn
respawn limit 10 5
exec /usr/local/sbin/bind_user_directories.sh start
Si esto funciona para usted, hágamelo saber. Puede verificar si hay mensajes en el registro del sistema después de iniciar sesión. (Todavía no lo probé y nunca he implementado algo como esto antes). Si mejora la solución, comparta su solución final aquí. Gracias.
/etc/profile
o~/.profile
porque la ejecución del código en esos scripts es realizada por el shell del usuario y está sujeta al control del usuario, mientras que si no desea que el usuario tenga poder ejecutar programas comoroot
ellos mismos, entonces esto tendrá que hacerlo algún servicio en ejecución externo a los procesos del usuario. ... Puede ser útil que nos diga el propósito del script que desea ejecutar.