Использование chown для смены владельца группы в каталоге запрещено. Почему?

Я пытаюсь казнить chown в каталоге, который имеет следующие разрешения и владельцев:

drwxrwxr-x 2 justin devs  4096 Jan  1 20:42 test

Я пытаюсь просто выполнить следующее как justin пользователь:

chown justin:nginx test

Так что в основном просто измените владельца группы на nginx, но я получаю:

chown: changing ownership of `test/': Operation not permitted

Есть идеи?

2 ответа

Решение

Во-первых, используйте chgrp команда вместо chown, и это будет работать.

В случае использования chown..... По соображениям безопасности в большинстве контекстов Linux любое изменение владельца ограничено пользователем root, даже если вы помечены как владелец файла, каталога и т. Д. Или нет. В одном случае это делается для того, чтобы пользователи не уклонялись от квот, устанавливая биты разрешения доступа к файлу на 777 и изменяя владение файлом на какого-то другого неизвестного пользователя и поглощая их квоту.

Таким образом, используя chown Команда в пользовательском контексте, особенно если владелец не изменяется, не должен использоваться только для изменения группы файла.

ПРИМЕЧАНИЕ. Вы должны входить в группу, в которую вы пытаетесь изменить файл. Это может быть подтверждено id -a, Если вы не в группе, вы получите это сообщение, даже если вы являетесь владельцем файла.

Вы должны быть частью группы, чтобы иметь возможность изменить текущее владение группой на. Вы можете редактировать /etc/groups файл как root, чтобы убедиться, что пользователь justin является частью группы nginx. После внесения изменений в группу, вам необходимо повторно войти в систему, чтобы она вступила в силу, или перейти в группу без перезапуска / выхода из системы, вы можете использовать cmd newgrp nginx,

Теперь вы сможете изменить группу файла или папки с помощью cmd. chgrp nginx test как пользователь Джастин.

Другие вопросы по тегам