Adicionar todos os usuários de um grupo a outro grupo?

8

Tenho alguns usuários em um grupo chamado aae preciso conceder a eles o direito de gravar em uma pasta que está atualmente tomcat:tomcatdeploy.

A maneira direta de fazer isso é adicionar todos os usuários ao tomcatdeploygrupo, um por um.

É possível dizer que os membros do grupo aatambém são automaticamente membros tomcatdeploy, adicionando de alguma forma o aagrupo ao tomcatdeploygrupo?

Ou isso está tentando levar o esquema de permissões do UNIX longe demais?

Rico
fonte

Respostas:

7

Você pode usar o lidcomando para obter uma lista de usuários aae o loop sobre essa lista para adicioná-los a tomcatdeploy:

for u in $(lid -g -n aa); do usermod -a -G tomcatdeploy $u; done
Justin Ethier
fonte
for u in $(lid -g -n aa); do usermod -a -G tomcatdeploy $u; done(Eu suponho que você quis dizer $uem usermod, não apenas u)
asoundmove
Boa pegada! Acabei de corrigir o código na minha resposta.
Justin Ethier 25/02
10

Você não mencionou em qual plataforma está, mas um sistema Linux dos últimos 5 anos (ou mais, provavelmente) suporta ACLs, além das permissões tradicionais do sistema de arquivos Unix. Usando ACLs, você pode adicionar o segundo grupo ao diretório com acesso de gravação:

$ setfacl -m group:2ndtomcatdeploy:rwx target_directory

Você pode usar getfaclpara exibir as ACLs e ls -lmostrará um '+' no final da sequência usual do modo simbólico.

Wil Cooley
fonte