একবারে একাধিক ফাইল এনক্রিপ্ট করুন


10

আমি একটি স্ক্রিপ্ট লিখছি যা প্রকল্প সংরক্ষণাগার তৈরি করে এবং তারপরে আমার কাছে নির্দিষ্ট সংস্করণগুলি সংরক্ষণ এবং এনক্রিপ্টড ব্যাকআপগুলি রাখা আরও সহজ করার জন্য সেগুলির 7z সংরক্ষণাগার তৈরি করে।

আমি সংরক্ষণাগারগুলি তৈরি করার পরে এবং আমি এনক্রিপশন পর্যায়ে পৌঁছানোর পরে, আমি gpgযদি সম্ভব হয় তবে একটি কল দিয়ে ফাইলগুলি এনক্রিপ্ট করতে চাই , যাতে কেবল একবার তাদের পাসফ্রেজ ব্যবহারকারীর ইনপুট থাকে। অন্যথায়, আমাদের হয় মেমরির ব্যবহারকারীর পাসফ্রেজ ক্যাশে করতে হবে (যা আমি সত্যিই করতে চাই না) বা তাদের ইনপুট রাখতে এবং সংরক্ষণাগারভুক্ত প্রতিটি প্রকল্পের জন্য তাদের পাসফ্রেজটি নিশ্চিত করতে হবে (যা আরও খারাপ)।

gpgএকসাথে সবগুলি এনক্রিপ্ট করার জন্য কি একাধিক ফাইলের নাম পাস করার কোনও উপায় আছে?

যদি আমি এটি চেষ্টা করি:

$ gpg --cipher-algo AES256 --compression-algo BZIP2 -c project1.7z project2.7z

... আমি শেলটিতে নিম্নলিখিত ত্রুটিটি দেখছি:

usage: gpg [options] --symmetric [filename]

আমি যেটি সম্পাদন করতে চাই তার করার কোনও উপায় আছে?


2
আপনি প্রথমে সংক্ষেপ করতে 7zip (সম্ভবত) ব্যবহার করছেন, তারপর GnuPG কে আবার bzip2 ব্যবহার করে সংক্ষেপ করতে বলছেন ? স্থানের দক্ষতার দিক থেকে আমি আপনাকে বেশি লাভ করতে দেখছি না, এবং আমি দেখতে পাচ্ছি যে এটির জন্য সিপিইউর একটি ভাল চুক্তি ব্যয় হয়েছে।
একটি সিভিএন

1
> সবগুলি একসাথে এনক্রিপ্ট করার জন্য জিপিগিতে একাধিক ফাইলের নাম দেওয়ার কোনও উপায় আছে কি? হ্যাঁ, এই উত্তরটি ব্যবহার করে দেখুন
আনচান

উত্তর:


5
Is there a way to pass multiple filenames to gpg to have it encrypt all of
them in one go?

কোন নেই.

আপনি সম্ভবত নিম্নলিখিত জিপিজি বিকল্পগুলির সাথে পাসফ্রেজটি পাস করতে চান (পরবর্তীটি সবচেয়ে সুরক্ষিত পছন্দ হবে):

--passphrase
--passphrase-file
--passphrase-fd

10

যেহেতু GnuPG এটি সরাসরি সমর্থন করে না, তাই করার উপায় হ'ল অন্য স্তর যুক্ত করা, যেমন ব্যবহার করা tar

tar c project1.7z project2.7z | gpg --cipher-algo AES256 --compression-algo BZIP2 -co projects.gpg

এবং নিষ্কাশন করতে:

gpg -d projects.gpg | tar x

আপনার সাথে project1.7zআর থাকবেন project2.7z। আপনার স্ক্রিপ্টটি আপনি যেখানে রেখে গিয়েছিলেন তা চয়ন করতে পারে।


3

আপনি যদি অন্য কিছু চেষ্টা করতে চান তবে জিপিজিতে একাধিক ফাইল এনক্রিপ্ট করার জন্য অন্যান্য ব্যাকআপ পদ্ধতি রয়েছে:

আসল উত্স: http://www.obsd.hu/docs/Unix-backup-with-aes.txt

vi ~/.bashrc

backup() {
if [[ "$1" = "" ]]; then echo 'specify full path' && exit 1; fi
CURRENTDATE="`date +%F-%Hh`"
echo 'Did you do a screenshot of the Desktop and backup all the Bookmarks of the webbrowser and backup cronjobs, etc...?'
read
echo "START: `date`"
ORIGDIR="$1"; ORIGDIRNORM="`echo $ORIGDIR | sed 's/\/$//g'`"; tar cvf - "${ORIGDIRNORM}/" 2>/dev/null | gzip -9 - 2>/dev/null | openssl aes-256-cbc -salt -out "${ORIGDIRNORM}-backup-${CURRENTDATE}.tar.gz.aes" && cksum "${ORIGDIRNORM}-backup-${CURRENTDATE}.tar.gz.aes" >> checksum.txt
echo "END: `date`"
}

decrypt() {
if [[ "$1" = "" ]]; then echo 'specify full path' && exit 1; fi
CURRENTDATE="`date +%F-%Hh`"
echo 'This will decrypt the backup in the current working directory, are you sure?'
read
echo "START: `date`"
ORIGDIR="$1"
openssl aes-256-cbc -d -salt -in "${ORIGDIR}" | tar -xz -f -
echo "END: `date`"
}

