Estoy intentando configurar Skype en Arch Linux para usar unusuario en caja de arenano importa qué usuario llame skype
, pero no me gusta particularmente el uso de un alias BASH para iniciar Skype como lo sugiere la wiki ya que, hasta donde puedo decir, si un usuario no está usando BASH o invoca Skype desde skype.desktop
, el usuario aislado no será utilizado. Pensé que sería mejor desviar /usr/bin/skype
para llamar
sudo -u skype /usr/bin/skype.real
¿Dónde skype.real
está el binario real de Skype? Estoy bastante seguro de que en Debian podría hacer esto con
dpkg-divert --package skype --add --rename --divert /usr/sbin/skype.real /usr/sbin/skype
y luego agregar mi propio archivo a /usr/sbin/skype
. ¿Cómo hago esto con Arch?
Respuesta1
Si, como sugerí en los comentarios, el skype-restricted
paquete AUR no es adecuado para usted (y tenga en cuenta que no sé el enfoque que utilizan), puedo pensar en dos enfoques:
(Lea hasta el final para conocer la forma correcta de aplicarlos en Arch)
Cambie skype
a un script que ejecute su Skype real
Crea un script bash que llamará a tu Skype real:
#!/bin/sh
sudo -u skype /usr/bin/skype.real
Dale permisos de ejecución y guárdalo como /usr/bin/skype
, cambiando el nombre del antiguo binario de Skype a /usr/bin/skype.real
.
Sin embargo, este enfoque conlleva algunas cosas que deben tenerse en cuenta:
Si realmente no desea que nadie llame a Skype (el real) además del
skype
usuario, debe otorgarle al archivo los permisos adecuados:chown skype /usr/bin/skype.real chmod 0100 /usr/bin/skype.real
Esto evitará que nadie más que su propietario lo ejecute.
- Para permitir que cualquiera ejecute
skype
(el nuevo, con script), debe editar el archivo sudoers (usandovisudo
) para que cualquiera (preferiblemente en un grupo, posiblemente groupskype
) pueda llamarlo como usuarioskype
. No conozco los detalles, solo sé que se puede hacer.
Cambiar skype
propietario y configurar el setuid
bit
Nota: Esta no es la forma recomendada, ya que los ejecutables setuid deben establecerse al mínimo
Esta podría ser una posibilidad más clara: configurar el setuid
bit para que cualquiera que llame skype
lo llame como usuario skype
.
chown skype /usr/bin/skype
chmod u+s /usr/bin/skype
Esto hará que el skype
comando esté disponible como siempre, pero siempre se ejecutará como el skype
usuario.
En cualquiera de los casos anteriores, cada vez que actualice Skype a una versión más nueva, deberá repetir el proceso, ya que pacman
reemplazará el binario.
La solución es crear una PKGBUILD
que descargue el paquete oficial, lo extraiga y realice los cambios deseados. Luego lo instala manualmente (como instalaría cualquier paquete AUR). Deberá reconstruirlo manualmente cada vez que necesite actualizar. Sin embargo, Skype no se actualiza con tanta frecuencia.
Para esta última tarea, elwiki oficial sobre PKGBUILDson un gran recurso.