Я пытаюсь выполнить 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
Любые идеи?
Сначала используйте chgrp
command вместо chown, и это будет работать.
В случае использования chown ..... По соображениям безопасности в большинстве контекстов Linux любая смена владельца ограничена пользователем root, даже если вы отмечены как владелец файла, каталога и т. Д. Или нет. В одном случае это сделано для предотвращения уклонения пользователей от квот путем установки битов прав доступа к файлу на 777 и передачи права собственности на файл другому неизвестному пользователю и использования его квоты.
Итак, используя chown
Команда в контексте пользователя, особенно если право собственности не меняется, не должна использоваться только для изменения группы файла.
ПРИМЕЧАНИЕ. Вы должны быть членом группы, в которую пытаетесь изменить файл. Это можно проверить id -a
. Если вы не состоите в группе, вы получите это сообщение, даже если вы являетесь владельцем файла.
Вы должны быть частью группы, чтобы иметь возможность изменить текущее владение группой на. Вы можете редактировать /etc/groups
файл от имени пользователя root, чтобы убедиться, что пользователь justin является частью группы nginx. После внесения изменений в группу вам необходимо повторно войти в систему, чтобы внести изменения или перейти в группу без перезапуска / выхода из системы, вы можете использовать cmd newgrp nginx
.
Теперь вы сможете изменить группу файла или папки с помощью cmd. chgrp nginx test
как пользователь Justin.