Làm thế nào để chạy một công việc định kỳ như một người dùng cụ thể?


15

Tôi có một vài lệnh tôi muốn thực hiện sau khi máy khởi động. Người dùng không cần phải đăng nhập hoặc bất cứ thứ gì để họ chạy.

Tôi đã tìm thấy câu trả lời tuyệt vời này khi đề xuất crontab với @reboottừ khóa, tuy nhiên điều này sẽ chạy dưới quyền root và tôi muốn chạy như một người dùng cụ thể được tạo cho các "dịch vụ" này (không phải dịch vụ hệ thống thực tế).

Đôi khi để đạt được hiệu ứng tương tự với bất kỳ người dùng nào?


Hãy thử chạy '$ su [tên người dùng] [lệnh]'
LittleByBlue

Câu trả lời:


24

Bạn có thể tạo một crontab cho người dùng cụ thể như vậy:

crontab -u <username> -e

Hoặc đơn giản hơn, bạn chỉ có thể chạy crontab -ekhi đăng nhập với tư cách người dùng đó.

Ngoài ra, bạn có thể thêm tiền tố vào lệnh (root) crontab của bạn sudo -u <username>để chạy lệnh với tư cách là người dùng được chỉ định.


Cảm ơn, tôi đã không thể làm cho nó hoạt động với những người đó. Nhưng bây giờ tôi thấy rằng tôi có thể tạo ra một crontab cho bất cứ ai. Các lệnh vết thương chạy tốt như root với sudo. Tôi không biết tôi có thể sử dụng sudo ở đó (đã hy vọng nó không thể đợi mật khẩu).
Louis

2
@Louis sudokhông yêu cầu mật khẩu khi bạn gọi nó bằng root. Về cơ bản, bạn không đạt được quyền nhưng từ bỏ chúng.
kraxor

1
@kraxor - bạn chỉ có thể chạy crontab -e khi đăng nhập với tư cách người dùng đó. Tôi nghĩ rằng điều này là không chính xác.
bhv
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.