Использование 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
как пользователь Джастин.