
¿Cómo puedo eliminar un paquete para un usuario determinado pero dejarlo instalado para que otros usuarios aún puedan acceder a él? Estoy usando Ubuntu 12.10.
Respuesta1
La mayoría de los paquetes se instalan en lugares y con permisos para que varios usuarios puedan acceder a ellos. Así que a menos que elpaquetese ha preparado para encargarse de eso estableciendo los permisos y la propiedad de una manera especial; no es posible lograr esto mediante la eliminación del paquete.
Lo que podría hacer un paquete para restringir el acceso es establecer los permisos de grupo para directorios y ejecutables en rwxr-x--- y para archivos normales en rw-r-- y establecer la propiedad del grupo en un grupo específico para que los que no sean miembros de ese grupo Ya no tengo acceso.
Puede hacer lo anterior después del hecho en la mayoría de los paquetes, ya que no cambia la estructura dedóndelas cosas se instalan. Entonces el paquete seguirá encontrando todos sus componentes. Dependiendo de lo que desee lograr exactamente, puede ser suficiente simplemente cambiar los ejecutables del paquete.
Suponiendo que haya un paquete abc
instalado, podría hacer algo como lo siguiente (como root):
addgroup abcusers
adduser user abcusers
dpkg -L abc | xargs find -maxdepth 0 -type f | xargs chown o=
dpkg -L abc | xargs find -maxdepth 0 -type f | xargs chgrp abcusers
La primera línea crea un grupo, la segunda línea debe repetirse para todos los usuarios que necesitan acceso al paquete. La tercera y cuarta línea cambian los permisos de todos los archivos de un paquete (suponiendo que no haya nombres de archivos con espacios). Sin embargo, esto aún puede romper el paquete.así que tenga cuidado con lo que hace y/o revierte sus cambios con:
apt-get install --reinstall abc