Configurando os usuários
Usuário Default
Por default, um usuário privilegiado nomeado core
é criado no sistema
Fedora CoreOS, mas não é configurado com uma senha default ou uma chave
SSH. Se você deseja utilizar o usuário core
, você deve prover uma
configuração ignition que inclui uma senha e/ou chave(s) SSH para o usuário
core
. Você também deveria criar usuários novos, adicionais via
configurações Ignition.
Criando um novo usuário
Para criar um novo usuário (ou mais de um), adicione-o a lista users
da
sua configuração do Fedora CoreOS, no exemplo a seguir, a configuração cria
dois novos nomes de usuários, mas não os configura para serem especialmente
úteis.
variant: fcos
version: 1.3.0
passwd:
users:
- name: jlebon
- name: miabbott
Você irá (tipicamente) querer configurar chaves SSH ou uma senha, para poder entrar como esses usuários.
Usando uma chave SSH
Para configurar uma chave SSH para um usuário local, você pode usar uma configuração do Fedora CoreOS:
variant: fcos
version: 1.3.0
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
- name: jlebon
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
- sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Localizações das chaves SSH
O sshd usa um programa auxiliar para
ler as chaves públicas dos arquivos no diretório ~/.ssh/authorized_keys.d
do usuário. Os arquivos de chave são lidos em ordem alfabética, ignorando os
dotfiles. O arquivo padrão ~/.ssh/authorized_keys
é lido depois, da
maneira usual. Para depurar a leitura de ~/.ssh/authorized_keys.d
, execute
manualmente o programa auxiliar e inspecione sua saída:
/usr/libexec/ssh-key-dir
O Ignition grava as chaves SSH configuradas em
~/.ssh/authorized_keys.d/ignition
. Em plataformas onde as chaves SSH podem
ser configuradas no nível da plataforma, como AWS, Afterburn escreve essas
chaves em ~/.ssh/authorized_keys.d/afterburn
.
Usando autenticação por senha
O Fedora CoreOS não vem com senhas por padrão. Você pode usar uma
configuração do Fedora CoreOS para escolher uma senha para um usuário
local. Considerando o exemplo anterior, você pode configurar o
password_hash
para um ou mais usuários:
variant: fcos
version: 1.3.0
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
- name: jlebon
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
- sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Para gerar um hash de senha seguro, utilize o comando mkpasswd
:
$ mkpasswd --method=yescrypt
Password:
$y$j9T$A0Y3wwVOKP69S.1K/zYGN.$S596l11UGH3XjN...
O método de hash yescrypt
é recomendado para novas senhas, para mais
detalhes em métodos de hash, veja man 5 crypt
.
A senha configurada será aceita para autenticação local no console. Por padrão, o Fedora CoreOS não permite password authentication via SSH.
Configurando grupos
O Fedora CoreOS vem com alguns grupos configurados por default: root
,
adm
,wheel
,sudo
,systemd-journal
,docker
Quando estiver configurando usuários via configurações do Fedora CoreOS, nós podemos especificar de quais grupos o(s) usuário(s) será parte.
variant: fcos
version: 1.3.0
passwd:
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
- name: jlebon
groups:
- wheel
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
- sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
groups:
- docker
- wheel
password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Se um grupo não existe, os usuários devem cria-los como parte da configuração do Fedora CoreOS.
variant: fcos
version: 1.3.0
passwd:
groups:
- name: engineering
- name: marketing
gid: 9000
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
- name: jlebon
groups:
- engineering
- wheel
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
- sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
groups:
- docker
- marketing
- wheel
password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Configurando privilégios administrativos
A maneira mais fácil para garantir privilégios admistrativos para usuários é
adiciona-los aos grupos sudo
e wheel
como parte da configuração do
Fedora CoreOS.
variant: fcos
version: 1.3.0
passwd:
groups:
- name: engineering
- name: marketing
gid: 9000
users:
- name: core
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDHn2eh...
- name: jlebon
groups:
- engineering
- wheel
- sudo
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDC5QFS...
- sh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIIveEaMRW...
- name: miabbott
groups:
- docker
- marketing
- wheel
- sudo
password_hash: $y$j9T$aUmgEDoFIDPhGxEe2FUjc/$C5A...
ssh_authorized_keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDTey7R...
Habilitando autenticação SSH por senha
Para habilitar autenticação por senha via SSH, adicione o seguinte na sua configuração do Fedora CoreOS:
variant: fcos
version: 1.3.0
storage:
files:
- path: /etc/ssh/sshd_config.d/20-enable-passwords.conf
mode: 0644
contents:
inline: |
# Fedora CoreOS disables SSH password login by default.
# Enable it.
# This file must sort before 40-disable-passwords.conf.
PasswordAuthentication yes