Làm cách nào để chạy tập lệnh dưới dạng sudo khi khởi động trên Máy chủ Ubuntu 18.04? [bản sao]


11

Làm cách nào để chạy tập lệnh dưới dạng sudo khi khởi động?

Tôi cần phải chạy ethtool --offload <net> rx offđể vô hiệu hóa thông báo lỗi jme udp checksum gây phiền nhiễu.


Tại sao bạn tin rằng bạn sẽ cần sudo khi khởi động?
Rinzwind

@Rinzwind có lẽ vì ethtool cần root để chạy. Đơn vị SystemD là root là cách tiếp cận tốt nhất
Thomas Ward

1
"as sudo" - ý bạn là "như root(người dùng toàn năng với $UID=0)". sudolà một công cụ cho phép người dùng thông thường chạy lệnh như root. "at boot" - mọi thứ liên quan đến khởi động hệ thống đều hoạt động nhưroot
waltinator

@waltinator: ngoại trừ những thứ bỏ đặc quyền; ví dụ: bạn có thể để hệ thống của mình khởi động máy chủ X + phiên người dùng cho một người dùng nhất định. Nhưng chạy ethtoolqua sudo từ thứ gì đó đã bỏ đặc quyền (như từ ngữ của câu hỏi này gợi ý) sẽ là một ý tưởng thực sự tồi tệ so với việc gắn nó vào /etc/rc.localhoặc bất kỳ cách nào "hiện đại" hơn để khiến mọi thứ chạy như root trong khi khởi động.
Peter Cordes

Câu trả lời:


15

Bạn có thể tạo một dịch vụ systemd.

Tạo một tệp /etc/systemd/system/ethtool.service:

[Unit]
Description=ethtool script

[Service]
ExecStart=/path/to/yourscript.sh

[Install]
WantedBy=multi-user.target

Và kịch bản /path/to/yourscript.sh(đừng quên chmod +xnó)

#!/bin/bash
ethtool --offload <net> rx off

Kích hoạt dịch vụ của bạn

systemctl enable ethtool

Nó sẽ chạy trên boot với quyền root.


4
Nếu câu trả lời xuất sắc của @deimos là hữu ích, vui lòng chấp nhận nó: askubfox.com/tour Người tìm kiếm sẽ đánh giá cao khi biết rằng câu trả lời hoạt động như mong đợi.
ớt555

sudo systemctl start ethtoolđể bắt đầu dịch vụ ngay lập tức. systemctl status ehttoolđể hiển thị trạng thái (chạy, kích hoạt và đăng nhập). Tìm hiểu thêm vớiman systemctl
Victor Lamoine

4

Đặt các lệnh của bạn trong /etc/rc.local hoặc tạo tệp đó nếu nó không tồn tại:

 touch /etc/rc.local
 chmod +x /etc/rc.local

Tất cả những hành động này phải được thực hiện như root.

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.