非 root ユーザーのグループ所有権の設定

非 root ユーザーのグループ所有権の設定

関係者はRed Hat System Administration I RH124こう言いました。

ルートはすべてのグループに所有権を付与できます。ルート以外のユーザーは、自分が属するグループにのみ所有権を付与できます。

[student@web ~]$ id student
uid=1000(student) gid=1000(student) groups=1000(student),1009(dtracy)
[student@web ~]$ grep bboop /etc/passwd
bboop:x:1008:1008::/home/bboop:/bin/bash
[student@web ~]$
[student@web ~]$ usermod -G student bboop
-bash: /usr/sbin/usermod: Permission denied
[student@web ~]$ su -c 'usermod -G student bboop'
Password:
[student@web ~]$ grep student /etc/group
student:x:1000:bboop

bboopでは、ユーザーをユーザーのstudentデフォルトstudentグループにユーザーとして追加することはできませんが、student高い権限が必要なのはなぜですかroot?それとも、これは私の誤解かバグですか?

答え1

chown引用符で「所有権を付与」とは、またはコマンドを使用してファイルの所有権を取得することを意味しますchgrp

あなたがやろうとしているのは、所有権に関するものではなく、メンバーシップに関するものです。一般ユーザーがグループのメンバーであっても、他のユーザーをグループに追加できるわけではありません。ユーザーをグループに割り当てるのは、root 権限を必要とする管理タスクです。

また、「bash:/usr/sbin/usermod:Permission failed」というエラーメッセージは、usermodバイナリが通常のユーザーとして実行権限を持っていないことを意味します。書き込み権限がないと、/etc/passwdとにかく動作しませんが、/etc/groupより良いエラーメッセージが表示されます。

関連情報