Su 루트로 로그인하고 한 줄로 명령을 실행합니다.

Su 루트로 로그인하고 한 줄로 명령을 실행합니다.

루트로 실행하고 한 줄로 명령을 실행해야 합니다. 이것은 Python 스크립트용입니다. 내가 찾고 있는 것은:

$ su root [some-magic] sh /home/jay/script-that-needs-executing-as-root.sh
<script output>

이것은 공개 우분투 서버에 있습니다. 실행될 계정에는 비밀번호가 없지만 기본적으로 ~/.profile 에 있는 읽기 전용 Python 스크립트를 제외한 모든 항목에 액세스할 수 없도록 설정되어 있습니다.

cd ~/py/main
python3 start.py
logout

따라서 그들은 서버에 실제로 접근할 수 없습니다. Python 스크립트에서는 이미 su 작업을 수행하고 있으므로 원하는 경우 사용자가 shellasrootPython 스크립트를 입력하고 루트 비밀번호를 입력하고 명령을 실행할 수 있지만 프로그래밍 방식으로 이 작업을 수행할 수 있는 방법을 찾고 있습니다.


핵심요약 - sudo 권한이 없는 계정의 루트로 한 줄로 쉘 스크립트를 실행해야 합니다.

답변1

-c옵션을 사용하여 su개별 명령을 전달할 수 있습니다.

su root -c 'sh /home/jay/script-that-needs-executing-as-root.sh'

관련 정보