কীভাবে কেবল `মাউন্ট` দিয়ে একটি ক্রিপসেটআপ কনটেইনার মাউন্ট করবেন?


9

এর মাধ্যমে একটি এনক্রিপ্ট করা ধারক তৈরি করেছি

#!/bin/bash
dd if=/dev/zero of=$1 bs=1 count=0 seek=$2
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksFormat $LOOPDEV
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER)
mkfs.ext3 $MAPPER
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV

অর্থাত্ containerএই স্ক্রিপ্টে নির্দিষ্ট করা একটি ফাইল যেমন একটি এনট্রিপ্ট করা এক্সট্রি ফাইল সিস্টেমের মাধ্যমে থাকবে cryptsetup luksFormat

এটি মাউন্ট করতে, আমি বর্তমানে অন্য স্ক্রিপ্ট ব্যবহার করছি, বলুন dm.mount container /mnt/decrypted:

#!/bin/bash
set -e
MAPPER=$(mktemp -up /dev/mapper)
LOOPDEV=$(losetup --find --show $1)
cryptsetup luksOpen $LOOPDEV $(basename $MAPPER) || losetup -d $LOOPDEV
mount $MAPPER $2 || (
  cryptsetup luksClose $MAPPER
  losetup -d $LOOPDEV
)

এবং এটি আনমাউন্ট করতে dm.umount /mnt/decrypted:

#!/bin/bash
set -e
MAPPER=$(basename $(mount | grep $1 | gawk ' { print $1 } '))
LOOPDEV=$(cryptsetup status $MAPPER | grep device | gawk ' { print $2 } ')
umount $1
cryptsetup luksClose $MAPPER
losetup -d $LOOPDEV

প্রচুর রিডানডেন্সি রয়েছে এবং ম্যানুয়ালি একটি লুপ ডিভাইস এবং ম্যাপার দু'টি ধরে রাখা হয়েছে যার দু'জনেই অনামী থাকতে পারে। এর পরিবর্তে সহজ উপায় mount -o luks ~/container /mnt/decrypted(পাসফ্রেজের জন্য অনুরোধ করা) এবং umount /mnt/decryptedএর পরিবর্তে সহজ উপায়ে কিছু করার কোনও উপায় আছে কি ?


মূলত সম্পাদনা করুন আমি আমার স্ক্রিপ্টগুলি উপরের সাথে খুশি (যদিও ত্রুটি পরীক্ষার উন্নতি হতে পারে ...), তাই

আমার লেখা স্ক্রিপ্টগুলি ব্যবহার করার -o luks=~/containerমতো একটি মাউন্ট বিকল্প কীভাবে প্রয়োগ করা যেতে পারে -o loop ~/loopfile?

এটি কি পুনরায় লেখা ছাড়াই অর্জন করা যায় mount? বা বিকল্পভাবে, -t luks -o loop ~/containerবাস্তবায়ন করা যেতে পারে?


আপনি কি ক্রিপ্টমাউন্ট চেষ্টা করেছেন ?
jw013

@ jw013 আমার কাছে নেই এবং এটি কিছুটা সহজসাধ্য হতে পারে তবে এটি স্থানীয়ভাবে সরাসরি ব্যবহার করে সমর্থন করে নাmount
টোবিয়াস কেইনজলার

উত্তর:


6

আসলে, পরিবর্তনটি mountসম্ভব, যেমনটি আমি অস্তিত্ব থেকে শিখেছি mount.ntfs-3g। আমি কেবল অনুমানমূলক কাজ করছি, তবে আমার সন্দেহ হয় আমি এখানে mount -t sometypeকল করতে mount.sometype $DEV $MOUNTPOINT $OPTIONSনির্দ্বিধায় কল্পনা করি বা কিছু আসল ডকুমেন্টেশন উদ্ধৃত করি। বিশেষত বিকল্পটি -o loopইতিমধ্যে চিকিত্সা করা হয়েছে সুতরাং lopsetupআর প্রয়োজন নেই ...

সিলেট করুন / হিসাবে মাউন্ট স্ক্রিপ্ট তৈরি /sbin/mount.crypto_LUKS। লুপডভাইস অংশটি সরান এবং পরিবর্তে -o loopস্যুইচটি ব্যবহার করুন । এখানে আমার /sbin/mount.crypto_LUKS:

#!/bin/bash
set -e
if [[ $(mount | grep ${2%%/} | wc -l) -gt 0 ]]; then
  echo "Path $2 is already mounted!" >&2
  exit 9
else
  MAPPER=$(mktemp -up /dev/mapper)
  cryptsetup luksOpen $1 $(basename $MAPPER)
  shift
  mount $MAPPER $* || cryptsetup luksClose $(basename $MAPPER)
fi

এখন আমাকে কেবল চালনা করতে হবে mount -o loop ~/container /mnt/decrypted, এবং mountআমাকে পাসওয়ার্ডের জন্য অনুরোধ করবে এবং তারপরে কনটেইনারটি মাউন্ট করবে, কনটেইনারটি বন্ধ হয়ে যাওয়ার পরে স্বয়ংক্রিয়ভাবে লুপ ডিভাইস প্রকাশ করবে। যদি ডিক্রিপ্ট করা ফাইল সিস্টেমটি মাউন্ট করতে ব্যর্থ হয় তবে ধারকটি আবার বন্ধ হয়ে যাবে, তবে আপনি অবশ্যই এটি পরিবর্তন করতে পারেন। অথবা সবকিছুকে পাস করার পরিবর্তে কিছু বিকল্প পার্সিং বাস্তবায়ন করুন mount

আমি আশা করছিলাম যে এটির মাধ্যমেই এটি অর্জন করা সম্ভব হবে /sbin/umount.luks, তবে umount /mnt/decrypted(এমনকি সহ -t crypto_LUKS) এখনও কেবল সাধারণ আনমাউন্ট করে না, পাত্রে খোলা রেখে। পরিবর্তে যদি আপনি umountআমার dm.umountস্ক্রিপ্টটি কল করার কোনও উপায় খুঁজে পান তবে দয়া করে আমাকে জানান ... এই মুহুর্তে, সরাসরি কল umountকরা নিরুৎসাহিত করা হয়েছে কারণ আপনাকে /dev/mapperনিজেই নামটি বের করতে হবে cryptsetup luksClose $MAPPER। কমপক্ষে লুপ ডিভাইসটি mount -o loopআগে ব্যবহার করা থাকলে স্বয়ংক্রিয়ভাবে মুক্তি দেওয়া হবে ...


বিষয়ে umount, আমি করতে হবে পরিবর্তন /etc/mtabআমার প্রবেশmount.luks যেমন যে ফাইল-সিস্টেমের ধরন যেমন হয় luks.ext3পরিবর্তে ext3
টোবিয়াস কেইনজলার

3

পাম_মাউন্ট, উত্সফোর্স থেকে উপলব্ধ , একটি সহায়ক মাউন্ট ক্রাইপ্টো_লুকস এবং umount.crypto_LUKS সহ জাহাজ যা অন্য পোস্টারের সরবরাহিত স্ক্রিপ্টের কিছু ত্রুটিগুলি কাটিয়ে উঠেছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.