मैंने निम्नलिखित सेवा, amos.service का निर्माण किया, और इसे amos (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
सभी अनुमतियाँ पर निर्धारित किया गया है /usr/share/amos
करने के लिएamos:amos
amos_service.sh इस प्रकार है:
#!/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"
जब मैं शुरू में निर्देशिका, अर्थ, रूट से संबंधित किसी भी संशोधन के बिना सेवा शुरू करता हूं, और amos.service उपयोगकर्ता समूह पैरामीटर नहीं है, सब कुछ महान चलाता है!
एक बार जब मैं निर्देशिका अनुमतियों को अमोस में बदल देता हूं: एमोस और एमोस जोड़ें। उपयोगकर्ता और समूह, सीरी काम नहीं करेगा और मुझे निम्नलिखित मिलते हैं: संलग्न छवि देखें
/var/log
रूट के स्वामित्व में है। मुझे लगता है कि आप एक निर्देशिका का उपयोग करना चाहते हैं /var/log/amos/
जिसे आप एमोस के स्वामित्व में बनाते हैं।