Implantando o SLE Micro usando imagens de disco brutas em máquinas virtuais
- O QUE É?
O SLE Micro fornece imagens brutas, também chamadas de imagens predefinidas, que podem ser implantadas diretamente na máquina virtual.
- POR QUÊ?
A implantação virtualizada economiza recursos de hardware.
- DEDICAÇÃO
A leitura do artigo leva aproximadamente 20 minutos.
- META
O SLE Micro será implantado com êxito em uma máquina virtual.
- REQUISITOS
Um Servidor de Host de VM com
libvirt
e um ambiente de virtualização KVM instalado e em execução.Mínimo de 32 GB de espaço em disco para implantação da imagem.
Opcionalmente, um meio de configuração, por exemplo, um disco flash USB.
1 Sobre as imagens predefinidas #
As imagens predefinidas são representações prontas para uso de um sistema operacional em execução. Elas não são instaladas da maneira tradicional com um instalador, mas são copiadas para o disco rígido do host de destino. O tópico inclui informações básicas sobre essas imagens predefinidas.
As imagens predefinidas devem ser configuradas na primeira inicialização usando as ferramentas incluídas nas imagens. O carregador de boot detecta a primeira inicialização conforme descrito na Seção 1.2, “Detecção de primeira inicialização”. Cada imagem vem com subvolumes padrão montados, que podem ser mudados na configuração durante a primeira inicialização. Para obter detalhes sobre os subvolumes, consulte a Seção 1.1, “Particionamento padrão”.
1.1 Particionamento padrão #
As imagens predefinidas são fornecidas com um esquema de particionamento padrão. Você pode mudá-lo durante a primeira inicialização usando o Ignition ou o Combustion.
Se você pretende realizar qualquer mudança no esquema de particionamento padrão, o sistema de arquivos raiz deve ser Btrfs.
Cada imagem tem os seguintes subvolumes:
/home /root /opt /srv /usr/local /var
O diretório /etc
é montado como overlayFS, em que o diretório superior é montado em /var/lib/overlay/1/etc/
.
Você pode reconhecer os subvolumes montados por padrão pela opção x-initrd.mount
em /etc/fstab
. Outros subvolumes ou partições devem ser configurados por meio do Ignition ou Combustion.
1.2 Detecção de primeira inicialização #
A configuração da implantação é executada apenas na primeira inicialização. Para diferenciar a primeira inicialização das seguintes, o arquivo de flag /boot/writable/firstboot_happened
será criado após a conclusão da primeira inicialização. Se o arquivo não estiver presente no sistema de arquivos, o atributo ignition.firstboot
será inserido na linha de comando do kernel e, portanto, tanto o Ignition quanto o Combustion serão acionados para execução (no initrd). Após concluir a primeira inicialização, o arquivo de flag /boot/writable/firstboot_happened
será criado.
Mesmo que a configuração não seja bem-sucedida por causa de arquivos de configuração impróprios ou ausentes, o arquivo de flag /boot/writable/firstboot_happened
será criado.
1.2.1 Forçar a reconfiguração do sistema em uma inicialização subsequente #
Se você precisar reconfigurar o sistema após a primeira inicialização, poderá forçar a reconfiguração na inicialização subsequente. Há duas opções.
Você pode inserir o atributo
ignition.firstboot=1
na linha de comando do kernel.Você pode apagar o arquivo de flag
/boot/writable/firstboot_happened
.
2 Preparando o dispositivo de configuração #
Por padrão, o login SSH de root
no SLE Micro é permitido apenas usando a chave SSH. Durante o processo de implantação, recomendamos criar um usuário sem privilégios que você possa usar para acessar o sistema instalado. Você pode criar uma conta de usuário sem privilégios na primeira inicialização com a ferramenta Combustion ou Ignition. A criação de um usuário sem privilégios durante a implantação do sistema também é útil para acessar a interface da Web do Cockpit.
Para preparar o dispositivo de configuração, faça o seguinte:
Formate o disco em qualquer sistema de arquivos suportado pelo SLE Micro: Ext3, Ext4 etc.:
>
sudo mkfs.ext4 /dev/sdYDefina o rótulo do dispositivo como
ignition
(quando o Ignition ou o Combustion é usado) ou comocombustion
(quando apenas o Combustion é usado). Se necessário (por exemplo, no host do Windows), use letras maiúsculas para os rótulos. Para definir o rótulo do dispositivo, execute:>
sudo e2label /dev/sdY ignitionVocê pode usar qualquer tipo de mídia de armazenamento de configuração suportado pelo seu sistema de virtualização ou hardware: imagem ISO, disco flash USB etc.
Monte o dispositivo:
>
sudo mount /dev/sdY /mntCrie a estrutura de diretórios conforme mencionado na Seção 2.1.1.1, “
config.ign
” ou na Seção 2.2, “Configurando a implantação do SLE Micro com o Combustion”, dependendo da ferramenta de configuração usada:>
sudo mkdir /mnt/ignition/Ou:
>
sudo mkdir -p /mnt/combustion/Prepare todos os elementos da configuração que serão usados pelo Ignition ou Combustion.
2.1.1 Como funciona o Ignition? #
Quando o sistema é inicializado pela primeira vez, o Ignition é carregado como parte de um initramfs
e procura um arquivo de configuração em um diretório específico (em um disco flash USB, ou você pode fornecer um URL). Todas as mudanças são executadas antes que o kernel alterne do sistema de arquivos temporário para o sistema de arquivos raiz real (antes da emissão do comando switch_root
).
O Ignition usa um arquivo de configuração no formato JSON chamado config.ign
. Você pode gravar a configuração manualmente ou usar o aplicativo da Web Fuel Ignition em https://ignite.opensuse.org para gerá-la.
O Fuel Ignition ainda não abrange o vocabulário completo do Ignition, e o arquivo JSON resultante pode precisar de outros ajustes manuais.
2.1.1.1
config.ign
#
O arquivo de configuração config.ign
deve residir no subdiretório ignition
da mídia de configuração, por exemplo, um pendrive USB chamado ignition
. A estrutura de diretórios deve ter a seguinte aparência:
<root directory> └── ignition └── config.ign
Para criar uma imagem de disco com a configuração do Ignition, você pode usar o aplicativo da Web Fuel Ignition em https://ignite.opensuse.org.
O config.ign
contém vários tipos de dados: objetos, strings, números inteiros, boolianos e listas de objetos. Para obter uma especificação completa, consulte Ignition
specification v3.3.0.
O atributo version
é obrigatório e, no caso do SLE Micro, o valor dele deve ser definido como 3.3.0
ou qualquer versão anterior. Do contrário, o Ignition falhará.
Para efetuar login no sistema como root
, você deve incluir pelo menos uma senha de root
. No entanto, é recomendável estabelecer o acesso por meio de chaves SSH. Para configurar uma senha, use uma senha segura. Se você usar uma senha gerada aleatoriamente, use pelo menos 10 caracteres. Se você criar a senha manualmente, use mais do que 10 caracteres e combine letras maiúsculas, letras minúsculas e números.
2.1.2 Exemplos de configuração do Ignition #
2.1.2.1 Exemplos de configuração #
Esta seção apresenta vários exemplos de configuração do Ignition no formato JSON incorporado.
A Seção 1.1, “Particionamento padrão” lista os subvolumes que são montados por padrão durante a execução da imagem predefinida. Para adicionar um novo usuário ou modificar qualquer um dos arquivos em um subvolume que não esteja montado por padrão, você precisa declarar esse subvolume primeiro para que ele também seja montado. Encontre mais detalhes sobre a montagem de sistemas de arquivos na Seção 2.1.2.1.1.3, “O atributo filesystems
”.
version
é obrigatório
Cada config.fcc
deve incluir a versão 1.4.0 ou inferior, que será convertida na especificação do Ignition correspondente.
2.1.2.1.1 Configuração de armazenamento #
O atributo storage
é usado para configurar partições, RAID, definir sistemas de arquivos, criar arquivos etc. Para definir partições, use o atributo disks
. O atributo filesystems
é usado para formatar partições e definir pontos de montagem de partições específicas. O atributo files
pode ser usado para criar arquivos no sistema de arquivos. Cada um dos atributos mencionados está descrito nas seções a seguir.
2.1.2.1.1.1 O atributo disks
#
O atributo disks
é uma lista de dispositivos que permite definir partições nesses dispositivos. O atributo disks
deve conter pelo menos um device
, os outros atributos são opcionais. O seguinte exemplo usa um único dispositivo virtual e divide o disco em quatro partições:
{ "ignition": { "version": "3.0.0" }, "storage": { "disks": [ { "device": "/dev/vda", "partitions": [ { "label": "root", "number": 1, "typeGuid": "4F68BCE3-E8CD-4DB1-96E7-FBCAF984B709" }, { "label": "boot", "number": 2, "typeGuid": "BC13C2FF-59E6-4262-A352-B275FD6F7172" }, { "label": "swap", "number": 3, "typeGuid": "0657FD6D-A4AB-43C4-84E5-0933C84B4F4F" }, { "label": "home", "number": 4, "typeGuid": "933AC7E1-2EB4-4F13-B844-0E14E2AEF915" } ], "wipeTable": true } ] } }
2.1.2.1.1.2 O atributo raid
#
raid
é uma lista de matrizes RAID. Os seguintes atributos de raid
são obrigatórios:
- level
um nível da matriz RAID específica (linear, raid0, raid1, raid2, raid3, raid4, raid5, raid6)
- devices
uma lista de dispositivos na matriz referenciada por seus caminhos absolutos
- name
um nome que será usado para o dispositivo md
Por exemplo:
{ "ignition": { "version": "3.0.0" }, "storage": { "raid": [ { "devices": [ "/dev/sda", "/dev/sdb" ], "level": "raid1", "name": "system" } ] } }
2.1.2.1.1.3 O atributo filesystems
#
filesystems
deve conter os seguintes atributos:
- device
o caminho absoluto para o dispositivo, normalmente
/dev/sda
, no caso de disco físico- format
o formato do sistema de arquivos (Btrfs, Ext4, xfs, vfat ou swap (troca))
NotaNo caso do SLE Micro, o sistema de arquivos
root
deve ser formatado como Btrfs.
O exemplo a seguir demonstra o uso do atributo filesystems
. O diretório /opt
será montado na partição /dev/sda1
, que está formatada como Btrfs. O dispositivo não será apagado.
Por exemplo:
{ "ignition": { "version": "3.0.0" }, "storage": { "filesystems": [ { "device": "/dev/sda1", "format": "btrfs", "path": "/opt", "wipeFilesystem": false } ] } }
Normalmente, o diretório pessoal de um usuário comum está localizado no diretório /home/USER_NAME
. Como /home
não é montado por padrão no initrd, a montagem deve ser definida claramente para que a criação do usuário seja bem-sucedida:
{ "ignition": { "version": "3.1.0" }, "passwd": { "users": [ { "name": "root", "passwordHash": "PASSWORD_HASH", "sshAuthorizedKeys": [ "ssh-rsa SSH_KEY_HASH" ] } ] }, "storage": { "filesystems": [ { "device": "/dev/sda3", "format": "btrfs", "mountOptions": [ "subvol=/@/home" ], "path": "/home", "wipeFilesystem": false } ] } }
2.1.2.1.1.4 O atributo files
#
Você pode usar o atributo files
para criar qualquer arquivo em sua máquina. Para criar arquivos fora do esquema de particionamento padrão, lembre-se de que você precisará definir os diretórios usando o atributo filesystems
.
No exemplo a seguir, um nome de host é criado usando o atributo files
. O arquivo /etc/hostname
será criado com o nome de host sl-micro1:
Lembre-se de que o JSON aceita modos de arquivo em números decimais, por exemplo, 420
.
JSON:
{ "ignition": { "version": "3.0.0" }, "storage": { "files": [ { "overwrite": true, "path": "/etc/hostname", "contents": { "source": "data:,sl-micro1" }, "mode": 420 } ] } }
2.1.2.1.1.5 O atributo directories
#
O atributo directories
é uma lista dos diretórios que serão criados no sistema de arquivos. O atributo directories
deve conter pelo menos um atributo path
.
Por exemplo:
{ "ignition": { "version": "3.0.0" }, "storage": { "directories": [ { "path": "/home/tux", "user": { "name": "tux" } } ] } }
2.1.2.1.2 Administração de usuários #
O atributo passwd
é usado para adicionar usuários. Como alguns serviços (por exemplo, o Cockpit) exigem login de um usuário não root, defina pelo menos um usuário sem privilégios. Se preferir, crie esse usuário de um sistema em execução conforme descrito na Seção 5.3, “Adicionando usuários”.
Para efetuar login no sistema, crie um usuário root
e um usuário comum e defina as respectivas senhas. Você precisa criar o hash das senhas, por exemplo, usando o comando openssl
:
openssl passwd -6
O comando cria um hash da senha escolhida. Use esse hash como o valor do atributo password_hash
.
Por exemplo:
{ "ignition": { "version": "3.0.0" }, "passwd": { "users": [ { "name": "root", "passwordHash": "PASSWORD_HASH", "sshAuthorizedKeys": [ "ssh-rsa SSH_KEY_HASH USER@HOST" ] } ] } }
O atributo users
deve conter pelo menos um atributo name
. ssh_authorized_keys
é uma lista de chaves SSH para o usuário.
2.1.2.1.3 Habilitando serviços systemd
#
Você pode habilitar serviços systemd
especificando-os no atributo systemd
.
Por exemplo:
{ "ignition": { "version": "3.0.0" }, "systemd": { "units": [ { "enabled": true, "name": "sshd.service" } ] } }
2.2 Configurando a implantação do SLE Micro com o Combustion #
Combustion é um módulo do dracut que permite configurar o sistema na primeira inicialização. Você pode usar o Combustion, por exemplo, para mudar as partições padrão, definir senhas de usuários, criar arquivos ou instalar pacotes.
2.2.1 Como funciona o Combustion? #
O Combustion é invocado depois que o argumento ignition.firstboot
é passado para a linha de comando do kernel. O Combustion lê um arquivo fornecido chamado script
, executa os comandos incluídos e, deste modo, realiza mudanças no sistema de arquivos. Se script
incluir o flag de rede, o Combustion tentará configurar a rede. Após a montagem de /sysroot
, o Combustion tentará ativar todos os pontos de montagem em /etc/fstab
e, em seguida, chamará transactional-update
para aplicar outras mudanças, por exemplo, definir a senha de root
ou instalar pacotes.
O arquivo de configuração script
deve residir no subdiretório combustion
da mídia de configuração chamada combustion
. A estrutura de diretórios deve ter a seguinte aparência:
<root directory> └── combustion └── script └── other files
O Combustion pode ser usado junto com o Ignition. Se você pretende fazer isso, defina o rótulo do meio de configuração ignition
e inclua o diretório ignition
com o config.ign
em sua estrutura de diretórios, conforme mostrado abaixo:
<root directory> └── combustion └── script └── other files └── ignition └── config.ign
Neste cenário, o Ignition é executado antes do Combustion.
2.2.2 Exemplos de configuração do Combustion #
2.2.2.1 O arquivo de configuração script
#
O arquivo de configuração script
é um conjunto de comandos que são analisados e executados pelo Combustion em um shell transactional-update
. Este artigo mostra exemplos de tarefas de configuração executadas pelo Combustion.
Como o arquivo script
é interpretado pelo shell, inicie-o sempre com a declaração do interpretador em sua primeira linha. Por exemplo, no caso do Bash:
#!/bin/bash
Para efetuar login no sistema, inclua pelo menos a senha de root
. No entanto, é recomendável estabelecer a autenticação por meio de chaves SSH. Se você precisa usar uma senha de root
, configure uma que seja segura. Para uma senha gerada aleatoriamente, use pelo menos 10 caracteres. Se você criar a senha manualmente, use mais do que 10 caracteres e combine letras maiúsculas, letras minúsculas e números.
2.2.2.1.1 Configuração de rede #
Para configurar e usar a conexão de rede durante a primeira inicialização, adicione a seguinte declaração ao script
:
# combustion: network
O uso dessa declaração transmite o argumento rd.neednet=1
para o dracut. A configuração de rede é padronizada para usar DHCP. Se uma configuração de rede diferente for necessária, proceda conforme descrito na Seção 2.2.2.1.2, “Fazendo modificações no initramfs”.
Se você não usar a declaração, o sistema permanecerá configurado sem nenhuma conexão de rede.
2.2.2.1.2 Fazendo modificações no initramfs #
Talvez seja necessário fazer mudanças no ambiente initramfs, por exemplo, para gravar uma configuração de rede personalizada para o NetworkManager em /etc/NetworkManager/system-connections/
. Para fazer isso, use a declaração prepare
.
Por exemplo, para criar uma conexão com um endereço IP estático e configurar o DNS:
#!/bin/bash # combustion: network prepare set -euxo pipefail nm_config() { umask 077 # Required for NM config mkdir -p /etc/NetworkManager/system-connections/ cat >/etc/NetworkManager/system-connections/static.nmconnection <<-EOF [connection] id=static type=ethernet autoconnect=true [ipv4] method=manual dns=192.168.100.1 address1=192.168.100.42/24,192.168.100.1 EOF } if [ "${1-}" = "--prepare" ]; then nm_config # Configure NM in the initrd exit 0 fi # Redirect output to the console exec > >(exec tee -a /dev/tty0) 2>&1 nm_config # Configure NM in the system curl example.com # Leave a marker echo "Configured with combustion" > /etc/issue.d/combustion
2.2.2.1.3 Particionamento #
As imagens brutas do SLE Micro são fornecidas com um esquema de particionamento padrão, conforme descrito na Seção 1.1, “Particionamento padrão”. Você pode usar um particionamento diferente. O conjunto de trechos de exemplo a seguir move /home
para uma partição diferente.
O script a seguir executa mudanças que não estão incluídas nos instantâneos. Se o script falhar e o instantâneo for descartado, algumas mudanças permanecerão visíveis e não poderão ser revertidas, por exemplo, as mudanças feitas no dispositivo /dev/vdb
.
O trecho a seguir cria um esquema de particionamento GPT com uma única partição no dispositivo /dev/vdb
:
sfdisk /dev/vdb <<EOF label: gpt type=linux EOF partition=/dev/vdb1
A partição é formatada como Btrfs:
wipefs --all ${partition} mkfs.btrfs ${partition}
O conteúdo possível de /home
é movido para o novo local da pasta /home
pelo seguinte trecho:
mount /home mount ${partition} /mnt rsync -aAXP /home/ /mnt/ umount /home /mnt
O seguinte trecho remove uma entrada antiga de /etc/fstab
e cria uma nova:
awk -i inplace '$2 != "/home"' /etc/fstab echo "$(blkid -o export ${partition} | grep ^UUID=) /home btrfs defaults 0 0" >>/etc/fstab
2.2.2.1.4 Criando novos usuários #
Como alguns serviços (por exemplo, o Cockpit) exigem login de um usuário não root, defina pelo menos um usuário sem privilégios. Se preferir, crie esse usuário de um sistema em execução conforme descrito na Seção 5.3, “Adicionando usuários”.
Para adicionar uma nova conta de usuário, primeiro crie uma string de hash que represente a senha do usuário. Use o comando openssl passwd -6
.
Após obter o hash da senha, adicione as seguintes linhas ao script
:
mount /home useradd -m EXAMPLE_USER echo 'EXAMPLE_USER:PASSWORD_HASH' | chpasswd -e
2.2.2.1.5 Definindo uma senha de root
#
Antes de definir a senha de root
, gere um hash da senha, por exemplo, usando openssl passwd
-6
. Para definir a senha, adicione a seguinte linha ao script
:
echo 'root:PASSWORD_HASH' | chpasswd -e
2.2.2.1.6 Adicionando chaves SSH #
O trecho a seguir cria um diretório para armazenar a chave SSH de root
e, em seguida, copia a chave SSH pública localizada no dispositivo de configuração para o arquivo authorized_keys
.
mkdir -pm700 /root/.ssh/ cat id_rsa_new.pub >> /root/.ssh/authorized_keys
O serviço SSH deve ser habilitado, caso você tenha que usar login remoto via SSH. Para obter informações detalhadas, consulte a Seção 2.2.2.1.7, “Habilitando serviços”.
2.2.2.1.7 Habilitando serviços #
Para habilitar serviços do sistema, como SSH, adicione a seguinte linha ao script
:
systemctl enable sshd.service
2.2.2.1.8 Instalando pacotes #
Como alguns pacotes podem exigir assinatura adicional, talvez seja necessário registrar seu sistema primeiro. Uma conexão de rede disponível também pode ser necessária para instalar pacotes adicionais.
Durante a primeira configuração de boot, você pode instalar pacotes adicionais no sistema. Por exemplo, você pode instalar o editor vim
adicionando:
zypper --non-interactive install vim-small
Lembre-se de que você não poderá usar o zypper
depois que a configuração for concluída e você fizer a inicialização no sistema configurado. Para executar mudanças mais tarde, você deve usar o comando transactional-update
para criar um instantâneo modificado.
3 Preparando a máquina virtual #
Esta seção descreve como preparar uma nova máquina virtual e quais etapas executar para implantar o SLE Micro nessa máquina.
Faça download da imagem de disco do SLE Micro no Servidor de Host de VM em que você pretende executar o SLE Micro virtualizado.
Inicie o Gerenciador de Máquinas Virtuais e selecione
› .Selecione
. Confirme com .Especifique o caminho para a imagem de disco do SLE Micro da qual você já fez download e o tipo de OS Linux que você está implantando, por exemplo,
Generic Linux 2020
. Confirme com .Especifique a quantidade de memória e o número de processadores que deseja atribuir à máquina virtual do SLE Micro e clique em para confirmar.
Especifique o nome da máquina virtual e da rede que serão usadas.
Se você estiver implantando uma imagem criptografada do SLE Micro, execute estas etapas adicionais:
Habilite
e clique em para confirmar.Clique em
no menu esquerdo e mude o método de boot de BIOS para UEFI para um boot seguro. Confirme com .Figura 1: Definir o firmware UEFI para a imagem criptografada do SLE Micro #Adicione um dispositivo Trusted Platform Module (TPM). Clique em
, selecione no menu esquerdo e escolha o tipo .Figura 2: Adicionar um dispositivo TPM emulado #Confirme com SLE Micro clicando em no menu superior.
e inicie a implantação do
4 Configurando com o JeOS Firstboot #
Quando você inicializar o SLE Micro pela primeira vez sem fornecer um dispositivo de configuração, o JeOS Firstboot permitirá a execução de uma configuração mínima do sistema. Se você precisar de mais controle sobre o processo de implantação, use um dispositivo com a configuração do Ignition ou do Combustion. Encontre mais informações na Seção 2.1, “Configurando a implantação do SLE Micro com o Ignition” e na Seção 2.2, “Configurando a implantação do SLE Micro com o Combustion”.
Para configurar o sistema com o JeOS Firstboot, faça o seguinte:
O Enter.
exibe uma tela de boas-vindas. Confirme comNas próximas telas, selecione o teclado, confirme o contrato de licença e escolha o fuso horário.
Na janela da caixa de diálogo
(Digitar senha de root), insira e confirme uma senha deroot
.Figura 3: Digitar senha de root #Para implantações criptografadas, o JeOS Firstboot faz o seguinte:
Solicita uma nova frase secreta para substituir a frase secreta padrão.
Gera uma nova chave LUKS e criptografa novamente a partição.
Adiciona um slot de chave secundária ao cabeçalho LUKS e criptografa-o no dispositivo TPM.
Se você estiver implantando uma imagem criptografada, siga estas etapas:
Selecione o método de proteção desejado e clique em
para confirmar.Insira uma senha de recuperação para a criptografia LUKS e digite-a novamente. A nova criptografia do sistema de arquivos raiz é iniciada.
Figura 4: Selecionar método de criptografia #Após a implantação bem-sucedida, registre seu sistema e crie um usuário sem privilégios conforme descrito na Seção 5.4, “Registrando o SLE Micro da CLI”.
5 Etapas pós-implantação #
5.1 Expandindo imagens de disco criptografadas #
As imagens de disco brutas criptografadas do SLE Micro não se expandem automaticamente até a capacidade total do disco. Este procedimento descreve as etapas para expandi-las até o tamanho desejado.
Use o comando
qemu-img
para aumentar a imagem de disco para o tamanho desejado.Use o comando
parted
para redimensionar a partição em que o dispositivo LUKS reside (por exemplo, a partição número 3) para o tamanho desejado.Execute o comando
cryptsetup resize luks
. Quando solicitado, digite a frase secreta para redimensionar o dispositivo criptografado.Execute o comando
transactional-update shell
para abrir um shell de leitura-gravação no instantâneo do disco atual. Em seguida, redimensione o sistema de arquivos Btrfs para o tamanho desejado, por exemplo:#
btrfs fi resize max /Saia do shell com
exit
e reinicialize o sistema comreboot
.
5.2 Criptografando novamente o sistema criptografado #
O sistema não está protegido. Portanto, não armazene dados confidenciais nele até que a nova criptografia de disco esteja concluída.
O JeOS Firstboot solicita uma nova frase secreta durante a fase de implantação. Depois que você inseri-la, o sistema será recriptografado automaticamente e, portanto, nenhuma outra ação será necessária.
As imagens criptografadas do SLE Micro são fornecidas com uma frase secreta LUKS padrão. Para proteger seu sistema, mude-a após a implantação do sistema. Para isso, proceda conforme descrito abaixo. Execute as etapas na mesma sessão de shell.
Importe as funções necessárias para o shell:
#
source /usr/share/fde/luksIdentifique o dispositivo LUKS subjacente e defina outras variáveis usadas:
#
luks_name=$(expr "`df --output=source / | grep /dev/`" : ".*/\(.*\)")E:
#
luks_dev=$(luks_get_underlying_device "$luks_name")Crie um arquivo de chave que armazene a frase secreta padrão 1234 e um arquivo de chave com a nova frase secreta.
Mude a senha de recuperação:
#
cryptsetup luksChangeKey --key-filePATH_TO_DEFAULT --pbkdf pbkdf2 "${luks_dev}" PATH_TO_NEWPATH_TO_DEFAULT é o caminho para o arquivo de chave com a frase secreta padrão. PATH_TO_NEW é o caminho para o arquivo de chave com a sua nova frase secreta.
Criptografe novamente o dispositivo LUKS:
#
cryptsetup reencrypt --key-filePATH_TO_NEW ${luks_dev}Crie uma nova chave aleatória e criptografe-a com o TPM:
>
sudo
fdectl regenerate-key --passfile PATH_TO_NEWRemova os dois arquivos de chave criados no Passo 3.
Atualize o arquivo
grub.cfg
executando:>
sudo
transactional-update grub.cfgReinicialize o sistema.
5.3 Adicionando usuários #
Como o SLE Micro requer um usuário sem privilégios para efetuar login por SSH ou para acessar o Cockpit, você precisa criar essa conta.
Esta etapa é opcional se você definiu um usuário sem privilégios no Ignition ou Combustion. Se você implantou o sistema usando o JeOS Firstboot, configure apenas a senha de root
e crie a conta sem privilégios manualmente conforme descrito abaixo:
Execute o comando
useradd
da seguinte maneira:#
useradd -m USER_NAME
Defina uma senha para essa conta:
#
passwdUSER_NAMESe necessário, adicione o usuário ao grupo
wheel
:#
usermod -aG wheelUSER_NAME
5.4 Registrando o SLE Micro da CLI #
Após a implantação bem-sucedida, você precisará registrar o sistema para obter suporte técnico e receber atualizações. É possível registrar o sistema da linha de comando usando o comando transactional-update
register
.
Para registrar o SLE Micro no SUSE Customer Center, faça o seguinte:
Execute
transactional-update register
da seguinte maneira:#
transactional-update register -rREGISTRATION_CODE -e EMAIL_ADDRESSPara o registro com um servidor de registro local, especifique também o URL para o servidor:
#
transactional-update register -rREGISTRATION_CODE -e EMAIL_ADDRESS \ --url "https://suse_register.example.com/"Substitua REGISTRATION_CODE pelo código de registro que você recebeu com a cópia do SLE Micro. Substitua EMAIL_ADDRESS pelo endereço de e-mail associado à conta do SUSE que você ou sua organização usa para gerenciar assinaturas.
Reinicialize o sistema para alternar para o instantâneo mais recente.
O SLE Micro agora está registrado.
Para obter informações que não fazem parte do escopo desta seção, consulte a documentação em linha com SUSEConnect --help
.
6 Informações legais #
Copyright © 2006-2024 SUSE LLC e colaboradores. Todos os direitos reservados.
Permissão concedida para copiar, distribuir e/ou modificar este documento sob os termos da Licença GNU de Documentação Livre, Versão 1.2 ou (por sua opção) versão 1.3; com a Seção Invariante sendo estas informações de copyright e a licença. Uma cópia da versão 1.2 da licença está incluída na seção intitulada “GNU Free Documentation License” (Licença GNU de Documentação Livre).
Para ver as marcas registradas da SUSE, visite https://www.suse.com/company/legal/. Todas as marcas comerciais de terceiros pertencem a seus respectivos proprietários. Os símbolos de marca registrada (®, ™ etc.) indicam marcas registradas da SUSE e de suas afiliadas. Os asteriscos (*) indicam marcas registradas de terceiros.
Todas as informações deste manual foram compiladas com a maior atenção possível aos detalhes. Entretanto, isso não garante uma precisão absoluta. A SUSE LLC, suas afiliadas, os autores ou tradutores não serão responsáveis por possíveis erros nem pelas consequências resultantes de tais erros.