ホームページ >システムチュートリアル >Linux >Linux システムのユーザー グループを通じてユーザーを管理します。

Linux システムのユーザー グループを通じてユーザーを管理します。

王林
王林転載
2024-02-22 09:07:22906ブラウズ

Linux では、これは完全に実現可能です。ただし、その前に、ユーザー グループとアクセス コントロール リスト (ACL) を通じてユーザーを管理する方法を理解する必要があります。
単純なユーザーから始めて、複雑なアクセス制御リスト (ACL) に到達していきます。必要な操作はすべて、選択した Linux ディストリビューションで行うことができます。この記事はユーザー グループに焦点を当てているため、ユーザーに関する基本的な知識については説明しません。

デモンストレーションの目的で、次のように仮定します:

次の 2 つのユーザー名を持つ 2 人の新しいユーザーを作成する必要があります:

  • オリビア
  • ネイサン

次の 2 つのユーザー グループを作成する必要があります:

  • 読者
  • 編集者

オリビアは編集者グループに属し、ネイサンは読者グループに属します。 Reader ユーザー グループは /DATA ディレクトリに対する読み取り権限のみを持ちますが、editors ユーザー グループは /DATA ディレクトリに対する読み取り権限と書き込み権限の両方を持ちます。確かに、これは非常に小さなタスクですが、基本的な情報が得られるので、他のより大きなニーズに合わせてこのタスクを拡張できます。

Ubuntu 16.04 サーバー プラットフォームでデモを行います。これらのコマンドは共通ですが、唯一の違いは、ディストリビューションで sudo コマンドを使用しない場合、これらのコマンドを実行するには root ユーザーに切り替える必要があることです。

######ユーザーを作成######
最初に行う必要があるのは、実験用に 2 人のユーザーを作成することです。 useradd コマンドを使用してユーザーを作成できます。単にユーザーを作成するだけではなく、ユーザーとそのホーム ディレクトリを作成し、パスワードを設定する必要もあります。 リーリー これで 2 人のユーザーが作成されました。/home ディレクトリを見ると、彼らのホーム ディレクトリを見つけることができます (ユーザーの作成と同時に -m オプションを使用してホーム ディレクトリを作成したためです。

その後、次のコマンドを使用してパスワードを設定できます:

リーリー

このようにして、2 人のユーザーを作成しました。

ユーザーグループの作成とユーザーの追加

次に、読者と編集者のユーザー グループを作成し、それらにユーザーを追加します。ユーザー グループを作成するコマンドは次のとおりです: リーリー (LCTT 翻訳: CentOS などの一部の Linux ディストリビューションを使用する場合、システムに addgroup コマンドがない場合があります。同じ効果を達成するには、addgroup コマンドを groupadd コマンドで置き換えることをお勧めします)

図 1: 作成したばかりの新しいユーザー グループを使用できます。
Linux 系统中通过用户组管理用户!ユーザー グループを作成した後、ユーザーをこれら 2 つのユーザー グループに追加する必要があります。次のコマンドを使用して、ユーザー nathan をリーダー ユーザー グループに追加します。 リーリー

次のコマンドを使用して、olivia を編集者ユーザー グループに追加します:

リーリー

ユーザー グループを通じてユーザーを管理できるようになりました。

ユーザー グループにディレクトリ権限を付与する

/READERS ディレクトリがあり、リーダー グループのすべてのメンバーがこのディレクトリにアクセスできるとします。まず、次のコマンドを実行して、ディレクトリが属するユーザー グループを変更します。 リーリー
次に、次のコマンドを実行して、ディレクトリが属するユーザーグループの書き込み権限を取り消します。 リーリー 次に、次のコマンドを実行して、このディレクトリに対する他のユーザーのアクセス権を取り消します (リーダー グループに属していないユーザーがこのディレクトリ内のファイルにアクセスできないようにするため):
リーリー

現時点では、ディレクトリの所有者 (ルート) とユーザー グループ Reader のユーザーのみが /READES 内のファイルにアクセスできます。

/EDITORS ディレクトリがあるとします。ユーザー グループ編集者のメンバーに、このディレクトリへの読み取りおよび書き込み権限を与える必要があります。この目的を達成するには、次のコマンドを実行する必要があります:

リーリー

現時点では、エディター ユーザー グループのすべてのメンバーが、そのグループ内のファイルにアクセスして変更できます。そうしないと、他のユーザー (root を除く) は /EDITORS 内のファイルにアクセスできなくなります。

この方法を使用する場合の問題は、一度に 1 つのグループと 1 つのディレクトリしか操作できないことです。ここで、アクセス制御リスト (ACL) が役に立ちます。

アクセス制御リスト (ACL) を使用する

现在,让我们把这个问题变得棘手一点。假设你有一个目录 /DATA 并且你想给 readers 用户组的成员读取权限,并同时给 editors 用户组的成员读和写的权限。为此,你必须要用到 setfacl 命令。setfacl 命令可以为文件或文件夹设置一个访问控制表(ACL)。

这个命令的结构如下:

setfacl OPTION X:NAME:Y /DIRECTORY

其中 OPTION 是可选选项,X 可以是 u(用户)或者是 g (用户组),NAME 是用户或者用户组的名字,/DIRECTORY 是要用到的目录。我们将使用 -m 选项进行修改。因此,我们给 readers 用户组添加读取权限的命令是:

sudo setfacl -m g:readers:rx -R /DATA

现在 readers 用户组里面的每一个用户都可以读取 /DATA 目录里的文件了,但是他们不能修改里面的内容。

为了给 editors 用户组里面的用户读写权限,我们执行了以下命令:

sudo setfacl -m g:editors:rwx -R /DATA

上述命令将赋予 editors 用户组中的任何成员读取权限,同时保留 readers 用户组的只读权限。

更多的权限控制

使用访问控制表(ACL),你可以实现你所需的权限控制。你可以添加用户到用户组,并且灵活地控制这些用户组对每个目录的权限以达到你的需求。如果想了解上述工具的更多信息,可以执行下列的命令:

  • man usradd
  • man addgroup
  • man usermod
  • man sefacl
  • man chown
  • man chmod

以上がLinux システムのユーザー グループを通じてユーザーを管理します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlinuxprobe.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。