配置用户

默认用户

默认情况下,名为的特权用户 core 是在Fedora CoreOS系统上创建的,但没有使用默认密码或SSH键进行配置。如果您希望使用 core 用户,您必须提供包括密码和/或SSH密钥的Ignition配置 core 用户。或者,您也可以通过Ignition配置创建其他新用户。

创建新用户

要创建一个或多个新用户,请将其添加到 users 你的Butane配置清单。在下面的示例中,配置创建了两个新用户名,但没有将它们配置为特别有用。

variant: fcos
version: 1.4.0
passwd:
  users:
    - name: jlebon
    - name: miabbott

您通常需要配置SSH密钥或密码,以便能够以这些用户身份登录。

使用SSH密钥

要为本地用户配置SSH密钥,您可以使用Butane配置:

variant: fcos
version: 1.4.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...

SSH密钥位置

SSHD使用 帮助者计划 从用户的文件读取公钥 ~/.ssh/authorized_keys.d 目录。关键文件按字母顺序读取,忽略点文件。标准 ~/.ssh/authorized_keys 之后,以通常的方式读取文件。调试…的读数 ~/.ssh/authorized_keys.d ,手动运行帮助器程序并检查其输出:

/usr/libexec/ssh-key-dir

Ignition将配置的SSH密钥写入 ~/.ssh/authorized_keys.d/ignition 。在可在平台级别配置SSH密钥的平台上,如AWS,Afterburn会将这些密钥写入 ~/.ssh/authorized_keys.d/afterburn

使用密码身份验证

Fedora CoreOS发货时没有默认密码。您可以使用Butane配置为本地用户设置密码。在上一个示例的基础上,我们可以配置 password_hash 对于一个或多个用户:

variant: fcos
version: 1.4.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...

要生成安全的密码散列,请使用 mkpasswd

$ podman run -ti --rm quay.io/coreos/mkpasswd --method=yescrypt
Password:
$y$j9T$A0Y3wwVOKP69S.1K/zYGN.$S596l11UGH3XjN...

这个 yescrypt 建议对新密码使用哈希方法。有关哈希方法的更多详细信息,请参见 man 5 crypt

配置的密码将在控制台接受本地身份验证。默认情况下,FedoraSSH不允许[_ENABLING_SSH_PASSWORD_AUTHENTICATION,PASSWORD CoreOS]

配置组

Fedora CoreOS默认配置了几个组: rootadmwheelsudosystemd-journaldocker

当通过Butane配置配置用户时,我们可以指定用户应该属于的组。

variant: fcos
version: 1.4.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...

如果组不存在,用户应将其创建为Butane配置的一部分。

variant: fcos
version: 1.4.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...

配置管理权限

要授予用户管理权限,最简单的方法是将其添加到 sudowheel 作为Butane配置的一部分。

variant: fcos
version: 1.4.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...

启用SSH密码身份验证

要通过SSH启用密码身份验证,请在Butane配置中添加以下内容:

variant: fcos
version: 1.4.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