LINUX.ORG.RU

Сообщения ubuntoid1

 

Ubuntu 18.04, systemd, php как служба. При рестарте системы службы не созданы

 ,

Приветствую. Имеется Ubuntu 18.04.4 LTS, systemd 237. Требуется создать 2 php сервиса. Они идентичны, приведу .service одного:

[Unit]
Description=MQTT Reader Service
Requires=mosquitto.service rabbitmq-server.service

[Service]
User=demonmqtt
Type=simple
TimeoutSec=5
ExecStart=/usr/bin/php7.2 -f /var/www/demonmqtt/data/www/site.com/mqtt_reader_daemon.php
KillMode=process
StandardOutput=file:/var/www/demonmqtt/data/www/site.com/logs/mqtt-reader.log
StandardError=file:/var/www/demonmqtt/data/www/site.com/logs/mqtt-reader-error.log
Restart=on-failure
RestartSec=30s

[Install]
WantedBy=default.target

Устанавливаю скриптом, для простоты:

#!/usr/bin/env bash
DIR=`dirname "$(readlink -f "$0")"`

sudo ln -s $DIR/mqtt-reader.service -t /etc/systemd/system

sudo systemctl enable mqtt-reader
sudo systemctl daemon-reload
sudo systemctl start mqtt-reader
systemctl status mqtt-reader

Тут всё хорошо, выдаёт:

May 15 11:10:07 111.66.15 systemd[1]: Started MQTT Performer Service.
● mqtt-reader.service - MQTT Reader Service
   Loaded: loaded (/var/www/demonmqtt/data/www/site.com/service/mqtt-reader.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-05-15 11:10:07 EEST; 6s ago
 Main PID: 3841 (php7.2)
    Tasks: 1 (limit: 4915)
   CGroup: /system.slice/mqtt-reader.service
           └─3841 /usr/bin/php7.2 -f /var/www/demonmqtt/data/www/site.com/mqtt_reader_daemon.php

May 15 11:10:07 111.66.15 systemd[1]: Started MQTT Reader Service.

Но если перезагрузить сервер, то службы не стартуют. Если попытаться стартануть вручную, выдаёт что служба не найдена:

root@111 ~ # systemctl start mqtt-reader
Unit mqtt-reader.service could not be found.

При этом линки на службы уже созданы:

root@111 ~ # ls /etc/systemd/system -l
...
lrwxrwxrwx 1 root root   72 Sep 23  2019 mqtt-reader.service -> /var/www/demonmqtt/data/www/site.com/service/mqtt-reader.service

Видно, что служба зависит от двух других - mqtt и rabbit-а. В syslog видно, что обе успешно стартуют. Но нет ни намёка на попытку старта mqtt-reader.service. Подскажите, куда копать, что делать?

ubuntoid1
()

setfacl - дефолтные права не работают при копировании

 ,

Приветствую. Собственно вопрос назначения прав по умолчанию разжеван в интернетах, и ничто не предвещало трудностей.

u1@bubuntu:~$ sudo mkdir /web
u1@bubuntu:~$ sudo chown root:web /web
u1@bubuntu:~$ sudo chmod g=rwxs,o=- /web
u1@bubuntu:~$ ls -l / | grep web
drwxrws---   2 root web        4096 янв 11 02:19 web
u1@bubuntu:~$ sudo setfacl -d -m g::rwx,o::--- /web
u1@bubuntu:~$ getfacl /web
getfacl: Removing leading '/' from absolute path names
# file: web
# owner: root
# group: web
# flags: -s-
user::rwx
group::rwx
other::---
default:user::rwx
default:group::rwx
default:other::---

Собственно мои желания отражены в последней команде и для новых файлов они сбываются:

u1@bubuntu:~$ touch /web/ttt
u1@bubuntu:~$ mkdir /web/zzz
u1@bubuntu:~$ ls -l /web
total 4
-rw-rw----  1 u1 web    0 янв 11 02:22 ttt
drwxrws---+ 2 u1 web 4096 янв 11 02:22 zzz

Однако же для существующих файлов это не работает:

u1@bubuntu:~$ ls -l ./composer.json 
-rw-r--r-- 1 u1 u1 1676 янв  6 18:49 ./composer.json
u1@bubuntu:~$ cp ./composer.json /web/zzz
u1@bubuntu:~$ ls -l /web/zzz/
total 4
-rw-r----- 1 u1 web 1676 янв 11 02:25 composer.json

Тут почему-то не хватает права записи для группы (что критично), хотя нормально заданы права для «остальных» (на что наплевать, т.к. есть 770 на корневую). А если копировать с помощью mc, то права вообще не меняются, даже если снять галку «preserve attributes».

Почему так и есть ли относительно простой способ добиться желаемого? Вот тут (linux.org.ru) нашел прям свой случай, но переход на bindfs не вариант (у меня ext4). Заранее спасибо.

ubuntoid1
()

RSS подписка на новые темы