このガイドでは、gpasswdコマンドを使用してグループを管理する方法を説明します。 Linuxの各ファイルとフォルダには、ユーザー、グループ、および所有者のアクセス許可があります。グループへのアクセス権を持つユーザーを制御することで、各ユーザーのアクセス許可を設定することなく、システム上のファイルやフォルダの処理を制御できます。
許可について少し
端末を開き、ホームフォルダ内で、次のようにmkdirコマンドを使用してaccountsというフォルダを作成します。
mkdirアカウント
次のlsコマンドを実行します。このコマンドを実行すると、作成したフォルダの権限が表示されます。
ls -lt
次のようなものが表示されます:
drwxr-xr-x 2 yourname yourname 4096日付のアカウント
私たちが興味を持っているビットは、上の例では "drwxr-xr-x"のパーミッションです。また、2つの "yourname"値にも興味があります。
最初にアクセス許可について話しましょう。 "d"はディレクトリを表し、アカウントはディレクトリであることを知らせます。
残りのパーミッションは、 "rwx"、 "r-x"、 "r-x"の3つのセクションに分割されています。 3文字の最初のセクションは、オブジェクトの所有者が持つ権限です。 3文字目の2番目のセクションは、そのグループに所属する誰かが持っているパーミッションであり、最後のセクションは他のすべてのパーミッションです。
"r"は "read"を表し、 "w"は "write"を表し、 "x"は "execute"を表します。
したがって、上記の例では、所有者はaccountsフォルダーに対する読み取り、書き込み、および実行許可を持っていますが、グループと他のユーザーは読み取りと実行の許可のみを持っています。
この例では、最初の「yourname」はアイテムの所有者であり、2番目の「yourname」はaccountsフォルダのプライマリグループです。
このガイドをより便利にするには、以下のadduserコマンドを使用して、システムにいくつかのアカウントを追加してください。
sudo adduser tim
sudo adduser tom
それぞれのパスワードを設定し、その他の情報を入力するよう求められます。あなたはパスワードだけで離れて、残りのフィールドに戻ることができます。
これで3つのアカウントがあるので、次のコマンドを実行してアカウントのフォルダの所有者を変更します。
sudo chown tomアカウント
lsコマンドをもう一度実行します。
ls -lt
権限は次のようになります。
drwxr-xr-x tom yourname
次のように、cdコマンドを使用してaccountsフォルダに移動できます。
CDアカウント
次に、次のコマンドを使用してファイルを作成してみましょう。
タッチテスト
次のエラーが表示されます。
touch: 'test'に触れられない:許可が拒否されました
この理由は、Tomが所有者であり、読み取り、書き込み、および実行の権限を持っていますが、あなたはグループの一部であり、グループのアクセス権のみがあるからです。
次のコマンドを入力して、ホームフォルダに戻り、アカウントのアクセス許可を変更します。
CD ..
sudo chmod 750アカウント
lsコマンドをもう一度実行します。
ls -lt
アカウントフォルダの権限は次のようになります。
drwxr-x ---
これは、所有者がフルアクセス権を持っていることを意味します。グループ「yourname」のユーザーは読み取り権限と実行権限を持ち、他のユーザーは権限を持ちません。
やってみよう。 accountsフォルダーに移動し、再度touchコマンドを実行します。
CDアカウント
タッチテスト
まだフォルダに移動する権限はありますが、ファイルを作成する権限はありません。あなたが普通のユーザーであったとしても、アカウントフォルダに入ることさえできません。
これを試すには、ユーザーTimに切り替えて、次のようにaccountsフォルダに移動します。
後任者
cd / home / yourname / accounts
権限拒否エラーが発生します。
だから、なぜグループのアクセス許可を使用し、すべてのユーザーに対して個別のアクセス許可を設定しないのですか?特定のスプレッドシートと文書にアクセスする必要がある勘定科目を持っているが、会社の他の誰もその勘定科目内のすべての人物に権限を設定するのではなく、その肩書を「accounts」というグループに設定し、グループにユーザーを追加します。
個々のユーザーのアクセス許可を設定するよりもこれはなぜ優れていますか?ユーザーが部門を離れる場合は、一連のフォルダに対するアクセス許可を設定するのではなく、グループから削除することができます。
グループを作成する方法
次のコマンドを使用してグループを作成できます。
グループにユーザーを追加する方法
sudo gpasswd -a username accounts
上記のコマンドは、アカウントグループに単一のユーザーを追加するために使用できます。
グループのメンバーとしてユーザーのリストを追加するには、次のコマンドを実行します。
sudo gpassword -M yourname、tom、tim accounts
ユーザーがアカウントに追加されると、ユーザーは次のコマンドを実行して、セカンダリグループのリストにグループを追加できます。
newgrpアカウント
グループに所属していないユーザーは、グループパスワードの入力を求められます。
フォルダのプライマリグループを変更する方法
ユーザーがいるグループができたので、次のchgrpコマンドを使用して、そのグループをaccountsフォルダに割り当てることができます。
アカウントをsudo chgrpアカウント
最初のアカウントはグループの名前で、2番目のアカウントはフォルダの名前です。
ユーザーがグループに所属しているかどうかを確認する方法
次のコマンドを実行すると、ユーザーがグループに所属しているかどうかを確認できます。
グループ
これは、ユーザーが所属するグループのリストを返します。
グループパスワードを変更する方法
グループパスワードを変更するには、次のコマンドを実行します。
sudo gpasswd
あなたはグループのパスワードを入力してそれを繰り返すよう求められます。
上記の方法でグループにユーザーを追加するか、次のコマンドを実行して正しいパスワードを入力するだけで、新しいユーザーがグループに参加できます。
newgrp
明らかに、グループのパスワードを誰にも与えたくないので、自分自身をグループに追加する方がよいでしょう。
特定のメンバーだけにグループを制限する方法
ちょうど誰かがグループに参加するためのパスワードを知っていることを望まない場合は、次のコマンドを実行できます:
ユーザーを管理者に設定する
ユーザーはグループの管理者として設定できます。これにより、ユーザーは特定のグループにユーザーを追加したり削除したり、パスワードを変更することができます
これを行うには、次のコマンドを実行します。
グループパスワードを削除する方法
次のコマンドを使用すると、グループからパスワードを削除できます。
グループからユーザーを削除する方法
グループからユーザーを削除するには、次のコマンドを実行します。
グループにファイルやフォルダの読み取り、書き込み、実行のアクセス許可を与える方法
今まで、アカウントグループ内のユーザーはアカウントフォルダにアクセスできましたが、読み取り権限と実行権限しか持たないため、実際に何かを実行できます。
グループに書き込み権限を与えるには、次のコマンドを実行します。
概要
このガイドでは、Linuxシステムにアクセス許可を設定するのに役立ついくつかのコマンドを紹介しました。 useraddコマンドを使用して、ユーザーおよびグループユーザーを設定することもできます。




