현재 사용자에게 컴퓨터를 종료할 수 있는 권한이 있는지 확인하는 크로스 플랫폼 방법(실제로 종료를 시도하지 않음)

현재 사용자에게 컴퓨터를 종료할 수 있는 권한이 있는지 확인하는 크로스 플랫폼 방법(실제로 종료를 시도하지 않음)

현재 사용자가 Unix 및 Linux에서 시스템을 종료하는 데 필요한 권한을 가지고 있는지 (안전한 방법으로) 확인하는 방법은 무엇입니까?

현재 사용자에게 시스템을 종료하는 데 필요한 권한이 있는지 확인해야 하는 스크립트를 작성 중입니다. 하지만 물론 확인하고 싶습니다.앞으로실제로 시스템을 종료하려고 합니다.

이상적으로는 가능한 한 많은 Unix 및 Linux 배포판에서 실행되는 솔루션을 원합니다.

현재 사용자에게 시스템 종료 권한이 있는지 확인하기 위해 스크립트에서 무엇을 할 수 있습니까?

답변1

이 옵션이 모든 Unixoid 플랫폼에서 사용 가능한지 알 수는 없지만 -k시도해 보고 종료 코드를 확인할 수 있습니다. 그러나 이로 인해 모든 터미널에 경고가 발생할 수 있습니다.

$ shutdown -k -r now; echo $?
shutdown: you must be root to do that!
Usage:    shutdown [-akrhPHfFnc] [-t sec] time [warning message]
[...]
                  -k:      don't really shutdown, only warn.
[...]
1
$ sudo shutdown -k -r now; echo $?

Broadcast message from root@macalla (pts/2) (Mon Oct  3 11:25:09 2022):

The system is going down for reboot NOW!

Shutdown cancelled.
0

관련 정보