acceso y grupos para los usuarios en linux

7 views
Skip to first unread message

PICCORO McKAY Lenz

unread,
Oct 29, 2020, 1:45:38 PM10/29/20
to vegnuli, venenuxsarisari

Accesos para usuario y grupos

En linux entre el release de linux 2.4 y linux 2.6 muchas cosas cambiaron, fue la unica epoca en que linux de verdad queria ofrecer facilidades de escritorio, y se realizaron muchos intento en materia de acceso a hardware.

El tema es que linux no es para escritorio, hay usuarios especificos para cada cosa o sino es el root el que hace las cosas, y desde que sale el kernel 3.0 se crea los sistemas alrededor de freedesktop-org y systemd, que buscan un estandar en ello.

Para otorgar acceso a cosas delicadas en el sistema existen los grupos, y hay dos tipos, los grupos sin usuario y los grupos de usuarios de sistema.

1 - Grupos de acceso del sistema

Los siguientes grupos otorgan privilegios a sus miembros.

  • users : un grupo comun si se desea que usuarios compartan informacion, el mecanismo es que si se esta agregado a este grupo, todo archivo con este grupo puede ser visto por estos usuarios en comun.

  • cdrom : este grupo se puede utilizar localmente para dar acceso a a unidades unidad de CDROM/DVDROM o quemar discos CD/DVD.

  • audio : para dar acceso a un conjunto de usuarios a manejar tarjetas de sonido micrófonos, es decri dispositivos de audio.

  • video : para dar acceso a un conjunto de usuarios a manejar tarjetas de video, camaras web, el framebuffer de la consola tty en linux.

  • scanner : los miembros de este grupo pueden habilitar y utilizar escáneres, antes se empleaba el grupo video.

  • netdev : los miembros de este grupo pueden administrar redes, en realidad las interfaces de red a través de networkmanager y wicd.

  • lp (LP): para poder usar la impresora, mas no administrarla, antes solo existia el usuario “lp” pero ahora es un grupo.

  • lpadmin (LPADMIN): permite a los miembros administrar impresoras y trabajos pendientes enviados por otros usuarios. Algunos escaneres multifuncion necesitan que el usuario este en este grupo.

  • plugdev : permite a los miembros montar (solo con las opciones nodev y nosuid, por razones de seguridad) y desmontar dispositivos extraíbles a través de pmount. para eso instale el paquete “pmount” y cualquier usuario puede montar unidades de disco o pendrive con este comando solo si se encuentra en dicho grupo.

  • disk : para dar acceso a disco duro, excetuando el formatearlos, con este tambien se puede acceder a memorias y pendrives por aparatos emulados, si desea montar discos duros sin ser root se debe estar en este grupo.

  • dialout : si se esta en este grupo se puede usar modems externos, o dispositivos por el puerto serial, los dispositivos TTY son estos que son modems, telefonos gsm y similares. Los miembros de este grupo pueden reconfigurar el módem, marcar en cualquier lugar, etc. Para poder administrar conexiones a internet por modem se debe estar en este grupo.

  • dip : el nombre del grupo significa “Dial-up IP” y la membresía en dip le permite usar herramientas como ppp, dip, wvdial, etc. para marcar una conexión. Los usuarios de este grupo no pueden configurar el módem, pero pueden ejecutar los programas que lo utilizan. Es como dialup pero mas restringido. Recomendado para internet por modem pero sin configurar.

  • voice : Voicemail, útil para sistemas que utilizan módems como contestadores automáticos. Similar a dialout pero mas orientado a entrada de datos y no entrada con salida bidireccional.

  • tty : Los comandos “write” y “wall” se utilizan es con este grupo.

  • games : muchos juegos son SETGID para acceso a archivos del sistema, agregese a este grupo para poder usar linux como juegos, pero CUIDADO, no se recomienda esto en maquinas de uso sensible o importantes.

  • adm : El grupo adm se utiliza para tareas de supervisión del sistema. Los miembros de este grupo pueden leer los archivos de log, asi como los archivo de depuracion en /var y pueden usar xconsole. Históricamente, /var/log era /usr/adm (y más tarde /var/adm), de ahí el nombre del grupo.

  • staff : permite a los usuarios agregar modificaciones al sistema en directorios como /usr/local/bin mas no /usr/bin sin necesidad de privilegios de root (tenga en cuenta que los ejecutables están en la variable PATH de cualquier usuario y pueden “anular” los ejecutables. Es como el grupo adm pero orientado a programas.

  • shadow : grupo especial para poder leer el archivo /etc/shadow por ejemplo el acceso por PAM desde php lo requiere.

  • fax : permite a los miembros utilizar software de fax para enviar o recibir faxes, similar a dialup pero solo de entrada.

  • src : este grupo se utilizó para administrar el código fuente del sistema, en /usr/src o /usr/local/src. LA mayoria de los linux como debian o redhat no lo usan, ya que para eso estan los paquetes deb, historicamente para instalar un programa siempre se compilaba el codigo fuente pero hoy dia casi nadie compila porque son idiotas windoseros.

2 - Grupos de usuarios del sistema

Los siguientes grupos tienen un usuario especial de sistema con privilegios:

  • root : nunca se debe agregar a nadie al grupo del root.

  • daemon : algunos demonios sin privilegios que necesitan escribir en archivos en el disco se ejecutan como daemon.daemon (por ejemplo, portmap, atd, probablemente otros). Los demonios que no necesitan poseer ningún archivo pueden ejecutarse como nobody.nogroup, y los demonios más complejos o conscientes de la seguridad se ejecutan como usuarios dedicados. El usuario daemon también es útil para los demonios instalados localmente.

  • man : El programa man (a veces) se ejecuta como user man, esto es para poder escribir páginas cat en /var/cache/man al hacer redirecciones.

  • mail : Los buzones de correo en /var/mail son propiedad del correo grupal, también se utilizan para otros fines por varios MTA.

  • news : varios servidores de noticias y otros programas asociados, mismo caso que el grupo “man” y “games”.

  • postgres : las bases de datos de Postgresql son propiedad de este todos los archivos de la instalacion de postgresql (como bases de datos particionadas) asi como acceso mas flexible a estos datos.

  • www-data : ideado para acceso a los contenidos de los servidores web, como los archivos de apache y lighttp, ideal para combinar con procesos de tecnologias de script como java y php.

  • irc : utilizado por los demonios de irc. Un usuario asignado estáticamente es necesario solo debido a un error en ircd, que SETUID () se ajusta a un UID dado al inicio.

  • bin : mantenido por razones históricas.

  • sys : lo mismo que con bin.

  • nogroup (usuario: nadie ): los demonios que no necesitan tener archivos se ejecutan como usuario nadie y grupo nogroup. Por lo tanto, ningún archivo en un sistema debe ser propiedad de este usuario o grupo.

3 - Reglas de uso de los grupos

El grupo disk es muy peligroso, ya que los discos duros en /dev/sd y /dev/hd se pueden leer y escribir directamente ignorando particiones, lo que permite a un usuario normal revelar, alterar y destruir tanto las particiones como los datos de dichas unidades sin privilegios de root.

A partir de Debian 8 usar el grupo plugdev no es suficiente para formatear unidades de usb extraibles ni grabar discos CD/DVD, pues se necesita root.

El grupo kmem es capaz de leer el contenido de la memoria del sistema, revelando potencialmente datos pertenecientes a otros procesos. JAMAS SE DEBE AGREGAR USUARIOS A ESTE GRUPO EN SISTEMAS DE ESCRITORIO normales. Cualquier ataque ejecutado por el usuario permitira dañar facilmente el sistema con esto.

Hoy dia se ha proliferado el uso de “sudo” porque pueden ejecutar cualquier comando con sudo/pkexec y su propia contraseña, esto es un fallo de uso y es incorrecto, permite que un linux se parezca a windo haciendolo inseguro, puesto el usuario puede ejecutar todo como si de administrador fuere.

Lenz McKAY Gerardo (PICCORO)
Reply all
Reply to author
Forward
0 new messages