¿Cómo listar todos los trabajos 'en' sin privilegios de root?

2

Para listar trabajos agregados por a y lote yo suelo atq , pero enumera solo mis trabajos. puedo correr atq con privilegios de root y luego enumera los trabajos de todos los usuarios.

¿Cómo puedo listar todos los trabajos? sin privilegios de root?

klew
fuente

Respuestas:

3

Puede que esta no sea la respuesta que desea, pero estrictamente hablando, puede iniciar un Live CD y usarlo para ver los archivos en / var / spool / at (o equivalente).

Las disposiciones de privacidad y seguridad de Unix / Linux no le permiten hacer lo que quiere. Los archivos at se almacenan de forma predeterminada con "otros" privilegios de lectura desactivados.

kmarsh
fuente
Ok, entonces tal vez pueda iniciar algún programa / programa en cron / etc con privilegios de root que proporcionen estos datos para usuarios no root. ¿Hay alguna herramienta que haga esto? ¿O tal vez tienes algunas sugerencias de cómo hacerlo con scripts?
klew
1
int main (int argc, char * argv []) {setreuid (0, 0); argv [0] = "/ usr / bin / atq"; exec (argv [0], argv); devuelve 0; }
grawity
Suponiendo que fue compilado por root y chmoded a setuid, esto ejecutaría atq para un usuario normal como root, de una manera similar a sudo / usr / bin / atq. Pero todavía se ejecutaría con privilegios de raíz.
kmarsh
Ok, funciona, pero cambié exec () a execv () (no compiló con exec ()). ¡Gracias! Creo que para obtener esta información sin privilegios de root (al menos cuando se ejecuta algo parecido a atq) podría agregar un trabajo cron que tome estos datos como root y los almacene en un archivo que sea legible para todos.
klew
2

puede crear un pequeño programa personalizado que se ejecute en atq y darle suid root.

cuidado que:

  • Si haces algo mal, será fácilmente explotable para obtener acceso de root
  • no se puede usar un script, tiene que ser un ejecutable
o0'.
fuente