Вы можете сделать это, но я бы не рекомендовал это делать.
Ниже приведен пример использования четырех небольших файлов образов дисков, которые можно безопасно использовать для экспериментов. Вы можете заменить любое из них реальным устройством по своему усмотрению.
# Create four empty disk image files
dd bs=1M count=1 </dev/zero >img.1
dd bs=1M count=100 </dev/zero >img.2
dd bs=1M count=100 </dev/zero >img.3
dd bs=1M count=1 </dev/zero >img.4
# Convert them into block devices
losetup /dev/loop1 img.1
losetup /dev/loop2 img.2
losetup /dev/loop3 img.3
losetup /dev/loop4 img.4
# Build the array. There is no metadata written anywhere that records the array
# construction - you really are on your own with this one if it goes wrong
mdadm --build /dev/md0 --level linear --raid-devices 4 /dev/loop1 /dev/loop2 /dev/loop3 /dev/loop4
# Create partition table
# This should match the sizes of the image files (above)
parted --align none /dev/md0 <<'x'
unit MiB
mklabel gpt
mkpart primary 1 101
mkpart primary 101 201
mkpart primary 201 100%
quit
x
Разделы по 1 МБ в начале и конце составного линейного «диска» предназначены для хранения GPT (пишет два ). Два раздела по 100 МБ представляют ваши данные.
Обратите внимание, что RAID0 и LINEAR — это не одно и то же; RAID0 распределяет данные по всем «дискам», тогда как LINEAR просто объединяет «диски» вместе.
В реальном коде не следует полагаться на доступность /dev/loop1
и т. д. Вместо этого используйте что-то вроде lo1=$(losetup --show --find img.1)
, а затем укажите петлевое устройство как "$lo1"
.
Вам не хватает сотрудничества. Вы написали: «целью домашнего каталога является изоляция файлов и каталогов для этого пользователя ». Это можно было бы лучше записать, заменив слово «изолировать » словом «содержать ».
Предположим, я написал несколько полезных служебных программ. Я поместил их в свой каталог ~/bin
(Я старая школа ). Я могу сделать этот каталог и его содержимое общедоступными для других пользователей системы, не обязательно делая доступными какие-либо другие мои файлы и каталоги. Если другие пользователи достаточно доверяют мне, они могут добавить этот каталог в свой PATH
или, в качестве альтернативы, скопировать его содержимое в свой собственный каталог.
chmod a+x ~ # Allow access to my directory without being able to list its contents
chmod a=rx ~/bin ~/bin/* # Allow anyone to read or execute my programs