官方Red Hat System Administration I RH124
表示:
root 可以授予任何组所有权,而非 root 用户只能将所有权授予他们所属的组
[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
您引用中的“授予所有权”是指使用or命令对文件的所有权chgrp
。
您尝试做的事情与所有权无关,而是与成员资格有关。仅仅因为普通用户是组的成员并不意味着他可以将任何其他用户添加到该组。将用户分配到组是一项需要 root 权限的管理任务。
另请注意,错误消息“bash:/usr/sbin/usermod:权限被拒绝”表示 usermod 二进制文件甚至没有普通用户的执行权限。如果没有对/etc/passwd
or 的写访问权限,它无论如何都无法工作/etc/group
,但它能够给出更好的错误消息。