Tôi đang cố gắng thiết lập một công việc Upstart để chạy khi khởi động hệ thống và điều đó cũng có thể được bắt đầu / dừng bởi các thành viên của một nhóm khác sudo
. Với phiên bản trước, tôi đã sử dụng update-rc.d
và các tập lệnh được lưu trữ /etc/init.d/
để hoạt động này bằng cách thêm %Group ALL = NOPASSWD: /etc/init.d/scriptname
vào tệp sudoers của tôi, nhưng dường như tôi không thể có được một hoạt động tương đương cho Upstart.
Tôi đã thử thêm %Group ALL = NOPASSWD: /sbin/initctl start jobname
vào tập tin sudoers, nhưng cố gắng chạy lệnh start jobname
tạo ra lỗi này:
start: Rejected send message, 1 matched rules; type="method_call", sender=":1.21" (uid=1000 pid=5148 comm="start jobname " interface="com.ubuntu.Upstart0_6.Job" member="Start" error name="(unset)" requested_reply="0" destination="com.ubuntu.Upstart" (uid=0 pid=1 comm="/sbin/init")
Gần như tôi có thể nói, đó là một khiếu nại về cách tài khoản người dùng của tôi không được cung cấp sức mạnh để gửi tin nhắn 'Bắt đầu' trong tệp cấu hình D-Bus cho Upstart. Tôi thực sự không thể tìm thấy bất kỳ thông tin nào về cách chỉnh sửa tệp đó để cấp quyền cho nhóm truy cập một dịch vụ cụ thể - có tồn tại tùy chọn như vậy không? Có cách nào để chỉnh sửa tệp Sudoers để tôi có thể chạy công việc mà không cần chỉnh sửa tệp cấu hình không? Tôi có tốt hơn khi chỉ gắn bó với phiên bản trước?