Почему команда «ls» показывает разрешения для файлов в разделе FAT32?

Вы можете установить его, набрав:

su -c 'aptitude install libssl-dev'

Если не сделано, пожалуйста долевой выпуск

apt-cache show libssl-dev
40
22.03.2019, 02:56
2 ответа

Но у файлов есть разрешения. Пользователь john имеет доступ RW, а какой-то случайный пользователь имеет доступ только для чтения. Эти разрешения исходили не от самой файловой системы, а от опций монтирования (-или uid/gid/umask ), что не делает их менее реальными.

У вас может быть смонтировано несколько разделов vfat с разными параметрами, и вы можете использовать ls , чтобы определить, какие это параметры. Вы даже можете использовать mount --bind , чтобы один каталог содержал файлы из разных разделов vfat, а ls правильно показывал бы, какие разрешения были указаны для каждого файла.

24
27.01.2020, 19:35

lsне знает о FAT32, он знает только об интерфейсе виртуальной файловой системы (VFS ), предоставляемом ядром с помощью системных вызовов POSIX open/ readdir/ stat.

Linux не поддерживает концепцию файлов, которые не имеют битов разрешений пользователя/группы/других, struct statпросто содержат mode_t st_mode;элемент (и uid, gid элементы ), которое ядро ​​должно заполнять, когда ls -lвыполняетstat(2)системные вызовы.

Не существует специального кода, означающего «недоступно» или «неприменимо» для любого из этих полей, поэтому драйвер vfat ядра должен что-то придумать. FAT16/FAT32 имеет флаг -только для чтения, но в остальном владелец/группа определяется параметрами монтирования, как и umask.

17
27.01.2020, 19:35

Теги

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