Linuxでユーザーにエイリアスを効果的に追加する方法

Linuxでユーザーにエイリアスを効果的に追加する方法

両方のログインが実際に同じユーザーになるように、Linuxでユーザーエイリアスを作成する最善の方法は何ですか?

だから私は(または非常に近いものを)することができます:

sudo adduser primary_user
sudo useradd -d /home/primary_user -G primary_user -K UMASK=022 alias_user
sudo passwd alias_user

このプロセスの開始時に、これらのユーザーは同じことを行います。しかし、私が走ると

usermod -aG docker $USER

エイリアスユーザーがどのように突然dockerグループの一部になったのかわかりません。私は何を逃したことがありませんか? 2回のログインと1つのユーザーアカウントが必要です。

jbrown -> jbrown

jbro -> jbrown

これは効率的に行うことができますか?これに対するディストリビューション固有の回答があるかもしれません。

ベストアンサー1

ユーザーはUIDを共有して同じユーザー権限を付与できます。

いくつかのクイックテストによると、どのエイリアスでログインしても、システムはデータベースのUIDと一致する最初のユーザーとしてユーザーを認識しますpasswd(通常/etc/passwdは高度な設定の他の場所でも可能です)。

グループが同じように動作するのを見たことはありません。各エイリアスを各グループに明示的に追加する必要があります。ユーザーはUIDでマッピングされますが、グループは名前でマッピングされているように見えます(/etc/group何を意味するのかを確認するには、コンテンツを確認してください)。

開始した内容に基づいた簡単な例は次のとおりです。

#!/bin/sh

USER1=primary
USER2=alias

sudo adduser $USER1
sudo useradd -d /home/$USER1 -G $USER1 -K UMASK=022 --non-unique --uid $(id -u $USER1) --no-create-home --no-user-group $USER2
sudo passwd $USER2

# --non-unique: Allow the creation of a user account with duplicate UID
# --uid: The numerical value of the user's ID
# --no-create-home: Do not create the user's home directory.
# --no-user-group: Do not create a group with the same name as the user.

この時点で、同じUIDを持つ2人のユーザーが同じホームディレクトリを共有し、両方がグループに属している必要があります$USER1

dockerグループに追加するには、個別に追加する必要があります。

usermod -aG docker $USER1
usermod -aG docker $USER2

dockerエイリアスを作成するときにグループを追加する方が簡単かもしれません。

sudo useradd -d /home/$USER1 -G ${USER1},docker -K UMASK=022 --non-unique --uid $(id -u $USER1) --no-create-home --no-user-group $USER2

$USER1または、グループの代わりに認証のためにこれらのユーザー間で共有されたグループを使用するようにDocker設定を変更することもできますdocker

おすすめ記事