我在 Amazon ec2 上有一个服务器,当我尝试更改组文件 (chgrp danny /tmp/bla) 时,出现“操作不允许”的错误。(我不想使用“sudo”)有人知道这个问题吗?
答案1
我认为 Mike Scott 试图解释的是只有 root 或具有 sudo 权限的用户才能使用 chgrp 命令。
答案2
您可以编辑您的/etc/sudoers
命令visudo
以允许特定用户仅使用某些命令。有关更多信息,请参阅man sudoers
。
答案3
我认为这可能是一个棘手的问题。只有当您拥有正确的权限时,您才能更改文件的组,并且这/tmp
是一个特殊的目录,其中文件的权限设置为文件的创建者(“粘着位' 设置在 /tmp 上)。
所以你举的例子是到另一台机器上做
$ touch /tmp/bla
$ chgrp newgroup /tmp/bla
可以正常工作,因为当您使用创建文件时,touch
它是使用您的用户/组创建的。因此您可以更改组。但是,如果另一个用户在其中创建了一个文件,/tmp
它将属于他们,而您的普通用户danny
无法对其进行任何操作。我认为这就是您的问题所在。
以下是维基页面中必需的部分:
设置粘性位后,只有项目的所有者、目录的所有者或超级用户可以重命名或删除文件。如果不设置粘性位,任何具有目录写入和执行权限的用户都可以重命名或删除其中包含的文件,无论所有者是谁。通常在 /tmp 目录中设置此位,以防止普通用户删除或移动其他用户的文件。
答案4
问题是您不想使用 sudo。更改这一点,您就没问题了。