Agregar un usuario con permisos para instalar programas pero sin permisos para acceder a los directorios de otros usuarios

Agregar un usuario con permisos para instalar programas pero sin permisos para acceder a los directorios de otros usuarios

Necesito crear un usuario en un sistema Linux con permisos para instalar programas pero sin permisos para acceder a los directorios de otros usuarios.

Intenté hacer esto:

# Create restricted user user
adduser --home /home/restricted_user restricted_user

# Edit normal user dir permissions
chmod -R 700 /home/normal_user/

# Add restricted user to sudoers in order to allow program installation
sudo adduser restricted_user sudo

Entonces lo intenté:

su restricted_user
sudo ls /home/normal_user

Y finalmente el usuario restringido tiene acceso al directorio del usuario normal si lo hace con sudo

¿Cómo puedo implementar estas restricciones?

Respuesta1

No agregue el usuario alsudogrupo, no les conceda acceso root general. Edite /etc/sudoersy especifique un pequeño conjunto de ejecutables que el usuario puede ejecutar como root. Ejemplo:

# in sudoers file
restricted_user ALL = (root) /usr/bin/apt-get
restricted_user ALL = (root) /sbin/reboot

Notas:

  • Dependiendo de su Linux: apt-get/ apt, dpkg, opkg, pacman, yum,…
  • Utilice rutas completas.
  • La forma correcta de editar sudoersesvisudo.
  • Consulte man 5 sudoerspara obtener más información sobre la sintaxis.
  • Al construir reglas más complejas, recuerde susel orden importa.

Tenga en cuenta que un usuario determinado que puede instalar programas arbitrarios puede preparar e instalar unsetuidversión de lso "actualizada" sudoque les otorgará acceso de root independientemente de /etc/sudoers. O proporcione e instale un paquete que realice operaciones arbitrarias durante su instalación (posiblemente sin instalar nada). Prevenir esto puede no ser fácil.

información relacionada