Какая привилегия необходима для сохранения права собственности на файл при копировании и как ее получить?

Какая привилегия необходима для сохранения права собственности на файл при копировании и как ее получить?

У меня есть вопрос по домашнему заданию о программировании ядра в Linux. Вопрос такой:

Какая специфическая для Linux привилегия необходима для сохранения права собственности на файл при его копировании и как ее получить?

Экспериментируя, я обнаружил, что мне нужно быть rootсуперпользователем, чтобы это работало. Есть ли более конкретный способ объяснить этот эффект?

решение1

Смотритеcapabilities(7)Страница руководства – вам нужна CAP_CHOWNвозможность изменить владельца файла через chown(). (У root все возможности включены автоматически. На странице руководства объясняется, как получить возможности в других случаях.)

Не существует отдельного метода/возможности простосохранятьвладение, поскольку копии файлов Linux создаются путем простого чтения/записи данных в целевой файл, а затем того же самого с метаданными. (Для сравнения, Windows NT имеет SeBackupPrivilegeи SeRestorePrivilegeпривилегии и вызовы BackupRead()/ BackupWrite().)

Связанный контент