プライマリグループ(gid)、セカンダリグループ、および権限に関する問題

プライマリグループ(gid)、セカンダリグループ、および権限に関する問題

数日間、別のキーワードでインターネットを検索しましたが、権限の問題に対する解決策が見つからなかったので、私の質問は重複しないことを願っています。

サーバーに共有フォルダを設定しました。このフォルダのオプションは次のとおりです。

user2@server:~$ mount
Y.Y.Y.Y:/Data on /media/Data type nfs4 (rw,relatime,vers=4.2,rsize=524288,wsize=524288,namlen=255,hard,proto=tcp,timeo=600,retrans=2,sec=sys,clientaddr=X.X.X.X,local_lock=none,addr=Y.Y.Y.Y)

「user2」は、「wholegroup」グループを使用してフォルダにアクセスしたいユーザーです。最初の部分では、私の許可は拒否されました。 「user2」は所有者ではなく、フォルダが属するグループに属しておらず、フォルダにはどのユーザーに対してもrまたはx権限がないため、これは通常の現象です。

user2@server:~$ id
uid=1001(user2) gid=1001(user2) groups=1001(user2)
user2@server:~$ ls -l /media/Data/
ls: cannot open directory '/media/Data/': Permission denied
user2@server:~$ ls -l /media/
total 5
drwxr-x--- 6 user1  wholegroup      6 Aug 15 22:59 Data
drwxr-xr-x 2 root root           4096 May 15 16:12 OtherData
user2@server:~$

管理者権限を持つ「user1」から「user2」を「wholegroup」グループに追加します。

user1@server:~$ sudo usermod -a -G wholegroup user2

「user2」の変更を適用するには、ログアウトしてログインします。

user2@server:~$ exit
logout
Connection to X.X.X.X closed.
user1@computer:~$ ssh [email protected]

「user2」グループを確認してフォルダにアクセスしようとしています。

user2@server:~$ id
uid=1001(user2) gid=1001(user2) groups=1001(user2),166636(wholegroup)
user2@server:~$ ls -l /media/Data/
ls: cannot open directory '/media/Data/': Permission denied
user2@server:~$ ls -l /media/
total 5
drwxr-x--- 6 user1 wholegroup    6 Aug 15 22:59 Data
drwxr-xr-x 2 root root        4096 May 15 16:12 OtherData
user2@server:~$

許可がないと出ますね。これが私が理解していないことです。 「user2」がセカンダリグループとして「wholegroup」に属し、フォルダにそのグループに対するrおよびx権限がある場合、なぜアクセスできないのですか?アクセスするには、デフォルトグループ「フルグループ」である必要がありますか?

グループをデフォルトグループに変更してこれをテストしました。

user1@server:~$ sudo usermod -g wholegroup user2



user2@server:~$ exit
logout
Connection to X.X.X.X closed.
user1@computer:~$ ssh [email protected]
user2@server:~$ id
uid=1001(user2) gid=166636(wholegroup) groups=166636(wholegroup)
user2@server:~$ ls -l /media/Data/
total 34
drwxr-x--- 23 user1 wholegroup 25 Sep  7 11:58 Data
drwxr-x---  5 user1 wholegroup  5 Aug 17 13:02 Music
drwxr-x---  6 user1 wholegroup  6 Aug 15 22:59 Video
user2@server:~$ ls -l /media/
total 5
drwxr-x--- 6 user1 wholegroup    6 Aug 15 22:59 Data
drwxr-xr-x 2 root root        4096 May 15 16:12 OtherData
user2@server:~$

なぜ補助グループとして活動しないのかを説明できますか?私が間違っていて解決策は何ですか? SUIDやGUIDなどの特別な権限を使用する必要がありますか?

とても感謝しています!

ベストアンサー1

解決策が見つかりました。ありがとうございます。Super_ikのそしてドラペビーチRedditへのコメント。

サーバーでユーザーを作成していないため失敗しました。私の特定のケースの解決策は、user2以前にサーバーに作成されたグループを作成して追加することでした。wholegroup

私はsuper_ikのコメントを引用します。

私の記憶が正しい場合、アクセス確認はサーバー側で行われ、サーバーはフォルダーにアクセスするプロセスのuidとgidのみを受け取ります。サーバーがこれらのUIDを知らない場合、セカンダリグループが見つかりません。

おすすめ記事