Header Ads

Como alterar dados do usuário com chfn e usermod no Linux

Há mais em uma conta de usuário que em um nome de usuário. Aprenda a definir e alterar todos os metadados associados a uma conta de usuário Linux na linha de comando.

O que há em um nome?

Se você usa um computador semelhante ao Linux ou Unix, terá uma conta de usuário.O nome dado à conta é o nome da sua conta de usuário. Este é o nome que você usa para fazer login.É também (por padrão) o nome do seu grupo de login e o nome do seu diretório pessoal. Todos eles usam o mesmo identificador.

Há outro conjunto de informações que podem ser armazenadas para cada conta de usuário. Dados do mundo real, como o nome completo da pessoa, o número do escritório e o número do telefone comercial, por exemplo, podem ser definidos e anexados a eles. De fato, trechos de informações completamente arbitrários podem ser marcados em contas de usuário.

Em termos práticos, isso será mais útil para administradores de sistema que cuidam de computadores com muitas contas de usuário configuradas. Mas mesmo para o computador Linux de usuário único, é sempre interessante saber o que está acontecendo sob o capô.

O campo GECOS

Ao mesmo tempo, os pioneiros do Unix não tinham impressora própria. Eles tiveram que colocar em spool seus trabalhos de impressão em um mainframe da General Electric que estivesse executando o Sistema Operacional Abrangente da General Electric (GECOS). Para isso, os usuários dos sistemas Unix precisavam armazenar e usar as credenciais de uma conta no sistema GECOS.

O campo GECOS foi criado para armazenar essas credenciais.Há muito que esse requisito de nicho já passou para a história, e o campo GECOS foi reutilizado para armazenar outros dados relacionados ao proprietário da conta do usuário. Pode ter um novo emprego, mas mantém o nome antigo. Ele ainda é chamado de campo GECOS.

O campo é armazenado no arquivo / etc / passwd, junto com outras informações sobre a conta do usuário:

  • O nome do usuário da conta.
  • O ID do usuário.
  • O ID do grupo.
  • O caminho para o diretório inicial da conta do usuário.
  • O shellque é iniciado quando o usuário faz login.

É onde o comando finger e o comando pinky recuperam as informações exibidas.

RELACIONADO: Como usar oComando finger no Linux

O comando chfn

O chfn (alterar informações do dedo) permite definir e alterar as informações armazenadas no campo GECOS. As informações são armazenadas como uma lista separada por vírgula no campo.

O comando chfn já estava presente no Ubuntu 18.04.1 e Manjaro 18.1.0. Ele tinha que ser instalado no Fedora 31. Use este comando para instalá-lo:

 sudo dnf install util-linux-user 

Veja qual dedo pode descobrir sobre o proprietário da conta de usuário dave. ”Para obter o máximo de informações, usaremos a opção -l (formato longo):

 dedo dave -l 

É o que ele pôde encontrar:

Recupera o nome de usuário da conta, o diretório inicial e o shell padrão. Tudo isso está relacionado à conta do usuário. Eles não se referem à pessoa real que usa essa conta. Podemos usar o comando chfn para armazenar informações sobre a pessoa real.

 chfn dave 

O uso do chfn dessa maneira inicia um curto,processo interativo. Você é solicitado a digitar um valor de dados para cada informação que o campo GECOS pode conter.O valor atual para cada valor de dados é exibido entre colchetes []. Se você deseja manter os dados atuais, pode pressionar a tecla "Enter" ”chave e o valor entre colchetes será retido.

As informações inseridas foram:

  • Número do quarto: 512
  • Telefone comercial: 555-4567
  • Telefone residencial: 555-5432

Vamos verificar esse dedopega essas novas informações:

 dedo dave -l 

Sim, é verdade. Mas você deve ter notado que não solicitou alterar o nome completo. Isso só será feito se você usar o sudo. Mas não precisamos passar por toda a sessão chfn novamente, apenas porque esquecemos de usar o sudo. Podemos alterar qualquer um dos valores dos dados individualmente.

Alterando os valores dos dados individuais

Podemos definir o nome completo do proprietário da conta de usuário usando a opção -f (nome completo), juntamente com o sudo.

 sudo chfn -f "Dave McKay" dave

E se verificarmos mais uma vez com o dedo:

Podemos ver que o nome completo foi adicionado.

Existem outras opções para alterar o número do quarto, o número de telefone residencial e o número de telefone comercial. Para alterar o número da sala (escritório), use a opção -r (número da sala):

 sudo chfn -r 633 dave 

Observe que em algumas distribuições, você pode usar a opção -o (número da sala do escritório) em vez da opção -r. Mais sobre isso em breve. Por enquanto, para ver as opções da sua versão do chfn, use:

 man chfn 

Para alterar o número de telefone do escritório, use a opção -w (telefone comercial):

 sudo chfn -w 555-1122 dave 

E, finalmente, para alterar o número do telefone residencial, use -h (telefone residencialnúmero) opção:

 sudo chfn -h 555-6576 dave 

