Если пользователь A владеет файлом file.txt, может ли пользователь A изменить владельца файла на пользователя B без доступа root? Когда я запускаю chown B file.txt как пользователь A, я получаю ошибку Operation not allowed. Мне кажется, что поскольку пользователь A владеет файлом, он должен иметь возможность изменить владельца, но я не вижу способа сделать это. Спасибо за помощь!
решение1
Если пользователь A владеет file.txt
, он не может изменить владельца file.txt
без доступа root/разрешения sudo. Это функция, а не ошибка. И одна из многих причин, по которой старейшины решили добавить эту функцию, была объяснена в комментарии к вашему вопросудорожный
Нижняя граница:Без прав root/sudo вы можете изменить права доступа к файлу с помощью chmod
, и групповое владение (любой группе, членом которой вы являетесь, с помощью chgrp
), если вы являетесь владельцем этого файла, но вы не можете изменить владельца пользователя (с помощью chown
), даже если вы являетесь владельцем файла, без прав root/sudo. Это функция, а не ошибка.
решение2
Нет, вы не можете изменить владельца файла, не имея доступа, но если вы являетесь владельцем файла, вы можете изменить разрешения файла, chmod
а также можете изменить группу chgrp
на другую группу, членом которой вы являетесь.
Сопутствующий вопрос:chown разрешен не пользователю root?
решение3
если у вас есть доступ к пользователю B, вы можете просто скопировать файл, войдя в систему как B. Если у вас также есть доступ к пользователю A, вы можете войти в систему и удалить исходный файл. И, наконец, переименовать скопированный файл в исходное имя (снова как B), оставив по сути тот же файл, принадлежащий другому пользователю.
Очевидно, что это не тот же самый файл, но если вас интересует только содержимое файла, то это то, что вам нужно.
решение4
Существует весомый аргумент в пользу смены владельца, поскольку в моем бизнесе мы постоянно получаем файлы от разных пользователей, и если права доступа таковы, что с файлом нельзя сделать ничего, кроме тех, кто его читает, то при запуске файла возникают проблемы.
Итак, я обнаружил, что очень просто выполнить команду «compress <data_filename>», а затем «uncompress <data_filename.Z>», что сработает, и право собственности на исходный файл автоматически изменится на текущего владельца.