特定のドメインに別のユーザーを作成する

特定のドメインに別のユーザーを作成する

私は通常、root としてログインする傾向がありますが、これは悪い習慣だとわかっています。

そこで別のユーザーを作成しました。これを と呼びますuser1。ただし、そのユーザーとしてログインすると、空の /home ディレクトリに配置され、まったく役に立ちません。

問題は、user1他のユーザーの /home/ ディレクトリにアクセスして、他のユーザーの権限を事実上複製したいということです。どうすればこれができるでしょうか?

答え1

両方のユーザーに同じユーザーID (UID) を設定することでこれを実現できますが、これは非常に悪い習慣であり、意図しない結果を招く可能性があります。これそれについて包括的に議論するため。

より良い方法は、これらのユーザーを同じグループに入れて、それぞれのホームに R または RW グループ権限を設定するか、さらに良い方法としては、拡張属性 (man setfattr) を使用するか、ユーザーにファイルsudo su - <anotheruser>経由で許可する/etc/sudoersか、ユーザーに sudo を使用して root に許可することです。

同じグループオプション

まず、team_a という特別なグループを作成します。

groupadd team_a

次に、そのグループをユーザー ( と ) に設定しますuser1user2デフォルトでは、各ユーザーはユーザーと同じ名前の新しいグループに作成されます。team_a をメイン グループとして設定し、個々のグループをセカンダリ グループとして残します。

for user in user1 user2; do usermod -g team_a $user; usermod -a -G $user $user; done

次に、user2 のホームの権限を更新し、team_aグループのすべてのメンバーに、フォルダとそこに含まれるすべてのファイルとフォルダへのフル アクセスを再帰的に付与します。これにより、 のすべてのメンバーが のホーム フォルダとファイルにteam_aアクセスできるようになりますが、他のユーザーにはアクセスを許可しません (たとえば、次の例では、のメンバーに のホーム フォルダuser2へのアクセスは許可されません)。team_auser1

chmod -R g+rwX ~user2

user2これらの権限をいつでも削除したり、グループにアクセス権限を付与せずに新しいファイルを作成したりできることに注意してください。

最後に、他のユーザーがそのグループのメンバーに対して完全なアクセス権を持つファイルを作成できるようにします。

echo "umask 002" >> ~user2/.profile

他のユーザーのデフォルト グループに属するユーザー:

おそらく上記よりも簡単ですが、user1ユーザーを他のユーザーのデフォルト グループに追加できます。ほとんどの Linux ディストリビューションと UNIX システムでは、デフォルトでは、ユーザーのグループ名がユーザー名と同じ場合、新しいファイルに対するデフォルトのグループ権限はグループへのフル アクセスであるため、umaskこの場合、それらのユーザーに対して操作する必要はありません。

のデフォルトグループuser1にも所属するように設定する:user2

usermod -a -G user2 user1

user2グループのメンバーに のuser2ホーム フォルダへのアクセスを許可します:

chmod g+rwX ~user2

関連情報