Cambiar el grupo principal del usuario: crear nuevos archivos en ese grupo

Cambiar el grupo principal del usuario: crear nuevos archivos en ese grupo

Estoy configurando un entorno en el que doy a varios usuarios acceso SSH en mi servidor. Todos son de confianza, pero quiero agruparlos en un segmento del sistema de archivos. Creé los usuarios así:

adduser username -ingroup groupname

que funciona bastante bien. Cuando inicio sesión como uno de ellos, puedo hacer esto y obtener todas las respuestas correctas:

$id -r -u -n
username
$id -r -g -n
groupname

Cambié el grupo principal de mi propia cuenta de usuario groupnamehaciendo esto:

$usermod myuser groupname

Luego cerré la sesión y volví a iniciarla. Ahora los archivos a los que me gustaría que el grupo pudiera acceder se encuentran aquí:

$ls -l / | grep groupname
drwxr-xr-x  3 root     groupname    4.0K 2012-03-26 20:20 groupfiles
$cd /groupfiles
$ls -l 
drwxrwxr-x  2 root groupname    4.0K 2012-03-26 20:32 project

Los permisos son por diseño, los miembros del grupo no pueden alterar archivos/carpetas /groupfilespero pueden agregar, editar y eliminar/groupfiles/project

El problema que tengo es que cuando hago esto me sale el grupo equivocado:

$touch test
$ls -l test
-rw-rw-r-- 1 myuser myuser 0 2012-03-26 20:58 test
$id -r -g -n
groupname

Necesito hacerlo para que los archivos creados por vim, touch, etc. tengan el grupo correcto. Soy consciente de newgrp()y los setgidbits. Estos sonnolo que estoy buscando. Esto funciona bien para los nuevos usuarios que creé, pero no funciona para mi usuario. No estoy seguro de qué pasó, pero ahora está funcionando bien. Dejo esta pregunta aquí para futuros retoques.

Respuesta1

Supongo que el comportamiento que deseas es sudo usermod -g groupname myuser.

Nota: ese comando cambia la propiedad del grupo de todos los archivos en $HOME, pero no fuera de casa. Es posible que desees volver a cambiarlos.chgrp -R myuser $HOME

Luego deberá cerrar sesión y volver a iniciarla para que los cambios que desea que surtan efecto.

Si no desea cambiar su grupo principal 'myuser', newgrp es el camino a seguir.

sudo usermod -g admin bodhi

ssh localhost

touch file

newgrp bodhi
touch file2

ls -l file file2
-rw-r--r-- 1 bodhi admin 0 2012-03-26 19:28 file
-rw-r--r-- 1 bodhi bodhi 0 2012-03-26 19:29 file2

información relacionada