
私は通常、root としてログインする傾向がありますが、これは悪い習慣だとわかっています。
そこで別のユーザーを作成しました。これを と呼びますuser1
。ただし、そのユーザーとしてログインすると、空の /home ディレクトリに配置され、まったく役に立ちません。
問題は、user1
他のユーザーの /home/ ディレクトリにアクセスして、他のユーザーの権限を事実上複製したいということです。どうすればこれができるでしょうか?
答え1
両方のユーザーに同じユーザーID (UID) を設定することでこれを実現できますが、これは非常に悪い習慣であり、意図しない結果を招く可能性があります。これそれについて包括的に議論するため。
より良い方法は、これらのユーザーを同じグループに入れて、それぞれのホームに R または RW グループ権限を設定するか、さらに良い方法としては、拡張属性 (man setfattr
) を使用するか、ユーザーにファイルsudo su - <anotheruser>
経由で許可する/etc/sudoers
か、ユーザーに sudo を使用して root に許可することです。
同じグループオプション
まず、team_a という特別なグループを作成します。
groupadd team_a
次に、そのグループをユーザー ( と ) に設定しますuser1
。user2
デフォルトでは、各ユーザーはユーザーと同じ名前の新しいグループに作成されます。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_a
user1
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