У меня есть сервер на Amazon ec2. Когда я пытаюсь изменить файл группы (chgrp danny / tmp / bla), я получаю сообщение «Операция запрещена». (Я не хочу использовать "sudo") Кто-нибудь знает проблему?
Я думаю, что Майк Скотт пытается объяснить, что только root или кто-то с повышенными правами sudo может использовать команду chgrp.
Вы можете редактировать свой /etc/sudoers
с участием visudo
чтобы разрешить определенному пользователю использовать только определенные команды. Для получения дополнительной информации см. man sudoers
.
Я думаю, что это может быть неприятная проблема. Вы можете изменить группу файла только в том случае, если у вас есть соответствующие разрешения и /tmp
- это специальный каталог, в котором для файлов установлены права создателя файла ('липкий кусочек'установлен в / tmp).
Итак, ваш пример перехода на другую машину и выполнения
$ touch /tmp/bla
$ chgrp newgroup /tmp/bla
будет работать нормально, как если бы вы создали файл с touch
он был создан с вашим пользователем / группой. Таким образом, вам разрешено изменять группу. Однако, если другой пользователь создал файл в /tmp
он будет принадлежать им и вашему обычному пользователю danny
ничего не мог с этим поделать. Вот в чем, я думаю, ваша проблема.
Вот необходимый раздел на вики-странице:
Когда установлен бит закрепления, только владелец элемента, владелец каталога или суперпользователь могут переименовывать или удалять файлы. Без установленного липкого бита любой пользователь с разрешениями на запись и выполнение для каталога может переименовывать или удалять содержащиеся файлы, независимо от владельца. Обычно это устанавливается в каталоге / tmp, чтобы обычные пользователи не могли удалять или перемещать файлы других пользователей.
Проблема в том, что вы не хотите использовать sudo. Измените это, и все будет в порядке.