cron은 그래픽 응용 프로그램을 루트로 실행합니까?

cron은 그래픽 응용 프로그램을 루트로 실행합니까?

매일 Firefox를 자동으로 다시 시작했습니다(실행하여 편집 crontab -e) 프로그램 시작 여부를 고려하는 것을 잊어버렸습니다.관리자 권한이 있습니다.

killall -s SIGTERM firefox; sleep 15
export DISPLAY=:0.0
firefox -P "user" &

Javascript 웹 페이지를 루트로 탐색하면 매우 높은 보안 위험이 발생할 수 있습니다. 운 좋게도 Firefox는 (가상 머신의) 요청을 거부하는 것 같습니다.

    restorecon: restorecon: SELinux: Could not get canonical path for /root/.mozilla/firefox/* restorecon: No such file or directory.
    SELinux: Could not get canonical path for /root/.mozilla/firefox/* restorecon: No such file or directory.
    Running Firefox as root in a regular user's session is not supported.  ($XAUTHORITY is /run/user/1000/.mutter-Xwaylandauth.<a potential ID string> which is owned by user.)

웹 브라우저도 cron에 의해 루트로 실행됩니까? 대신 루트의 crontab을 사용하면 어떻게 되나요?

답변1

cron은 그래픽 응용 프로그램을 루트로 실행합니까?

비록 당신이 깨닫지 못하더라도 여기에는 (적어도) 두 가지 문제가 있습니다! :-)

  1. cron작업을 실행하는 데 어떤 사용자 계정이 사용됩니까 ?

    사용자가 이 crontab명령을 사용하여 crontab에 cron 항목을 생성하면 해당 사용자로 작업이 실행됩니다. 이것은 루트에서도 작동합니다.

    적절한 권한이 있는 사용자가 시스템 crontab 중 하나에 항목을 생성하는 경우(예: 파일에 항목 추가) /etc/cron.d작업은 실행할 사용자 계정을 정의해야 합니다.

  2. cron은 그래픽 응용 프로그램을 실행합니까?

    cron 실행 환경은 의도적으로 최소한으로 유지됩니다. 여기서 일반적인 질문은 애플리케이션을 찾을 수 없는 이유( $PATH다른 디렉터리는 포함되지 않음) 또는 파일이 예상 디렉터리(초기 디렉터리는 $HOME)에 기록되지 않는 이유입니다.

    설정만으로 $DISPLAY충분할 수 있지만 일반적으로 GUI 응용 프로그램을 실행하려면 최소한 하나 이상의 추가 인증 변수가 필요합니다. 바라보다cron으로 알림 보내기 사용예를 들어.

관련 정보