Pregunta

Estoy escribiendo una secuencia de comandos de rastrillo y me gustaría detectar (usando Ruby en lugar de bash si es posible) si el usuario que ejecutó la secuencia de comandos de rastrillo tiene privilegios de root.

Si no es root, me gustaría terminar el script.

¿Fue útil?

Solución

Utilice uid o euid en el Proceso clase:

raise 'Must run as root' unless Process.uid == 0

Otros consejos

No conozco a Ruby, pero lo que desea verificar es si el ID de usuario es 0. En C, lo haría marcando getuid () . Desde la línea de comandos de Unix, también puede verificar la salida de id -u .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top