Можно ли запустить базовый Linux в файловой системе без прав доступа (например, Fat32)

Какой цели служит установка бита закрепления в каталоге без исполняемого бита?

drwx-wx--T 2 root crontab 4096 Apr 24 15:00 /var/spool/cron/crontabs/

То, что вы видите, похоже на Debian. Каталог имеет установленный исполняемый бит для владельца и группы.Только для владельца прилипание не имеет особого смысла, поскольку по определению это только один пользователь (и владелец все равно может переопределить прилипание). Но для группы это имеет такое же значение, как и для общедоступных каталогов, таких как /tmp, а именно то, что обычные пользователи не могут удалять файлы, принадлежащие другим пользователям.

Но зачем кому-то быть членом группы crontab?

Конечно, чтобы иметь возможность модифицировать свои crontab! crontab Debian работает с привилегией setgid, что позволяет любому обычному пользователю получить доступ к этому каталогу со своим собственным UID и с GID crontab. Это немного безопаснее, чем позволить им запускать crontab с привилегиями setuid, поскольку пользователи отделены друг от друга.

-rwxr-sr-x 1 root crontab 36008 Jun 11  2015 /usr/bin/crontab

Теперь, как правило, файлы в каталоге принадлежат и называются их соответствующими владельцами, и если crontab позволяет удалить только собственный crontab пользователя, проблем быть не должно. Такая настройка прав доступа к файлам работает для защиты от ошибок в программе, и делает актуальным фактический UID пользователя, осуществляющего доступ, а не только его имя.

0
13.04.2017, 15:36
1 ответ

Технически это возможно.Файловая система posixovl позволяет хранить файлы в файловой системе FAT с дополнительными метаданными, хранящимися в дополнительных файлах для реализации вещей, которые не предоставляет FAT: имена файлов, содержащие символы, запрещенные FAT или слишком длинные, дополнительные метаданные, такие как в качестве разрешений и владения другие типы файлов, такие как символические ссылки, устройства и т. д.

Однако это не значит, что это хорошая идея. Это было бы сложно настроить (я не знаю ни одного дистрибутива, который бы настраивал его для вас) и медленно.

Теоретически ярлыки можно рассматривать как символические ссылки, но у этого есть несколько недостатков. Кому-то потребуется написать драйвер файловой системы, который хранит символические ссылки в виде ярлыков. Windows может испортить символические ссылки при редактировании ярлыков (ярлыки очень смутно похожи на символические ссылки: символические ссылки указывают на путь к файлу, тогда как ярлыки Windows отслеживают файл, а Windows изменяет ярлык, если целевой файл перемещается). Linux не сможет определить, предназначен ли файл, который выглядит как ярлык, как символическая ссылка или как обычный файл.

Раньше существовал способ установки Linux на образ диска, который хранится в виде одного файла в системе Windows, который назывался Wubi . Он был заброшен. Это работает, но также имеет ряд недостатков: более низкая производительность, высокий риск потери данных в случае сбоя системы и т. Д.

Обычный способ установки Linux - лучший способ: позволить программе установки создать раздел Linux.Если вы действительно не хотите создавать раздел Linux (например, потому что это запрещено вашим корпоративным ИТ-менеджментом), запустите Linux на виртуальной машине. В Windows 10 вы можете запускать многие приложения Linux через Подсистему Windows для Linux ; таким образом вы можете получить все пользовательское пространство Ubuntu .

6
28.01.2020, 02:16

Теги

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