Eu tenho que alterar a propriedade do arquivo / diretório usando chmod
.I sei apenas o nome de usuário do proprietário, mas quero alterar o nome do grupo padrão simultaneamente. Neste estágio, o nome do grupo não está decidido, por isso estou colocando o mesmo que o nome de usuário
chown -R username:username path_to_dir
O comando pode ser executado para vários sistemas / usuários. Portanto, minha preocupação é que o linux sempre tenha um par nome de usuário (usuário): nome de usuário (grupo) OU, em algum momento, esse nome de grupo padrão poderá dar erro.
Embora eu tenha começado a encontrar o GID, o usuário pertence
id username | tr '(=)' ':' | awk -F: '{print $3}
Mas pelo conhecimento eu quero saber. Até agora, a análise de /etc/passwd
/etc/groups
poucos usuários, como "desligamento, parada, sincronização, operação", todos os usuários também listou em grupos.
EDIT 1: id -gn nome de usuário também é boa opção
id -g username
?id -gn username
que imprime o nome em vez do ID.Respostas:
Não há garantia de que o nome do grupo =
username
exista.O cenário mais comum é que os administradores de sistema usados no Linux estão criando um novo usuário localmente no sistema sem uma especificação explícita para o grupo, o que significa que o grupo será criado por padrão igual ao nome do usuário e atribuirá o usuário a o GID padrão a ser do grupo recém-criado.
Isso não significa que outro administrador do sistema siga este procedimento e se você lançar outros serviços de nomeação no mix como NIS ou LDAP, o grupo designado como padrão provavelmente não será o mesmo que o novo GID com o nome de grupo igual ao nome de usuário.
Portanto, você não deve confiar no fato de que nome de usuário = nome do grupo
fonte
useradd
script que, por padrão, cria um grupo com o mesmo nome, nem todos têm. Na última vez em que o usei (há muitos e muitos anos), o script de criação de usuários do slackware tinha como padrão um único grupo dousers
qual todos os usuários eram membros. docs.slackware.com/slackbook:users sugere que esse ainda pode ser o caso.Embora o idioma do grupo privado do usuário seja freqüentemente usado nos sistemas Linux modernos, o * nix não exige um grupo primário exclusivo para cada usuário, e é bem possível que várias contas de usuário compartilhem um grupo principal comum como
users
oustaff
.Mesmo nos casos em que o idioma UPG é imposto, não há razão específica para que o GID numérico de um UPG específico seja igual ao UID do proprietário, embora a maioria das ferramentas de criação de contas tente atribuir UIDs e GIDs em ordem, se eles forem acessível. Os IDs podem facilmente sair da etapa se os usuários e / ou grupos precisarem ser consistentes em vários sistemas (por exemplo, para acomodar compartilhamentos NFS pré-existentes).
fonte
Como Ramesh indicou, por padrão, o UID e o GID são iguais para usuários comuns. No entanto, esse nem sempre é o caso; portanto, você não deve fazer essa suposição, pois isso pode causar estragos no seu sistema. Atribuir permissões de arquivo / pasta a um grupo errado é um pouco confuso, não é?
Portanto, a resposta curta: não, o UID nem sempre é igual ao GID. Ainda assim,
/etc/passwd
contém o UID e o GID do grupo padrão na mesma linha, tornando mais fácil extraí-los.fonte
adduser
mais do queuseradd
e os padrões em/etc/adduser.conf
são definidos comoUSERGROUPS=yes
o que cria um grupo para cada novo usuário. Esses grupos geralmente (embora nem sempre) têm o mesmo GID que o UID do usuário para quem foram criados.A partir deste link, eu vejo as informações abaixo.
Um ID do usuário (UID) é um número inteiro positivo exclusivo designado por um sistema operacional semelhante ao Unix para cada usuário. Cada usuário é identificado no sistema por seu UID, e os nomes de usuário geralmente são usados apenas como uma interface para humanos.
Os UIDs são armazenados, junto com seus nomes de usuário correspondentes e outras informações específicas do usuário, no
/etc/passwd
arquivo, que pode ser lido com o comando cat da seguinte maneira:O terceiro campo contém o UID e o quarto campo contém o ID do grupo (GID), que por padrão é igual ao UID para todos os usuários comuns.
EDITAR
No entanto, como @Karlson aponta, não é verdade que o UID será igual ao GID por padrão.
A declaração é verdadeira apenas se nenhum grupo comum for adicionado separadamente e nenhum grupo for especificado explicitamente em nenhuma criação do usuário . Por padrão, gid para o próximo usuário adicionado =
max(gid) + 1
. Não há correlação entre o UID e o GID exigido por qualquer sistema * NIX que eles coincidam em alguns casos.Mais referências
http://www.thegeekstuff.com/2009/06/useradd-adduser-newuser-how-to-create-linux-users
fonte
-g
sinalizador nouseradd
programa, criará um grupo para você e, a menos que uma mudança no GID tenha acontecido, será = UID. No entanto, se o método de criação não se sabe que você não pode contar com o fato de que este será o caso:uid=123456(ME) gid=777(ABC) groups=777(ABC)