리눅스에서 사용자와 su에 대해 혼란스러워

리눅스에서 사용자와 su에 대해 혼란스러워

특정 사용자(루트가 아닌 사용자)로 스크립트를 실행하려면 어떻게 해야 합니까? 그게 다야?

sudo su - john /usr/share/script.pl 사용자 John에게?

답변1

-c에 전달하여 su명령을 실행할 수 있습니다 . 다음 명령을 실행할 수 있는 경우 sudo작동합니다 .

sudo su - john -c "/usr/share/script.pl"

-전달 된 환경은 su로그인할 때와 동일하므로 스크립트가 환경 변수(예: 현재 경로)에 따라 달라지는 경우 조정해야 할 수도 있습니다.

답변2

다른 답변이 귀하의 특정 질문에 더 잘 답할 수 있습니다. 여기에 몇 가지 유용한 설명이 있습니다.

su= 사용자 전환

sudo=사용자를 전환하고 X를 실행합니다(추가 옵션 없음, "사용자"는 "루트"임)

대부분의 사용자에게는 su사용되지 않으면 허용되지 않습니다 sudo. 즉, 일반적으로 비밀번호를 다시 입력하라는 메시지가 표시되기 전에 사용자가 두 번 생각하게 만드는 것입니다.

답변3

예를 들어 -c 옵션을 사용하십시오.

sudo su - john -c "/usr/share/script.pl"

또는 위와 같이 사용자를 정의하는 대신 다음 명령을 사용하여 특정 사용자에 대한 cron 작업을 정의할 수 있습니다.

crontab -u john -e

그런 다음 cron을 설정하면 특정 사용자에 대한 cron 작업을 추가한 다음 루트 cron에서 사용자를 정의하는 것이 더 좋습니다.

관련 정보