Revisé más de medio siglo de experiencia en Unix y ni mis colegas ni yo hemos establecido una contraseña en un grupo ( sg
y gpasswd
). ¿Cuál sería un caso de uso típico para una contraseña de grupo o es solo por razones históricas?
Revisé más de medio siglo de experiencia en Unix y ni mis colegas ni yo hemos establecido una contraseña en un grupo ( sg
y gpasswd
). ¿Cuál sería un caso de uso típico para una contraseña de grupo o es solo por razones históricas?
Respuestas:
Yo tampoco he visto nunca esta función, ni siquiera una vez. La mayoría de las SA ni siquiera saben que existe esta instalación. Al mirar la página del manual, gpasswd
había esta nota:
Notas sobre contraseñas grupales
Group passwords are an inherent security problem since more than one person is permitted to know the password. However, groups are a useful tool for permitting co-operation between different users.
Creo que fue una idea natural al imitar el modelo de usuario que tiene contraseñas, que tenía sentido duplicar ese modelo de caso de uso a grupos también. Pero en la práctica realmente no son tan útiles para nada.
La idea con una contraseña de grupo es que si necesita obtener acceso a un grupo en particular (uno del que no figuraba como miembro), podría hacerlo usando el newgrp
comando y recibir una contraseña para obtener acceso. a estos grupos alternativos.
El gran problema con ellos es que solo hay una contraseña única para cada grupo, lo que obliga a las personas a compartir esta contraseña única, cuando varias personas requieren acceso a este grupo en particular.
La mayoría de los entornos con los que me he encontrado generalmente han colocado a las personas en grupos secundarios, y luego les han dado acceso a estos archivos en el sistema de archivos, y esto ha satisfecho prácticamente todo el uso que debe ocurrir.
Con el advenimiento de los sudo
permisos adicionales se podrían entregar a los grupos según sea necesario, lo que socava aún más los casos de uso que las contraseñas de grupo pueden haber proporcionado. Si necesitaba permitir a los usuarios más permisos, era mucho más fácil crear roles sudo
y luego solo permitir el nombre de usuario o grupo en el que estaban, permisos para elevar los permisos para que puedan realizar una tarea en particular.
Finalmente, la capacidad de crear listas de control de acceso (ACL) realmente dio la última flexibilidad que el modelo de permisos de usuario / grupo / otro no podía proporcionar solo, relegando cualquier posible necesidad de contraseñas de grupo a la oscuridad.
sudo
y ACL. Supongo que udev
viene con una historia similar, por supuesto, con un enfoque en los dispositivos. LecturA INTERESANTE.
Este es un uso práctico para las contraseñas grupales, que implementé para mí mismo en nuestro servidor de trabajo, ya que los registros indicaban que mi cuenta estaba siendo forzada (o podría haber sido un ataque de diccionario).
Utilicé ssh-keygen
y puttygen
respetuosamente para generar pares de claves para usar desde mi estación de trabajo y la computadora de mi casa. La clave que uso desde casa requiere una contraseña. Agregué las dos claves públicas al .ssh/authorized_keys
, creé un grupo marionette
con una contraseña y sin miembros. Como root solía visudo
agregar las siguientes líneas.
Cmnd_Alias SUDOING = /bin/bash, /usr/bin/sudo -i
%marionette ALL=NOPASSWD:SUDOING
He inhabilitado la contraseña de mi cuenta, que nadie puede acceder a él de esa manera. Ahora conectar sólo con las llaves y entrar en el grupo protegido por contraseña con la newgrp marionette
que me permite convertirse en root usando sudo -i
.
Sin la NOPASSWD:
opción que requerirá su cuenta de usuario contraseña. Si está desactivada y este grupo no tiene NOPASSWD
, usted no será capaz de sudo -i
. También será necesario que su cuenta de usuario contraseña si su lista de comandos no tiene /bin/bash
o lo que sea la raíz de su cáscara se usa por defecto.
Si bien esto hace que el camino a sudoing unos pasos más, se añade un buen nivel de seguridad. Si decide hacer todas sus cuentas de este tipo, cree una cuenta local con una contraseña y sudo privilegios, pero negar la entrada de ssh /etc/ssh/sshd_config
añadiendo algo como:
DenyUsers root caan
DenyGroups root daleks
Esto es necesario para el acceso local en caso de que vuelva a instalar y se olvidó de copia de seguridad de sus claves de acceso.
sudo
usar el newgrp
comando POSIX . Aún así, excelente respuesta.
newgrp
) y "nuevo" ( sudo
) con un claro valor agregado. Esto merece algunas felicitaciones.
Nunca he visto un caso de uso para esa contraseña, también. Y eso son unos 20 años de experiencia * nix.
El único caso de uso que me viene a la mente es configurarlo en "!" - bloqueado, por lo que nadie, que no sea miembro de ese grupo, puede cambiarlo con el newgrp
comando.
Si busco en / etc / group en SLES o / etc / gshadow en sistemas basados en RedHat, este parece ser el caso de uso "típico". SLES ni siquiera se molestó en crear un mecanismo de sombra para esa contraseña.
newgrp ntp
, ¿cómo !
cambia eso el bloqueo?
!
man newgrp
: se le negará el acceso al usuario si la contraseña del grupo está vacía y el usuario no figura como miembro.
Déjame sugerirte un caso de uso.
Primero permítanme decir que estamos tan acostumbrados al término "usuario" que ni siquiera pensamos en ello. Pero "usuario" no es realmente un usuario . Por ejemplo, en casa tenemos tres computadoras: la computadora portátil de mi esposa, mi computadora portátil y una computadora de escritorio común. Cuando uso el portátil de mi esposa, inicio sesión con su cuenta de usuario. Cuando usa mi computadora portátil, inicia sesión con mi cuenta de usuario. Si alguien necesita el escritorio, él o ella usa la única cuenta común. Vemos aquí que lo que el sistema informático llama "usuario" no es realmente un usuario sino un flujo de trabajo , un conjunto de actividades.
Aquí está la pregunta: ¿Por qué no puedo tener más de una actividad, una para cada trabajo diferente que tengo? Yo puedo. En mi computadora de trabajo he creado (experimentalmente) muchos usuarios diferentes para poder concentrarme en la tarea actual. Puse a todos estos usuarios en el mismo grupo para poder acceder a mis archivos sin importar qué usuario estoy usando actualmente.
Entonces, ¿dónde encaja el gpasswd en esto?
El comportamiento predeterminado de Ubuntu es crear un grupo especial para cada usuario.
¿Qué sucede si decidimos pensar en estos grupos primarios como usuarios y pensar en los usuarios del sistema como flujos de trabajo ?
Que estos nuevos usuarios necesitarían una contraseña para iniciar sesión, ¿verdad? Aquí está el lugar de gpasswd. Todavía necesito descubrir cómo iniciar sesión con el grupo (hasta ahora, lo que sé es que puedes cambiar de grupo con gpasswd si ya has iniciado sesión).