Você pode usar gpasswd
:
# gpasswd -d user group
então a nova configuração do grupo será atribuída no próximo login, pelo menos no Debian. Se o usuário estiver logado, os efeitos do comando não são vistos imediatamente.
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 consegui encontrar um comando semelhante (aceitando um grupo e um usuário como argumentos) para remover o usuário do grupo. O mais perto que consegui é:
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?
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 a sua distribuição não tiver adduser
, você poderá editar /etc/group
e /etc/gshadow
manualmente.
vigr
vigr -s
usermod -G "" username
remove todos os grupos secundários / suplementares do nome de usuário , deixando-os como membros apenas do grupo principal. isso funcionou no Solaris 5.9
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
, onde
cada linha contém os campos
delimitado pelo caractere :
.
Agora, suponha que você queira remover um usuário chamado thisuser
de um grupo chamado thatgroup
. Comece fazendo o backup de /etc/group
,
então use o editor de sua preferência com su privilégios
para editar o arquivo /etc/group
e remova a referência thisuser
da entrada de linha thatgroup
, por exemplo,
a linha original é algo assim:
thatgroup:x:1274:someuser,thisuser,anotheruser
após a edição deve ser deixado assim:
thatgroup:x:1274:someuser,anotheruser
Como com todas as outras respostas, isso não afetará a (s) sessão (ões) atual (ais) do usuário, se houver (ou seja, se o usuário estiver logado no momento). A alteração entrará em vigor na próxima vez que o usuário fizer login.
Você pode usar o comando abaixo nas distribuições do SUSE (e, aparentemente, nenhum outro ).
usermod -R group user_name
em que 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
Considere:
abc2
nome do grupo: newgroup11
Tarefa: remover o usuário abc2
do grupo newgroup11
[root@home1 ~]# groups abc2
abc2 : abc2
[root@home1 ~]# usermod -G newgroup11 abc2
[root@home1 ~]# groups abc2
abc2 : abc2 newgroup11
[root@home1 ~]# usermod -G newgroup11 abc2
[root@home1 ~]# usermod -G abc2 abc2
[root@home1 ~]# groups abc2
abc2 : abc2
** Por favor, corrija-me se eu estiver errado. **
Suponha que username = student e groupname = research , portanto, para remover student
user de research
group, é necessário fazer o seguinte:
gpasswd -d student research
Para continuar usando o usermod em uma distro (como o Fedora) que não possui uma opção remove, 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 do grupo a que o usuário pertence, (2) retira aquele que precisa ser removido, (3) retorna a primeira coluna (nome do grupo), substitui a nova por vírgula e remove a vírgula final.
Claro, você poderia colocar tudo isso em um script bash que leva o usuário e o grupo a serem excluídos como parâmetros. awk poderia ser usado para encurtar o final, mas eu queria ficar com grep, cut, tr e sed.
Você pode remover o usuário do grupo executando o comando usermod sem uma opção. Exemplo, executando "usermod -G group1 username" adicionará o usuário ao group1 e o removerá de qualquer outro grupo onde ele estiver. Lembre-se, você pode manter o usuário em vários grupos, listando os nomes dos grupos, separados por vírgula.
pw groupmod "groupname|gid" -d "username|uid"
Uma solução se você estiver usando o CSH, por qualquer motivo.
Para remover um usuário de um grupo, o gpasswd é o melhor utilitário para este IMO.
Exemplo de comando:
sudo gpasswd -d group user
* Ajuda Info *
Usage: gpasswd [option] GROUP
Options:
-a, --add USER add USER to GROUP
-d, --delete USER remove USER from GROUP
-h, --help display this help message and exit
-Q, --root CHROOT_DIR directory to chroot into
-r, --delete-password remove the GROUP's password
-R, --restrict restrict access to GROUP to its members
-M, --members USER,... set the list of members of GROUP
-A, --administrators ADMIN,...
set the list of administrators for GROUP
Except for the -A and -M options, the options cannot be combined.