부팅시 Ubuntu 18.04 Server에서 스크립트를 sudo로 실행하려면 어떻게합니까? [복제]


11

부팅시 스크립트를 sudo로 실행하려면 어떻게합니까?

ethtool --offload <net> rx off성가신 jme udp checksum 오류 메시지를 비활성화하려면 실행해야 합니다.


부팅 할 때 sudo가 필요하다고 생각하는 이유는 무엇입니까?
Rinzwind 2016 년

ethtool을 실행하려면 루트가 필요하기 때문에 @Rinzwind 일 것입니다. 루트로서의 SystemD 단위가 최선의 방법입니다
Thomas Ward

1
"sudo로"- " root(와 함께 강력한 사용자 $UID=0)"를 의미합니다. sudo일반 사용자가로 명령을 실행할 수 있도록하는 도구입니다 root. "부팅시"-시스템 시작과 관련된 모든 것이 다음과 같이 실행됩니다root
waltinator

@waltinator : 권한을 떨어 뜨리는 것을 제외하고; 예를 들어 시스템이 특정 사용자에 대해 X 서버 + 사용자 세션을 시작하도록 할 수 있습니다. 그러나 ethtool권한을 떨어 뜨린 것 (이 질문의 단어가 암시하는 것처럼)에서 sudo를 통해 실행 하는 것은 /etc/rc.local부팅하는 동안 루트로 실행되도록 "현대적인"방법을 고수하는 것과 비교하여 정말 나쁜 생각 입니다.
Peter Cordes 2016 년

답변:


16

시스템 서비스를 작성할 수 있습니다.

파일을 작성하십시오 /etc/systemd/system/ethtool.service.

[Unit]
Description=ethtool script

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

[Install]
WantedBy=multi-user.target

그리고 대본 /path/to/yourscript.sh(생각하지 마십시오 chmod +x)

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

서비스 활성화

systemctl enable ethtool

부팅시 루트로 실행됩니다.


4
@deimos의 훌륭한 답변이 도움이 되었다면 다음을 수락하십시오 : askubuntu.com/tour 검색 자들은 그 답변이 예상대로 작동한다는 것을 알고 감사 할 것입니다.
chili555

sudo systemctl start ethtool즉시 서비스를 시작합니다. systemctl status ehttool상태를 표시합니다 (실행 중, 활성화 및 로그). 자세히 알아보기man systemctl
Victor Lamoine

4

/etc/rc.local에 명령을 넣거나 존재하지 않는 파일을 작성하십시오.

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

이 모든 작업은 루트로 수행해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.