Alterar o grupo principal do usuário - criar novos arquivos nesse grupo

Alterar o grupo principal do usuário - criar novos arquivos nesse grupo

Estou configurando um ambiente onde concedo acesso SSH a vários usuários em meu servidor. Todos eles são confiáveis, mas quero encurralá-los em um segmento do sistema de arquivos. Eu criei os usuários assim:

adduser username -ingroup groupname

que funciona bem o suficiente. Quando faço login como um deles, posso fazer isso e obter todas as respostas certas:

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

Mudei o grupo principal da minha própria conta de usuário groupnamefazendo o seguinte:

$usermod myuser groupname

Em seguida, saí e entrei novamente. Agora, os arquivos que gostaria que o grupo pudesse acessar estão aqui:

$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

As permissões são predefinidas, os membros do grupo não podem alterar arquivos/pastas, /groupfilesmas podem adicionar, editar e excluir em/groupfiles/project

O problema que estou tendo é que quando faço isso, pego o grupo errado:

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

Preciso fazer com que os arquivos criados pelo vim, touch, etc tenham o grupo correto. Estou ciente newgrp()e dos setgidbits. Estes sãonãoo que estou procurando. Isso funciona bem para os novos usuários que criei, mas não funciona para o meu usuário. Não tenho certeza do que aconteceu, mas está funcionando bem agora. Acabei de deixar esta pergunta aqui para futuros consertadores.

Responder1

Eu estou supondo que o comportamento que você deseja é sudo usermod -g groupname myuser.

Nota: esse comando altera a propriedade do grupo para todos os arquivos em $HOME, mas não fora de casa. Você pode querer alterá-los de voltachgrp -R myuser $HOME

Em seguida, você precisa fazer logoff e logon novamente para que as alterações que deseja que entrem em vigor.

Se você não deseja alterar seu grupo primário 'myuser', newgrp é a melhor opção.

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

informação relacionada