ti-enxame.com

Como removo um usuário de um grupo?

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 usermod OPTION group user com OPTION uma opção para fazer com que usermod (ou um programa semelhante) remova o usuário do grupo?

372
Lekensteyn

Você pode usar gpasswd:

# gpasswd -d user group

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.

443
user13742

No Debian, o pacote adduser contém um programa deluser que remove um usuário de um grupo se você passar ambos como argumentos:

deluser user group

Se sua distribuição não tiver adduser, você poderá editar /etc/group e /etc/gshadow manualmente.

vigr
vigr -s
186
usermod -G "" username

remove todos os grupos secundários/suplementares de username, deixando-os como membros apenas do seu grupo principal. isso funcionou no Solaris 5.9

74
user208145

Esta é a abordagem da "velha escola" ...

A maioria dos sistemas * nix mantém as informações do grupo em um arquivo de texto sem formatação /etc/group , em que

  • cada linha contém os campos

    • nome do grupo
    • senha
    • GID e
    • lista de usuários

    delimitado pelo : personagem.

  • o campo user_list é uma lista de nomes de usuário, separados por vírgulas.

Agora, suponha que você queira remover um usuário chamado thisuser de um grupo chamado thatgroup. Comece fazendo o backup /etc/group, use o editor de sua preferência com privilégios su para editar o arquivo /etc/group e remova a referência thisuser da entrada da linha thatgroup, 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.

15
p57

Você pode usar o comando abaixo nas distribuições do SUSE (e, aparentemente, nenhum outro).

usermod -R gruponome do usuário

onde group é o grupo do qual você deseja remover o usuário e user_name o usuário que você deseja remover do grupo. Por exemplo,

usermod -R root imnottheroot
2
Stavros Fan Koutsouropoulos

Considerar:

  • nome do usuário: abc2
  • nome do grupo: newgroup11

  • Tarefa: Removendo usuário abc2 do grupo newgroup11

[[email protected] ~]# groups abc2
abc2 : abc2
[[email protected] ~]# usermod -G newgroup11 abc2
[[email protected] ~]# groups abc2
abc2 : abc2 newgroup11
[[email protected] ~]# usermod -G newgroup11 abc2
[[email protected] ~]# usermod -G abc2 abc2
[[email protected] ~]# groups abc2
abc2 : abc2

** Por favor, corrija-me se estiver errado. **

1
new user

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.

1
Helper

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:

usermod -G `cat /etc/group |  grep bob | grep -v deletethisgroup | cut -d ':' -f 1 | tr '\n' ',' | sed 's/,$//'` bob

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.

0
Stephen

Suponha que nome de usuário = aluno e nome do grupo = pesquisa; portanto, para remover o usuário student do grupo research, é necessário fazer o seguinte:

gpasswd -d student research
0
ravi