Tôi đã tạo dịch vụ sau, amos.service và nó cần chạy như amos (thành viên của nhóm 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
tất cả các quyền đã được đặt /usr/share/amos
thànhamos:amos
amos_service.sh như sau:
#!/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"
Khi tôi chạy dịch vụ ban đầu mà không có bất kỳ sửa đổi nào đối với các thư mục, nghĩa là thuộc về root và amos.service không có tham số User not Group, mọi thứ đều chạy rất tốt!
Khi tôi thay đổi quyền của thư mục thành amos: amos và thêm amos.service User & Group, serive sẽ không hoạt động và tôi nhận được thông tin sau: Xem hình ảnh đính kèm
/var/log
được sở hữu bởi root. Tôi nghĩ rằng bạn muốn sử dụng một thư mục /var/log/amos/
mà bạn tạo như sở hữu của amos.