Lectura de estas preguntas y respuestas:
me trajo otro que creará problemas para los nuevos usuarios de ese comando:
- ¿Cómo configurar
pkexec
para 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
pkexec
para evitar esto? Similar a cómosudo
/gksu
comportarse 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
pkexec
uso (Kit de políticas)?
command-line
sudo
pkexec
Luis Alvarado
fuente
fuente
Respuestas:
¿Cómo configurar
pkexec
para 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 pkexec
es muy claro en este asunto:Como resultado, puede crear un alias ( permanente ) (esta es la forma más simple):
O, (nuevamente) como
man pkexec
dice:puede crear un nuevo archivo de política en el
/usr/share/polkit-1/actions
llamadocom.ubuntu.pkexec.gedit.policy
con el siguiente código XML en el interior, donde lo más importante es la creaciónorg.freedesktop.policykit.exec.allow_gui
de 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_inactive
yallow_active
desde 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 ),
pkexec
no 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.d
es 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
pkexec
uso?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
doublecmd
ROOT 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 doublecmd
todo el tiempo?pkexec
tan inseguro comogksudo
si 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_keep
no 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/bin
sudo 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 gksudo
Por razones de documentación, escribiré lo que probé y no funcionó:
~/.bash_aliases
ln -s pkexec [...]
)fuente