Creé el siguiente servicio, amos.service, y necesita ejecutarse como amos (miembro del grupo amos)
[Unit]
Description=AMOS Service
After=network.target
[Service]
User=amos
Group=amos
Type=simple
WorkingDirectory=/usr/share/amos
ExecStart=/usr/share/amos/amos_service.sh start
ExecStop=/usr/share/amos/amos_service.sh stop
Restart=on-failure
[Install]
WantedBy=multi-user.target
todos los permisos se han fijado en /usr/share/amos
aamos:amos
amos_service.sh es el siguiente:
#!/bin/bash
CUDIR=$(dirname "$0")
cd /usr/share/amos
start() {
exec /usr/share/amos/run_amos.sh >> /var/log/amos.log 2>&1
}
stop() {
exec pkill java
}
case $1 in
start|stop) "$1" ;;
esac
cd "$CURDIR"
Cuando ejecuto el servicio inicialmente sin ninguna modificación en los directorios, es decir, perteneciente a root, y amos.service no tiene el parámetro Usuario no Grupo, ¡todo funciona muy bien!
Una vez que cambie los permisos de los directorios a amos: amos y agregue el usuario y grupo amos.service, el servidor no funcionará y obtengo lo siguiente: Ver imagen adjunta
/var/log
es propiedad de root. Creo que desea utilizar un directorio /var/log/amos/
que cree como propiedad de amos.