내 스크립트가 루트가 아닌 사용자로 화면을 시작하게 하려면 어떻게 해야 합니까?

내 스크립트가 루트가 아닌 사용자로 화면을 시작하게 하려면 어떻게 해야 합니까?

Minecraft를 실행 중입니다. 에서 자동으로 시작됩니다 /etc/rc.local. 나는 그 실행을 가지고 /home/kent-server/mc/spigot.sh있고 그 안에는 screen -dms minecraft Java -jar -Xmx5120M -Xms5120M spigot.jar.

코드 자체는 해당 작업을 수행하지만 S-rootnot 아래에서 화면을 시작합니다 S-kent-server. 일반 사용자로 로그인하면 실행 중인 화면이 표시되지 않기 때문에 문제가 됩니다. 그러나 명령을 사용하여 루트로 전환하면 su정상적으로 표시됩니다.

답변1

제안한대로드라브 슬론다음과 같이 사용할 수 있습니다 su.

su -l kent-server -c 'cd /home/kent-server/mc/ && screen -d -m -S Minecraft Java -jar -Xmx5120M -Xms5120M spigot.jar'

sudo다음을 사용하여 유사한 결과를 얻는 것도 가능합니다 .

sudo -u kent-server /home/kent-server/mc/spigot.sh

관련 정보