Как права доступа к файлам хранятся в inode?

Предположим, есть два ПК - «А» и «Б». Затем, если A загружает файлы из B, то каково будет разрешение для этого загруженного файла? Возможно ли, что загруженный файл в A будет иметь запись Inode со всеми разрешениями от B & amp; сохранить учетную запись пользователя B в качестве владельца? Если это так, то невозможно ли изменить права доступа к этим файлам для A, если «другие» [как в user-group-others] не имеют права на запись в этот файл?

например. если это так, __x __x __x file.txt [On B]

, то каково будет разрешение на файл A для того же файла, загруженного из B [например, через vsftpd]?

  1. __x __x __x file.txt [On A]

или

  1. rw_x rw_x rw_x file.txt [On A] [то есть определяется значением маски A по умолчанию]
1
задан 14 April 2012 в 08:48

1 ответ

Загруженный файл будет иметь разрешения в зависимости от настроек системы A (umask). В основном на момент копирования файла файл принадлежит пользователю на A. Чтобы быть более точным, данные из файла передаются клиенту ftp в системе A. Только данные, а не метаданные (в Inode), которые содержит права доступа, право собственности, дату создания / доступа / изменения .... и другие вещи. Я мог бы загрузить файл через ftp и сохранить его, например, в файловой системе, отличной от Unix (FAT), в которой нет ни одного, или совершенно другого механизма безопасности.

Так что в основном в вашем случае проблема заключается в протоколе ftp.

Если вы также хотите передать информацию о владельце, вы можете использовать tar, например, для архивирования файла, включающего (почти) все метаданные. Затем перенесите архив в A и распакуйте его с соответствующими параметрами, чтобы сохранить первоначальные права собственности.

0
ответ дан 14 April 2012 в 08:48

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

Похожие вопросы: