GNU/Linux >> Linux の 問題 >  >> Linux

systemd-homedを使用してLinuxユーザーのホームディレクトリを管理する

systemdの概念と実装全体は、古いSystemVスタートアップツールとinitツールに取って代わり始めて以来、多くの変更をもたらしました。時間の経過とともに、systemdはLinux環境の他の多くのセグメントに拡張されてきました。

1つの比較的新しいサービスであるsystemd-homedは、systemdの範囲をユーザーのホームディレクトリの管理にまで拡張します。この機能は、人間によるユーザーアクセスのみを強制し、ユーザーID(UID)の範囲が0〜999のシステムユーザーを制限します。私はsystemdが世界を引き継ぐ計画を支持しますが、これは少し過剰ではないかと思いました。それから私はいくつかの調査をしました。

systemd-homedとは何ですか?

systemd-homedサービスは、基盤となるコンピューターシステムに関係なく、ユーザーアカウントの移植性をサポートします。実用的な例は、USBサムドライブでホームディレクトリを持ち歩き、それを自動的に認識してマウントするシステムに接続することです。 systemdのリード開発者であるLennartPoetteringによると、ユーザーがログインしていない限り、ユーザーのホームディレクトリへのアクセスを許可しないでください。systemd-homedサービスは、特にラップトップなどのモバイルデバイスのセキュリティを強化するように設計されています。また、コンテナで役立つ可能性のあるツールのようです。

この目的は、ホームディレクトリにすべてのユーザーメタデータが含まれている場合にのみ達成できます。 〜/ .identityファイルには、ユーザーアカウント情報が格納されます。この情報には、パスワードが入力された場合にのみsystemd-homedにアクセスできます。このファイルには、Linuxがユーザーについて知る必要があるすべてのものを含む、すべてのアカウントメタデータが含まれているため、ホームディレクトリはsystemd-homedを使用するすべてのLinuxホストに移植できます。このアプローチにより、使用する必要のあるすべてのシステムにパスワードが保存されたアカウントを作成できなくなります。

ホームディレクトリは、パスワードを使用して暗号化することもできます。 systemd-homedでは、ホームディレクトリにすべてのユーザーメタデータとともにパスワードが保存されます。暗号化されたパスワードは他の場所には保存されないため、誰もアクセスできません。最新のLinuxシステムのパスワードを暗号化して保存するために使用される方法は破られないと考えられていますが、最善の安全策は、そもそもパスワードにアクセスできないようにすることです。彼らのセキュリティの無敵性についての仮定は、多くの人を破滅させました。

このサービスは、主にラップトップなどのポータブルデバイスでの使用を目的としています。 Poettering氏は、「Homedは主にクライアントマシン、つまりラップトップを対象としているため、私が言っていることに従うと、通常はsshよりもはるかに多くのsshを使用するマシンを対象としています」と述べています。ケーブルで単一の場所につながれたり、サーバールームにロックされたりするサーバーやワークステーションでの使用は意図されていません。

systemd-homedサービスは、新規インストールではデフォルトで有効になっています。少なくとも、私が使用しているディストリビューションであるFedoraでは有効になっています。この構成は仕様によるものであり、変更されることはないと思います。ユーザーアカウントは、既存のファイルシステム、既存のパーティションを保持するアップグレードまたは再インストール、および論理ボリュームを備えたシステムでは、影響を受けたり変更されたりすることはありません。

管理対象ユーザーの作成

useraddなどの従来のツール systemd-homedが管理しないアカウントとホームディレクトリを作成します。したがって、従来のユーザー管理ツールを引き続き使用する場合、ホームディレクトリのホームディレクトリはsystemd-homedによって管理されません。これは、新規インストール中に作成された非rootユーザーアカウントにも当てはまります。

homectlコマンド

homectl コマンドは、systemd-homedが管理するユーザーアカウントを作成します。 homectlの使用 新しいアカウントを作成するコマンドは、ホームディレクトリを移植可能にするために必要なメタデータを生成します。

homectl コマンドのマニュアルページには、systemd-homedサービスの目的と機能についての適切な説明があります。ただし、homectlを読み取る manページ、特にサンプルセクションは非常に興味深いものです。 5つの例のうち、3つは、同時プロセスの最大数やディスク容量の最大量など、特定の制限を課したユーザーアカウントを作成する方法を示しています。

homectl以外の設定では、 /etc/security/limits.conf ファイルはこれらの制限を課します。これに私が見ることができる唯一の利点は、ユーザーを追加し、単一のコマンドで制限を適用することです。従来の方法では、システム管理者はlimits.confを構成する必要があります 手動でファイルします。

制限

私が知っている唯一の重要な制限は、OpenSSHを使用してユーザーのホームディレクトリにリモートでアクセスできないことです。この制限は、現在PAMがhomectlによって管理されているホームディレクトリへのアクセスを提供できないためです。 。ポッターリングは、これを克服できるかどうか疑わしいようです。この問題により、プライマリワークステーションまたはラップトップのホームディレクトリにsystemd-homedを使用できなくなります。私は通常、SSHを使用して両方のコンピューターに1日に数回リモートでログインするので、これは私にとって最高の機会です。

私が見ることができるもう1つの懸念は、ホームディレクトリを備えたUSBサムドライブで使用するにはLinuxコンピュータが必要であり、そのコンピュータはsystemd-homedで実行されている必要があるということです。

オプションです

ただし、使用する必要はありません。ワークフローをサポートするために、ユーザー管理用の従来のツールを引き続き使用する予定です。 Fedoraを含め、私が少し知っているいくつかのディストリビューションのデフォルトは、systemd-homedサービスを有効にして実行することです。 従来のユーザーアカウントに影響を与えることなく、systemd-homedサービスを無効にして停止できます。

最終的な考え

システム管理者は、systemd-homedサービスを使用して、ローミングユーザーのホームディレクトリを安全に管理できます。これは、ラップトップなどのポータブルデバイスで役立ち、ホームディレクトリのみを含むサムドライブを持ち歩いて便利なLinuxコンピュータに接続するユーザーに特に役立ちます。

systemd-homedを使用する主な制限は、SSHを使用してリモートでログインできないことです。また、systemd-homedはデフォルトで有効になっていますが、useraddで作成されたホームディレクトリには影響しません。 指図。多くのsystemdツールと同様に、systemd-homedはオプションであることを指摘する必要があります。そのため、サービスを停止して無効にしました。

ラップトップよりも小さいパッケージでホームディレクトリを取得する必要がある場合は、永続ストレージを備えたライブUSBを使用できます。

リソース

  • https://systemd.io/HOME_DIRECTORY/
  • https://www.freedesktop.org/software/systemd/man/homectl.html
  • https://www.freedesktop.org/software/systemd/man/systemd-homed.service.html
  • https://wiki.archlinux.org/title/Systemd-homed

Linux
  1. Linuxでホームディレクトリのユーザーアカウントを削除する方法

  2. LinuxユーザーとLinuxグループを管理する

  3. Linuxでユーザーを一覧表示する-最良の方法

  1. Linuxでuseraddを使用してユーザーを管理する方法

  2. Linuxでカスタムホームディレクトリを使用してユーザーを作成する方法

  3. Linux –ユーザーが他のユーザーのホームディレクトリを読むことを許可しますか?

  1. Linuxでユーザーとグループを操作する方法

  2. LinuxにApacheを使用してWordPressをインストールする

  3. Linuxユーザーグループを管理する