Este es el comando super que se puede ejecutar en el proveedor de alojamiento gratuito de OnWorks utilizando una de nuestras múltiples estaciones de trabajo en línea gratuitas, como Ubuntu Online, Fedora Online, emulador en línea de Windows o emulador en línea de MAC OS.
PROGRAMA:
NOMBRE
super - ejecutar comandos setuid root.
SINOPSIS
Para ejecutar un comando:
súper [-r ruta de solicitud] comando [ args ]
súper [-r ruta de solicitud] -o camino [ args ]
comando [ args ]
Para enumerar los comandos disponibles:
súper [-H|-f] [-S]
Para información de uso y / o versión:
súper [-h] [-V]
Para depuración y desarrollo:
súper -b
súper -c [ superarchivo ]
súper [-d|-D|-t] [-S] [MasqOpciones] [-H|-f|mando...]
MasqOpciones:
-F presentar
-T hh: mm / nombre del día
-G gid
-U UID
-M mach
DESCRIPCIÓN
súper permite a usuarios específicos ejecutar scripts (u otros comandos) como si fueran root;
o puede configurar los grupos uid, gid y / o suplementarios por comando antes
ejecutando el comando. Está destinado a ser una alternativa segura a la creación de scripts setuid
raíz. Super también permite a los usuarios normales proporcionar comandos para que otros los ejecuten; estas
ejecutar con el uid, gid y grupos del usuario que ofrece el comando.
súper consulta un ''super.pestaña'' archivo para ver si el usuario puede ejecutar el pedido
comando. Si se concede el permiso, súper será el ejecutivo pgm [ args ], dónde pgm es el programa
que está asociado con esto mando. (La raíz tiene la ejecución permitida de forma predeterminada, pero puede
aún se denegará si una regla excluye root. Los usuarios ordinarios no pueden ejecutar
defecto.)
El tipo de entrada más común en un super.pestaña pares de archivos un simple comando con pgm camino.
Pero, de hecho, el comando en el super.pestaña el archivo se trata en realidad como un patrón, y any
comando introducido por el usuario que coincide con este patrón hace que el asociado pgm para ser ejecutado
Si el listado pgm contiene un asterisco, entonces el asterisco se reemplaza con el comando
ingresado por el usuario. Un uso de esto es permitir que cualquier programa en un directorio determinado sea
ejecutado por un usuario. Por ejemplo, si la entrada contiene los pares comando / pgm
ComandoPatrón Programa
guiones/* → / usr / local / super / *
* → / usr / local / somedir / *
entonces las traducciones hechas son
Del usuario Comando Ejecutado Programa
scripts / xyz → / usr / local / super / scripts / xyz
xyz → / usr / local / somedir / xyz
Algunos comandos solo se pueden ejecutar después de que el usuario ingrese su contraseña. Estos comandos
luego se puede ejecutar varias veces hasta cierto tiempo de vencimiento, momento en el que la contraseña
necesita ser reingresado. La lista de comandos que requieren contraseña y la contraseña
las duraciones se establecen en el mismo archivo que registra los usuarios válidos para cada comando.
If comando es un enlace simbólico (o enlace duro, también) a la súper programa, luego escribiendo
% comando args
es equivalente a escribir
% súper comando args
(La comando no debe ser súper o súper no reconocerá que se invoca a través de un
Enlace.)
súper sin ningún argumento mostrará la lista de comandos que pueden ser ejecutados por el
.
Por seguridad, se toman las siguientes precauciones antes de ejecutar:
a) todos los descriptores, salvo 0,1,2, están cerrados;
(b) todas las variables de entorno del usuario se descartan, excepto TERM, LINES y
COLUMNAS. Si TERM contiene cualquier carácter que no sea {- /: + ._ a-zA-Z0-9}, es
descartado. Si LÍNEAS o COLUMNAS contienen cualquier carácter que no sea [0-9], es
descartado. A estos se agregan valores razonables para:
USER y LOGNAME: ambos se establecen en el nombre de usuario asociado con el uid real del
programa que se ejecuta bajo súper ;
INICIO: establecido en el directorio de inicio de sesión del usuario que ejecuta súper ;
ORIG_USER, ORIG_LOGNAME, ORIG_HOME: los valores de USER, LOGNAME y HOME que
referirse al usuario que invocó súper . (Estos valores son calculados por súper ,
y no son los valores establecidos por la persona que llama, por lo que son una descripción confiable
de la persona que llama. Estos son normalmente los mismos valores que USER, LOGNAME y
HOME, pero diferirán si el supercomando cambia uid o gid antes
ejecutando el programa.);
IFS: establecer en blanco, tabulación, nueva línea;
RUTA: establecido en /compartimiento:/ usr / bin.
SUPERCMD: establecido en comando.
variables de entorno adicionales como se especifica en el super.pestaña archivo (ver más abajo).
(c) todo el manejo de señales se restablece a los valores predeterminados.
If súper se ejecuta sin argumentos, imprimirá los comandos que el usuario puede
ejecutar, un comando por línea. súper -H imprime una descripción detallada de cada comando
que el usuario puede ejecutar.
Los CmdPat es el patrón de comando, y FullPath es la ruta completa que se ejecutará.
El archivo super.tab puede especificar argumentos iniciales que preceden a cualquier
argumentos; estos argumentos, si los hay, se imprimen después de la FullPath columna.
Usuario definido Super.pestaña archivos
Los usuarios habituales pueden proporcionar sus propios superarchivos. Esto permite a los usuarios dar
acceso setuid / setgid a sus programas: el usuario que ofrece el programa obtiene la seguridad
de configuraciones seguras de IFS, configuraciones de variables de entorno seguras, etc. y el usuario que ejecuta
el programa sabe que se ejecutará bajo el uid y gid del usuario que lo ofrece. Si un
comando se ingresa en el formulario
súper nombre de inicio de sesión:cmd
súper busca cmd en el archivo .superpestaña, en el directorio de inicio de la cuenta nombre de inicio de sesión.
Los cmd se ejecutará utilizando los grupos uid, gid y suplementarios (si los hay) de usuario
nombre de inicio de sesión.
Las súper opciones habituales (como -H) se puede aplicar al archivo .supertab de un usuario. Para
Por ejemplo, se puede obtener información de ayuda sobre un comando usando:
súper -H nombre de inicio de sesión:cmd
Asimismo, ayuda información sobre todos los nombre de inicio de sesiónLos comandos se pueden obtener con:
súper -H nombre de inicio de sesión:
Los enlaces a los comandos por usuario se pueden crear y utilizar de una manera similar a la creación de enlaces simbólicos.
a súper sí mismo. Si comando es un enlace simbólico al archivo .supertab de un usuario, y que
El archivo .supertab es
(a) ejecutable, y
(b) comienza con
#! / ruta / a / super -o
entonces el siguiente par es completamente equivalente:
% súper nombre de inicio de sesión:comando
% comando
Si #!-la línea sería más larga que el límite típico de Unix de 32 caracteres, puede
en su lugar, inicie el archivo .supertab con:
#! / Bin / sh
# Mantenga esta barra invertida -> \
exec / long / path / to / the / super / ejecutable -o $ 0 $ {1 + "$ @"}
(Lo anterior aprovecha el hecho de que super permite que los comentarios tengan barra invertida-
continuó, pero el caparazón no.)
El enlace .supertab por usuario funciona de la siguiente manera: si / ruta / a / xyz es un enlace simbólico a algún usuario
.supertab archivo, y el archivo .supertab comienza con #! / ruta / a / super -o, luego el caparazón
invocará súper con argumentos algo como
súper -o / ruta / a / xyz [argumentos]
Super comprueba que / ruta / a / xyz es un enlace a un archivo .supertab real, y luego siempre se convierte
la última parte del camino (aquí xyz) en el comando para ejecutar.
** Seguridad advertencia **
Tenga en cuenta que si utiliza enlaces simbólicos a un archivo .supertab por usuario, debe confiar en que el
El archivo .supertab ejecutará un supercomando, en lugar de hacer algo desagradable.
Eso es porque súper en sí no se invoca hasta que el shell ha abierto el archivo .supertab
y hacer lo que el archivo .supertab le diga que haga. Por el contrario, el comando directo
súper nombre de inicio de sesión:cmd no implica ningún procesamiento de shell del archivo .supertab.
REGULAR OPCIONES
-V Imprime el número de superversión.
-S Cuándo súper solicita una contraseña, esto lo obliga a solicitar en stdin, incluso si el
defecto (/ dev / tty) es legible y escribible. Nota: Esto solo se aplica a contraseñas
tipo de autenticación, es decir, el tipo de autenticación más antiguo en el que súper
sí mismo solicita la contraseña; La autenticación PAM es manejada por el PAM de su sistema.
módulos.
-f Esto solicita una lista de comandos disponibles en un formato conciso útil para procesar
por guiones. (-f representa hechos, como en `` solo los hechos, señora '').
-rcamino requerido
Le dice a super que genere un error si el programa asociado con este comando no es
reqruta. Esto le ayuda a escribir scripts que garantizan que super solo ejecute lo que
esperan que se ejecute. Consulte el paso 4 de la sección, `` Creación de súper guiones '',
para un ejemplo de su uso.
-H Causas súper para imprimir una lista detallada de los comandos disponibles para el usuario. Eso
imprime tanto el comando y su traducción a un programa pgm. Si se muestra pgm
contiene un asterisco, entonces el programa real ejecutado se forma reemplazando el
asterisco con el comando ingresado por el usuario. Los siguientes ejemplos muestran
tipos de lneas que pueden mostrarse con el -H opción:
Ejemplo 1.
súper habilidad → / usr / local / bin / skill
Escribir súper habilidad ejecutará / usr / local / bin / skill.
Ejemplo 2.
súper {lp *} → / usr / bin /*
Este ejemplo contiene asteriscos tanto en el lado derecho como en el izquierdo. El lado izquierdo
muestra el patrón válido que debe hacer coincidir para ejecutar el comando que se muestra a la derecha-
lado. Por lo general, el lado derecho no tiene asterisco, solo una ruta completa a un
comando para ejecutar. Sí hay is un asterisco presente, es reemplazado por el comando
ingresó, formando así el comando ejecutado real. Por lo tanto, si escribe
súper lpxxx (dónde xxx es cualquier cadena), súper ejecutará / usr / bin / lpxxx
Ejemplo 3.
súper {co*} → / usr / bin / compress
El asterisco en el lado izquierdo significa que puede ingresar súper coxxx (dónde xxx is
cualquier cadena), pero como el lado derecho no contiene un asterisco, coxxx will
siempre ejecutar / usr / bin / compress.
-t Esto habilita el modo de `` prueba ''. Realiza todas las comprobaciones normales excepto las que requieren
entrada del usuario (contraseñas y variables que el usuario debe ingresar), pero no se ejecuta
cualquier comando. En cambio, sale con el código de estado 0 si el comando se puede ejecutar,
else 1. Todos los mensajes de error normales se generan de la forma habitual, pero no
Se generan mensajes de depuración especiales. Por lo tanto, es un medio útil para que un script
compruebe si es probable que un comando funcione y, por lo tanto, sea razonable para ejecutar super. Vamos
decir que un script / usr / local / bin / foo quiere invocarse a sí mismo usando súper foo (Véase
la sección `` Creación de Super Scripts '' sobre cómo evitar bucles infinitos al hacer
esto!) el script puede usar el -r opción para asegurar que súper foo se refiere a
archivo correcto, y puede usar el modo de prueba para asegurarse de que súper foo es un comando válido:
prog = `nombre base $ 0`
/ usr / local / bin / super -t -r $ 0 $ prog
caso $? en
0) exec / usr / local / bin / super -t -r $ 0 $ prog ;;
*) echo "¡Super $ prog no funciona!"
... Así que toma las medidas adecuadas ...
;;
esac
DEBUG Y DESARROLLO OPCIONES
Estas opciones son útiles al crear y depurar super.pestaña archivos. Tienen poco o
sin valor para el usuario diario. Con la excepción del -b opción, se pueden combinar
con las opciones regulares, arriba.
-b Imprima los nombres y valores de las variables integradas, luego salga. Útil para
administradores para aprender los valores contra los cuales se pueden probar las variables integradas.
-c[superarchivo]
Informa súper para comprobar la sintaxis de las entradas en el superarchivo, pero no ejecutar
cualquier comando. Si no superarchivo se da, el regular super.pestaña está chequeado. La salida
el código es 0 si la sintaxis del archivo es correcta; de lo contrario, el código de salida es 1 (y un error
se imprime el mensaje). Después de modificar un superarchivo, debe utilizar esta opción para
comprobar su integridad.
Tenga en cuenta que súper -c no es una verificación completa de que ha configurado correctamente una entrada,
porque puede crear entradas sintácticamente válidas que no hacen exactamente lo que
querer. Por lo tanto, también debe usar súper -d cmd para asegurarse de que el comando
que ha ingresado se ejecutará con los argumentos correctos, uid, gid, umask, etc.
en.
-d Esto habilita el modo de depuración, en cuyo caso (a) la información de depuración se imprime mientras
comprobar la validez de un usuario y (b) el comando no se ejecuta realmente. Útil
para comprobar si una nueva entrada en el super.pestaña archivo (ver más abajo) ha sido manejado
correctamente.
-D Igual que -d, además imprime más información sobre las variables definidas en el super.pestaña
archivo.
-Fsuperarchivo
Esta opción solo se usa para depurar y le permite probar un superarchivo antes
instalarlo. En realidad, no se ejecutará ningún comando. También enciende un
depuración detallada, mostrando los nombres de los comandos coincidentes y las razones para aceptar o
rechazando el comando.
-Ggid Esta opción también se usa para depurar y le dice súper para actuar como si la persona que llama
groupid o groupname era gid. Lleva las mismas restricciones e información de depuración que
la opción -F.
-UUID Esta opción también se usa para depurar y le dice súper para actuar como si la persona que llama
uid o nombre de usuario era UID. Lleva las mismas restricciones e información de depuración que -F
.
-Mmach Esta opción también se usa para depurar y le dice súper para actuar como si la persona que llama
host (máquina) era mach. Lleva las mismas restricciones e información de depuración que -F
.
-Thh:mm/nombre del día
Esta opción también se usa para depurar y le dice súper actuar como si la ejecución
tiempo es hh:mm/nombre del día. Esto le permite comprobar si una especificación de tiempo en el
super.pestaña el archivo está restringiendo correctamente la ejecución. Lleva las mismas restricciones
y depurar información como la opción -F.
Use súper en línea usando los servicios de onworks.net