Linux では、これは完全に実現可能です。ただし、その前に、ユーザー グループとアクセス コントロール リスト (ACL) を通じてユーザーを管理する方法を理解する必要があります。
単純なユーザーから始めて、複雑なアクセス制御リスト (ACL) に到達していきます。必要な操作はすべて、選択した Linux ディストリビューションで行うことができます。この記事はユーザー グループに焦点を当てているため、ユーザーに関する基本的な知識については説明しません。
デモンストレーションの目的で、次のように仮定します:
次の 2 つのユーザー名を持つ 2 人の新しいユーザーを作成する必要があります:
次の 2 つのユーザー グループを作成する必要があります:
オリビアは編集者グループに属し、ネイサンは読者グループに属します。 Reader ユーザー グループは /DATA ディレクトリに対する読み取り権限のみを持ちますが、editors ユーザー グループは /DATA ディレクトリに対する読み取り権限と書き込み権限の両方を持ちます。確かに、これは非常に小さなタスクですが、基本的な情報が得られるので、他のより大きなニーズに合わせてこのタスクを拡張できます。
Ubuntu 16.04 サーバー プラットフォームでデモを行います。これらのコマンドは共通ですが、唯一の違いは、ディストリビューションで sudo コマンドを使用しない場合、これらのコマンドを実行するには root ユーザーに切り替える必要があることです。
######ユーザーを作成######その後、次のコマンドを使用してパスワードを設定できます:
リーリーこのようにして、2 人のユーザーを作成しました。
ユーザーグループの作成とユーザーの追加図 1: 作成したばかりの新しいユーザー グループを使用できます。
ユーザー グループを作成した後、ユーザーをこれら 2 つのユーザー グループに追加する必要があります。次のコマンドを使用して、ユーザー nathan をリーダー ユーザー グループに追加します。
リーリー
リーリー
ユーザー グループを通じてユーザーを管理できるようになりました。
ユーザー グループにディレクトリ権限を付与する
/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),你可以实现你所需的权限控制。你可以添加用户到用户组,并且灵活地控制这些用户组对每个目录的权限以达到你的需求。如果想了解上述工具的更多信息,可以执行下列的命令:
以上がLinux システムのユーザー グループを通じてユーザーを管理します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。