Các dịch vụ mặc định bắt đầu như root
lúc khởi động trên hộp RHEL của tôi. Nếu tôi nhớ lại một cách chính xác, điều tương tự cũng đúng với các bản phân phối Linux khác sử dụng các tập lệnh init /etc/init.d
.
Bạn nghĩ gì là cách tốt nhất để thay vào đó các quy trình chạy như một người dùng (tĩnh) mà tôi chọn?
Phương pháp duy nhất tôi đã đến là sử dụng một cái gì đó như:
su my_user -c 'daemon my_cmd &>/dev/null &'
Nhưng điều này có vẻ hơi không gọn gàng ...
Có một chút ma thuật nào đó được cung cấp một cơ chế dễ dàng để tự động bắt đầu các dịch vụ như những người dùng không phải root khác?
EDIT: Đáng lẽ tôi phải nói rằng các quy trình tôi bắt đầu trong trường hợp này là các tập lệnh Python hoặc chương trình Java. Tôi thà không viết một trình bao bọc riêng xung quanh chúng, vì vậy thật không may là tôi không thể gọi setuid () như Black gợi ý.