Tôi muốn tạo một sudolệnh ( sudo service smbd restart) chạy sau 1 phút sau khi đăng nhập. Tôi sẽ đi đâu để tới đó?
PS Đây là hệ thống không có màn hình, chuột, bàn phím hoặc loa được kết nối - đó là máy in và máy chủ tệp.
Tôi muốn tạo một sudolệnh ( sudo service smbd restart) chạy sau 1 phút sau khi đăng nhập. Tôi sẽ đi đâu để tới đó?
PS Đây là hệ thống không có màn hình, chuột, bàn phím hoặc loa được kết nối - đó là máy in và máy chủ tệp.
Câu trả lời:
A) Nếu đó là lúc khởi động hệ thống , hãy thêm phần này vào cuối /etc/rc.local(1): (trước exit 0, rõ ràng):
( sleep 60 && service smbd restart )&
Ghi chú:
()là cần thiết để lệnh phức tạp tự tách ra và đi đến nền, cho phép quá trình khởi động kết thúc;sudokhông cần thiết ở đó, /etc/rc.localđược thực hiện bởi root;B) nếu đăng nhập người dùng , bạn cần hai bước:
cấu hình của bạn sudođể nó sẽ không yêu cầu mật khẩu cho service smbd restartlệnh (xem Làm cách nào để tôi chạy các lệnh sudo cụ thể mà không cần mật khẩu? );
chuẩn bị một tập lệnh với các nội dung sau và thêm nó vào chương trình tự động khởi động / khởi động của bạn (thay đổi theo môi trường máy tính để bàn bạn đang sử dụng).
Kịch bản:
#!/bin/bash
( sleep 60 && service smbd restart )&
Chú thích
(1) kiểm tra nếu /etc/rc.localcó thể thực thi được. Nếu không, làm cho nó vớisudo chmod +x /etc/rc.local
Hãy thử man sleep:
sleep 60 && sudo service smbd restart
Đặt cái này trong các chương trình autorun hoặc script được thực thi khi đăng nhập.
sudoerstệp, nó sẽ không hoạt động (sẽ ngừng yêu cầu mật khẩu). Xem Askubfox.com/questions/159007/ cấp