ব্যবহার: এনক্রিপশন এবং "ডিক্রিপ্ট DIRECTORY.tar.gz.aes" এর জন্য কেবল "ব্যাকআপ DIRECTORY" ব্যবহার করুন


1

আজ এমন কিছু করতে পরিচালিত হয়েছে:

  1. লক্ষ্যযুক্ত ফাইলগুলি অন্তর্ভুক্ত ডিরেক্টরিতে ডিরেক্টরি পরিবর্তিত হয়েছে, এবং প্রয়োজনীয় ফাইল_নামগুলি খুঁজে পেতে বাশ স্ক্রিপ্টটি চালিয়ে একটি পাঠ্য ফাইলে তালিকাভুক্ত করেছে যা আমি ডেকেছি found.txt

  2. প্রতিটি ফাইলের নাম লুপে এবং মেমোরি ভেরিয়েবলটিতে পড়তে, এবং একই লুপে আমার সাইন ইন কী ব্যবহার করে এটি এনক্রিপ্ট করতে এবং এটি নিজেই পড়ার জন্য উল্লেখ করে বাশ স্ক্রিপ্টটি চালান। gpg2 আপনার পাস-বাক্যাংশটি রাখার জন্য একটি পপআপ রাখে, যা পপ-আপটিতে একটি সামান্য চেক-বাক্স রয়েছে যেখানে আপনি আপনার পাস-বাক্যাংশটি সেশনের জন্য সক্রিয় রাখতে বেছে নিতে পারেন। খারাপ অনুশীলন, তবে এতটা খারাপ নয় আপনি যদি নেট থেকে না থাকেন এবং আপনার এনক্রিপ্ট করার অধিবেশনের সাথে সাথেই আপনি পাওয়ার-ডাউন হন।

  3. একমাত্র সমস্যা হ'ল এখানে পরিচালনা করতে হবে এমন ay / n ছিল। তাই Y আঙ্গুল দিয়ে আমার আঙুলটি দিয়ে বসে এবং এক মিনিটেরও কম সময়ের মধ্যে ৫১ টি নোট ফাইল এনক্রিপ্ট করে।


স্ক্রিপ্টগুলি নীচে দেওয়া হয়েছে:

'ফাইন্ড' স্ক্রিপ্টটি একটি ফাইল নামে পরিচিত FindFilesAndListtoTextfile.sh:

#! /usr/bin/bash
#Try this to list the files you want using the appropriate file identifier i.p.o "DSCN.*":

source="/home/myself/Whatever  #note no gaps on either side of the equal-to sign 
 target="/home/myself/Whatever/found.txt"
 find $source -name "*DSCN*" -type f > $target       

এনক্রিপশন স্ক্রিপ্টটিকে ReadFilenameAndEncrypt.sh বলা হয়েছিল:

#!/bin/bash
line="/home/myself/Whatever/found.txt"
while IFS='' read -r line || [[ -n "$line" ]]; do
    echo "Text read from file: $line"
    gpg2 -e -u mysecretkeyID -r mysecretkeyID "$line"
  done < "$1"

এটি নিয়মিত ব্যবহারকারী হিসাবে চালানো হবে:

$ bash ReadFilenameAndEncrypt.sh found.txt

আশাকরি এটা সাহায্য করবে. কীভাবে y / n এড়াতে হবে তা ভেবে দেখেনি।


0

নিম্নলিখিত কমান্ডটি আমার পক্ষে ততক্ষণ কাজ করে যতক্ষণ না আমার কাছে কোনও ফাঁকের ফাঁকে ফাঁকে কোনও ফাইল নাম নেই।

for file in $(ls | grep -v ".gpg"); do gpg -c --cipher-algo AES256 --compress-algo 1 --batch --passphrase "<password>" $file && rm -f $file; done

আপনি ফাইন্ড কমান্ডটিও ব্যবহার করতে পারেন।

for file in $(find /home -type f | grep -v ".gpg"); do gpg -c --cipher-algo AES256 --compress-algo 1 --batch --passphrase "<password>" $file && rm -f $file; done

শেষ পর্যন্ত যদি আপনি পাসওয়ার্ডের জন্য কোনও ফাইল ব্যবহার করতে চান তবে ব্যবহার করুন:

--passphrase-file <filename>


-1

প্রতিধ্বনি "একটি পাসওয়ার্ড লিখুন:"

পাসওয়ার্ড পড়ুন

অনুসন্ধান . -type f -exec gpg --passphrase $ password -c {} \;

হুমম্ম মিমি জিপিজি গ্রাফিকম্যাসেজবক্সের সাথে প্রতিটি ফাইলের জন্য একটি পাসওয়ার্ড জিজ্ঞাসা করে।

সুতরাং, আমি সি-এএনএসআইতে CRYBULL (আমি তৈরি করা ক্রিপ্টোগ্রাফি প্রোগ্রাম) ব্যবহার করার সিদ্ধান্ত নিয়েছি। আপনি www.labolida.com এ বিনামূল্যে ডাউনলোড করতে পারেন

অনুসন্ধান . -type f -exec crybull {} {}। cry $ পাসওয়ার্ড এনকোড \;


দয়া করে আরও বিস্তৃত উত্তর দেওয়ার চেষ্টা করুন। এছাড়াও, এই প্রশ্নের ইতিমধ্যে উত্তর দেওয়া হয়েছে। প্রশ্নের সঠিকভাবে উত্তর দিতে জিজ্ঞাসা করা প্রশ্নগুলি পড়ুন
zuazo
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.