Vamos usar o dedo novamente para ver se todosessas alterações foram aceitas:

 finger dave -l 

Sucesso. Todos esses comandos funcionaram e os valores dos dados foram atualizados.

Usando chfn em outras contas de usuário

Tanto para alterar nossas próprias informações, que tal alterar as informações do GECOS paraoutros usuários?Isso é tão fácil. Você deve usar o sudo quando o fizer, mas essa é a única diferença. Vamos verificar quais dados estão definidos para a conta de usuário mary:

 finger mary -l 

As informações padrão comuns são definidaspara esta conta de usuário. Vamos adicionar à informação:

 sudo chfn mary 

Nós executaremos a mesma sessão que nósfeito anteriormente, sendo solicitado um valor de dados para cada informação que pode ser armazenada.E porque usamos o sudo, somos solicitados a fornecer o nome completo dos dados.

Espere um momento, qual é o último item, chamado "Outros"? ”

não é suportado por todas as versões do chfn, e você o verá apenas se usar o sudo, e é por isso que não o vimos antes quando (deliberadamente) não usou o sudo com:

 chfn dave 

O “ outro ”o valor dos dados pode conter o que você quiser. Ele não tem nenhum uso prescrito ou esperado.

Versões do chfn que suportam o “ Other ”O campo também fornece a opção -o (other) para alterar esse valor diretamente.É por causa do conflito entre -o para o número do escritório ”e -o para “ outro ”que alguns sistemas usam -r para o número da sala.

Podemos ver os dados armazenados para a conta de usuário mary no arquivo / etc / paswd, usando menos:

 menos / etc / passwd 

Nos sistemas que o suportam (verifique a página de manual da sua versão do chfn), você pode configurar o “outro ”campo diretamente usando a opção -o (other):

 sudo chfn -o "HTG Freelancer" dave 

E podemos verificar odados para a conta de usuário dave usando o comando less:

 menos / etc / passwd 

[asswd em uma janela do terminal ”largura = ” 646 & # 8243;altura = ” 382 & # 8243;/ >

Isso levanta uma questão óbvia. Se a sua versão do chfn não suportar o “ Other ”campo, como você muda isso?Podemos fazer isso com o comando usermod.

O comando usermod

O comando usermod permite modificar aspectos de uma conta de usuário por meio de ações como adicionar ou remover a conta de usuário de grupose alterando seu shell padrão. Também pode ser usado para manipular diretamente o campo GECOS.

Vamos dar uma olhada mais de perto na linha do arquivo / etc / passwd da conta de usuário mary.Nós usaremos o grep para isolar essa linha para nós. Isso funcionará porque os nomes de usuário precisam ser exclusivos.Só pode haver uma conta de usuário chamada mary.

 grep mary / etc / passwd 

Os campos no arquivo etc / passwd sãoexibido. Dois pontos “: ”é usado como o separador de campos. da esquerda para a direita, os campos são:

  • O nome do usuário da conta.
  • Um “ x ”que indica que a senha dessa conta de usuário é mantida criptografada no arquivo / etc / shadow.
  • O ID do usuário da conta mary.
  • O ID do grupo da conta mary.
  • O campo GECOS.
  • O caminho para o diretório inicial da conta de usuário mary.
  • O shell que é iniciado quando o proprietário da conta maryefetua login.

Uma vírgula “, ”é usado como separador para os valores de dados no campo GECOS. Os valores no campo GECOS são, da esquerda para a direita:

  • Nome completo.
  • Número da sala (ou escritório).
  • Número de telefone comercial.
  • Número de telefone residencial.
  • Outras informações.

Observe que o comando usermod define todo o campo GECOS com o novo valor que você fornece. Se tudo que você fornecer é o nome completo da pessoa, a única coisa no campo GECOS será o nome completo. Isso significa que você deve fornecer quaisquer valores de dados existentes que deseja manter.

Aqui está um exemplo.A usuária Mary foi promovida e vai passar para o quarto andar. Ela está recebendo um novo número de escritório, um novo número de telefone comercial, e nós vamos adicionar seu nome do meio. Ela é outra ”o valor do campo também vai mudar. Embora seu número de telefone residencial não mude, precisamos fornecê-lo na string para usermod.

Precisamos usar a opção -c (comment) e precisamos executar o comando com sudo.

 sudo usermod -c "Mary Carol Quinn, 405,5559654,555-7704, advogada do Linux" mary 

Usando grep para reportar sobreo conteúdo do arquivo / etc / passwd para mary, mostra que os novos valores foram adicionados.

 grep mary / etc / passwd 

RELACIONADO: adicione um usuário a um grupo (ou segundo grupo) no Linux

Tudo é fluxo, nada permanece

Dados imprecisos são inúteis. Quando as informações sobre as pessoas mudam, o escritório muda, o nome muda, os títulos das funções, você pode atualizar facilmente seus metadados para refletir a posição atual.

Via: How to Geek

Veja Também:

Nenhum comentário