Um /etc/group
arquivo de amostra contém as seguintes entradas:
root:*:0:
adm:!:4:logcheck
antoine:x:1000:
As páginas de manual que eu li (Debian e OSX) dizem que o segundo campo é armazenar uma senha de grupo. Como raramente são usados, geralmente é colocado um asterisco *
ou um x
em vez de deixá-lo em branco.
A shadow
página do manual também diz que esse segundo campo deve armazenar o resultado da crypt
função. E se um resultado inválido for armazenado (como *
ou !
), significa que a senha não pode ser usada como método de autenticação.
Isso também vale para o group
arquivo? Por que acabo com três caracteres diferentes no meu group
arquivo, todos com o mesmo significado? Posso mudar tudo com segurança *
?
*
?!
uso de um único grupo em um único servidor dentre os 10 ou mais atualmente gerenciados. Pela simplicidade de alguns scripts de verificação, ter sempre o mesmo caractere lá esclareceria as coisas. Bem, se realmente significa o mesmo, é claro.Respostas:
Você está pensando que o
!
,*
oux
tem um significado especial aqui, e, portanto, está preocupado com a possibilidade de haver alguma distinção entre eles.O fato é que esses personagens são escolhidos simplesmente porque se destacam, pelo menos aos olhos ocidentais. Esses caracteres indicam um valor ausente ou um caso de exceção ou um aviso. Você pode colocar
boogabooga
aqui e ter exatamente o mesmo efeito.Isso ocorre pela maneira como as senhas são tratadas nos sistemas do tipo Unix. Quando o sistema recebe uma entrada de senha, ele faz a hash e a compara ao hash armazenado. Portanto, tudo o que importa aqui é que você use algum caractere ou sequência de caracteres que possivelmente não possa ser um hash de senha válido. (Também não deve incluir dois pontos, por razões óbvias.)
Embora não haja diferença entre esses caracteres da perspectiva do SO principal, existem algumas convenções:
Quando o
pwconv(8)
programa Linux vêx
, isso significa que "já mudei esse hash de senha pública para o arquivo de senhas de sombra".Na prática, esse não é um caso importante, porque os dias de conversão para (ou, o céu o ajuda, de ) senhas de sombra estão atrás de nós agora.
Se você usa
usermod -L
oupasswd -l
bloqueia um usuário,!
tem um significado especial/etc/shadow
porque essa é a convenção para "quebrar esse hash para que não corresponda mais".Adicionar qualquer outro caractere ao hash armazenado também o quebraria. Violar essa convenção apenas impede
usermod -U
oupasswd -u
de desbloqueio de login do usuário. Da mesma forma, como você o bloqueou manualmente adicionando um personagem falso, você pode desbloqueá-lo manualmente removendo-o.Tudo isso é apenas trivial com relação a essa questão, no entanto. Não existe
groupmod -L
ougpasswd -l
, portanto, não há!
convenção/etc/group
.Mais trivialidade: se você está indo para contas de usuário bloqueio à mão, você deve ficar longe do
[A-Za-z0-9/\]
set, uma vez que estes são personagens legais para o hash. Essa é uma razão queusermod
usa!
aqui em vez dex
.Não vejo nada de errado em normalizar todos os seus
/etc/group
campos de senha, se isso faz você se sentir melhor. Ao fazer isso, você já está dizendo que está feliz em invadir esses arquivos manualmente, então provavelmente não é do tipo que usa as ferramentas que se preocupam com as distinções. Independentemente disso, a alteração não terá efeito na operação diária do sistema.fonte
getpwent(3)
e com amigos. O Perl possui wrappers para isso em sua biblioteca padrão, assim como qualquer outra linguagem de script focada em sysadmin do Unix. Se você estiver usando um idioma sem esses invólucros, seria uma boa desculpa para negociar. :)x
e*
para marcar um campo de senha "não utilizado". Só que curioso ... a página de manual diz que o campo pode muito bem ser deixado vazio (o que no campo do banco de dados pode ser chamado de NULL - especialmente no Oracle, que define NULL e string vazia como iguais). Então, voltando ao / etc / group: por que usarx
or!
ou*
, em vez de simplesmente deixar o campo vazio? Dois pontos consecutivos se destacam tão bem quanto qualquer um desses personagens. Não é importante - apenas curioso/etc/shadow
. Além disso, rejeito a noção de que dois pontos duplos sejam igualmente claros. Rápido, quantos campos vazios estão aqui::::::
:? Agora quantos:x:*:!:x:*:
:? Mesmo número de dois pontos, mas respostas diferentes, confio.