Qual comando devo usar para remover um usuário de um grupo no Debian?
Ao adicionar um usuário a um grupo, isso pode ser feito com:
usermod -a -G group user
No entanto, não foi possível encontrar um comando semelhante (aceitando um grupo e um usuário como argumentos) para remover o usuário do grupo. O mais próximo que pude chegar é:
usermod -G all,existing,groups,except,for,group user
Existe um comando como o usermod OPTION group user
OPTION como uma opção para fazer usermod
(ou um programa semelhante) remover o usuário do grupo?
Respostas:
Você pode usar
gpasswd
:então a nova configuração de grupo será atribuída no próximo login, pelo menos no Debian. Se o usuário estiver conectado, os efeitos do comando não serão vistos imediatamente.
fonte
gpasswd -a user group
para adicionar o usuário ao grupo também parece mais agradável, especialmente se um erro de digitação ocorreu e a-a
opção foi descartada.usermod -g user user
e tente removê-los.No Debian, o
adduser
pacote contém umdeluser
programa que remove um usuário de um grupo se você passar ambos como argumentos:Se a sua distribuição não tiver
adduser
, você poderá editar/etc/group
e/etc/gshadow
manualmente.fonte
vigr
evipw
. Muito útil no caso das manpages estão muito longe :)/etc/group
executegrpconv
a atualização em/etc/gshadow
vez de editá-la.sudo deluser jenkins admin
/ usr / sbin / deluser: você não pode remover o usuário do grupo principal.usermod
ouvipw
para alterar o grupo principal do usuário. Esta pergunta era sobre grupos suplementares.adduser $user $group
comando mais simples em vez dousermod -x -y -z -...
.remove todos os grupos secundários / suplementares do nome de usuário , deixando-os como membros apenas do seu grupo principal. isso funcionou no Solaris 5.9
fonte
Esta é a abordagem da "velha escola" ...
A maioria dos sistemas * nix mantém as informações do grupo em um arquivo de texto simples
/etc/group
, ondecada linha contém os campos
delimitado pelo
:
personagem.Agora, suponha que você queira remover um usuário chamado
thisuser
de um grupo chamadothatgroup
. Comece fazendo backup/etc/group
e use o editor de sua preferência com privilégios su para editar o arquivo/etc/group
e remover athisuser
referência dathatgroup
entrada de linha, por exemplo,linha original é algo como isto:
thatgroup:x:1274:someuser,thisuser,anotheruser
após a edição deve ficar assim:
thatgroup:x:1274:someuser,anotheruser
Como em todas as outras respostas, isso não afetará a (s) sessão (s) atual (is) do usuário, se houver (ou seja, se o usuário estiver conectado no momento). A alteração entrará em vigor na próxima vez que o usuário efetuar login.
fonte
vigr
já foi mencionado para edição/etc/group
manual. Minhas páginas de manual dizem que os nomes de usuário são separados por vírgulas, não por dois pontos. A reinicialização não é necessária, você só precisa fazer login novamente (ou usarnewgrp
).Você pode usar o comando abaixo nas distribuições do SUSE (e, aparentemente, nenhuma outra ).
onde
group
é o grupo do qual você deseja remover o usuário euser_name
o usuário que deseja remover do grupo. Por exemplo,fonte
-R
opção, mas isso significa outra coisa. Acho que não é o Linux.-R
é: "-R, --root CHROOT_DIR Aplique alterações no diretório CHROOT_DIR e use os arquivos de configuração do diretório CHROOT_DIR."sudo usermod -R admin jenkins
usermod: caminho chroot inválido 'admin'Considerar:
abc2
nome do grupo:
newgroup11
Tarefa: Removendo Usuário
abc2
do Gruponewgroup11
** Por favor, corrija-me se estiver errado. **
fonte
usermod -G newgroup11 abc2
colocará você no grupo secundárionewgroup11
. Como o grupo principal éabc2
, você terminará nos dois grupos.usermod -g abc2 abc2
resulta emnewgroup11
ser removido dos grupos secundários porque não é mais mencionado. Portanto, para três ou mais grupos diferentes, esse método não funcionará. Veja as outras respostas envolvendogpasswd
para um comando melhor.Você pode remover o usuário do grupo executando o comando usermod sem a opção -a. Exemplo, executando "usermod -G group1 nome de usuário" adicionará o usuário ao grupo1 e o removerá de qualquer outro grupo em que esteja. Lembre-se, você pode manter o usuário em vários grupos listando os nomes dos grupos, separados por vírgula.
fonte
Para continuar usando o usermod em uma distribuição (como o Fedora) que não possui uma opção de remoção, onde user = bob e group = deletethisgroup, o comando seria:
Os pipes (1) obtêm todas as entradas de grupo das quais o usuário pertence, (2) retira o que precisa ser removido, (3) retorna a primeira coluna (nome do grupo), substitui a nova linha por vírgula e remove a vírgula à direita.
Obviamente, você pode colocar tudo isso em um script bash que leva o usuário e o grupo a serem excluídos como parâmetros. O awk poderia ser usado para encurtar o final, mas eu queria ficar com grep, cut, tr e sed.
fonte
gpasswd -d bob deletethisgroup
está disponível. Alguma razão para você não usá-lo?gpasswd
porque está intimamente relacionado/etc/passwd
, mas gerencia grupos. Ao contrário dopasswd
comando simples que apenas controla senhas,gpasswd
também pode ser usado para gerenciar a associação de um grupo. Uma senha de grupo não é necessária se você for root ou um administrador de grupo.gpasswd $group
você pode definir a senha do grupo que causa o problema de segurança que você mencionou. No entanto, você também não pode ter uma senha e usá-logpasswd -d $user $group
para excluir um usuário, conforme descrito no primeiro comentário e na resposta aceita. Observe que este comando não solicita uma senha de grupo nem a modifica ou exige.Suponha que username = student e groupname = research , portanto, para remover o
student
usuário doresearch
grupo, faça o seguinte:fonte
Uma solução se você estiver usando CSH, por qualquer motivo.
fonte
Para remover um usuário de um grupo, o gpasswd é o melhor utilitário para este IMO.
Exemplo de comando:
* Informações da Ajuda *
fonte