Lectura de estas preguntas y respuestas:
me trajo otro que creará problemas para los nuevos usuarios de ese comando:
- ¿Cómo configurar
pkexecpara un uso fácil?
Por ejemplo al hacer lo siguiente:
(Abrir un archivo en la terminal)
pkexec nano /etc/mysql/my.cnf
(Abrir un archivo en la GUI)
pkexec gedit /etc/mysql/my.cnf
El último recibe el siguiente error:
pkexec must be setuid root
Ahora esto me trajo las siguientes preguntas:
¿Cómo configurar
pkexecpara evitar esto? Similar a cómosudo/gksucomportarse cuando se hace lo mismo (solo piden la contraseña).Si corresponde, ¿cómo decirle que no solicite una contraseña después de la primera vez que la aplica a un comando (o que incluye el primer comando si es configurable)?
¿Dónde guardar el archivo de configuración si aún no existe?
¿Existe una aplicación GUI para configurar el
pkexecuso (Kit de políticas)?
command-line
sudo
pkexec
Luis Alvarado
fuente
fuente

Respuestas:
¿Cómo configurar
pkexecpara evitar errores al ejecutar aplicaciones GUI?Encontré dos formas posibles:
Como puede ver, usando lo siguiente:
No te dará ningún error. Y esto es normal porque
man pkexeces muy claro en este asunto:Como resultado, puede crear un alias ( permanente ) (esta es la forma más simple):
O, (nuevamente) como
man pkexecdice:puede crear un nuevo archivo de política en el
/usr/share/polkit-1/actionsllamadocom.ubuntu.pkexec.gedit.policycon el siguiente código XML en el interior, donde lo más importante es la creaciónorg.freedesktop.policykit.exec.allow_guide un valor no vacío:¿Cómo decirle que no solicite una contraseña después de la primera vez que la aplica a un comando?
Por estas tres etiquetas de ajuste:
allow_any,allow_inactiveyallow_activedesde el archivo de política, las siguientes opciones están disponibles:sudo, la autorización dura unos minutos.sudo, la autorización dura unos minutos.Fuente: Polkit - Estructura - Acciones
Por lo tanto, si usa la opción auth_admin_keep (o, según corresponda, auth_self_keep ),
pkexecno volverá a solicitar una contraseña durante algún tiempo (de forma predeterminada, este tiempo se establece en 5 minutos, como marqué). La desventaja aquí es que esto es aplicable solo para un mismo comando / aplicación y válido para todos los usuarios (a menos que se anule en una configuración posterior).¿Dónde guardar el archivo de configuración si aún no existe?
Los archivos de configuración o las definiciones de polkit se pueden dividir en dos tipos:
Las acciones se definen en archivos XML .policy ubicados en
/usr/share/polkit-1/actions. Cada acción tiene un conjunto de permisos predeterminados adjuntos (por ejemplo, debe identificarse como administrador para usar la acción GParted). Los valores predeterminados se pueden anular, pero editar los archivos de acciones NO es la forma correcta. El nombre de este archivo de política debe tener este formato:Las reglas de autorización se definen en archivos .rules de JavaScript. Se encuentran en dos lugares: los paquetes de terceros pueden usar
/usr/share/polkit-1/rules.d(aunque pocos lo hacen) y/etc/polkit-1/rules.des para la configuración local. Los archivos .rules designan un subconjunto de usuarios, hacen referencia a una (o más) de las acciones especificadas en los archivos de acciones y determinan con qué restricciones esas acciones pueden ser realizadas por ese / esos usuario (s). Como ejemplo, un archivo de reglas podría anular el requisito predeterminado para que todos los usuarios se autentiquen como administradores cuando usen GParted, determinando que algún usuario específico no necesita hacerlo. O no está permitido usar GParted en absoluto.Fuente: Polkit - Estructura
¿Existe una aplicación GUI para configurar el
pkexecuso?Por lo que sé, hasta ahora (18.01.2014) no existe algo como esto. Si en el futuro encuentro algo, no olvidaré actualizar esta respuesta también.
fuente
doublecmdROOT PRIVELEGES, ya que necesitaba exportar entornos conDISPLAY & XAUTHORITY!! Solo pequeñas preguntas: ¿Hay alguna diferencia en escribir una política o simplemente ejecutar un programa con comandopkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY doublecmdtodo el tiempo?pkexectan inseguro comogksudosi se ejecutara a través de ese alias? puede ser, en lugar de un alias, podría ser un script con privilegios de root, ¿podría ser más seguro?auth_admin_keepno parece funcionar. Si comienzo sináptico desde la interfaz gráfica de usuario (que es equivalente apkexec synaptic), me pide una contraseña cada vez. ¿Alguna idea de por qué?Además de la respuesta de Radu: no usaría el alias pkexec, sino gksudo .
¿Por qué? No necesita reescribir su guión.
Yo uso la siguiente configuración:
cd /usr/local/binsudo gedit gksudo(cree un nuevo archivo llamado "gksudo"escribe el siguiente contenido:
pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY $@(no olvide el
$@al final. Esto es para redirigir todos los parámetros)guardar y Salir
chmod 755 gksudoPor razones de documentación, escribiré lo que probé y no funcionó:
~/.bash_aliasesln -s pkexec [...])fuente