03.
— Section 3
Credentials
macOS Keychain
আপনার পাসওয়ার্ড কখনো ডিস্কে সংরক্ষিত হয় না।
jmapcli ডিস্কে কোনো গোপন তথ্য রাখে না। আপনার পাসওয়ার্ড (বা bearer token) macOS লগইন Keychain-এ থাকে; অ্যাকাউন্ট ফাইল — ~/.config/jmapcli/config.json, মোড 0600 — শুধুমাত্র সার্ভার URL, আপনার ব্যবহারকারীনাম এবং একটি ডিফল্ট ফ্ল্যাগ সংরক্ষণ করে। টার্মিনাল থেকে Keychain ব্যবহারে নতুন? পুরো ওয়ার্কফ্লোটি মাত্র তিনটি বিল্ট-ইন security কমান্ড দিয়ে হয়।
১ · একটি গোপন তথ্য সংরক্ষণ করুন — এবং পুনরায় পড়ুন। macOS মান জানতে প্রম্পট করে, তাই গোপন তথ্য কখনো কমান্ড লাইনে টাইপ হয় না, স্ক্রিনে দেখা যায় না বা আপনার শেল হিস্ট্রিতে লেখা হয় না।
# store it — you’re prompted for the secret, nothing echoes
$ security add-generic-password -U -s jmap-password -a you@example.com -l "Boogie JMAP password" -w
# read it back at any time
$ security find-generic-password -s jmap-password -a you@example.com -w
# remove it
$ security delete-generic-password -s jmap-password -a you@example.com
- -s
- service — jmapcli যে নামটি খোঁজে: পাসওয়ার্ডের জন্য jmap-password, অথবা bearer token-এর জন্য jmap-token (যেমন Fastmail); শুধুমাত্র যেটি ব্যবহার করেন সেটি সেট করুন।
- -a
- account — আপনার ইমেইল ঠিকানা (jmapcli-কে যে ব্যবহারকারীনাম দেন সেটি)।
- -l
- label — Keychain Access অ্যাপে আপনি যা দেখবেন; -U বিদ্যমান আইটেমটি যথাস্থানে আপডেট করে।
- -w
- কোনো মান ছাড়া — গোপন তথ্যের জন্য প্রম্পট করে। এটিই সেই অংশ যা এটিকে ~/.zsh_history এবং প্রসেস তালিকা থেকে দূরে রাখে।
২ · jmapcli-কে আপনার সার্ভারে নির্দেশ করুন। একবার অ্যাকাউন্ট নিবন্ধন করুন; গোপন তথ্য সরাসরি আপনার সংরক্ষিত Keychain আইটেম থেকে নেওয়া হয়, তাই এটি কখনো কমান্ড লাইনে আসে না।
$ jmapcli login --url https://mail.example.com --username you@example.com \
--password "$(security find-generic-password -s jmap-password -a you@example.com -w)"
# token auth: swap --password for --token (and store under jmap-token above)
$ jmapcli list # from here on, every command reads the Keychain for you
3.1
আপনার হিস্ট্রি, লগ — বা কোনো AI-এর কনটেক্সটে কিছু নেই
একবার গোপন তথ্য Keychain-এ গেলে, দৈনন্দিন কমান্ডগুলো (list, send, draft, sync) কখনো পাসওয়ার্ড বহন করে না, তাই এটি ~/.zsh_history, প্রসেস তালিকা বা CI লগে ধরা পড়তে পারে না। এটিই jmapcli-কে টার্মিনাল-AI টুল থেকে চালানোর জন্য নিরাপদ করে তোলে — একটি এজেন্টের হাতে একটি JMAP ক্লায়েন্ট তুলে দেওয়া হয়, আপনার গোপন তথ্য নয়।
— zsh
CI · agents
3.2
রোটেট করুন বা সাইন আউট করুন
পাসওয়ার্ড পরিবর্তন করেছেন? security add-generic-password … -w লাইনটি পুনরায় চালান — -U এটি যথাস্থানে ওভাররাইট করে। একটি অ্যাকাউন্ট সরাতে, jmapcli logout এক ধাপেই কনফিগ এন্ট্রি এবং Keychain গোপন তথ্য উভয়ই মুছে দেয় (--all প্রতিটি অ্যাকাউন্ট সাফ করে)।
— rotate
logout
3.3
ডিজাইন অনুযায়ী প্রতিটি Mac-এর জন্য আলাদা
লগইন Keychain iCloud-এর মাধ্যমে সিঙ্ক হয় না — এটি একটি ইচ্ছাকৃত সীমানা, যাতে আপনার পাসওয়ার্ড যে Mac-এ টাইপ করেছেন সেটি কখনো না ছেড়ে যায়। প্রতিটি Mac-এ একবার security ধাপটি পুনরাবৃত্তি করুন; config.json একটি সিঙ্ক করা হোম ফোল্ডারে রাখা যায় কারণ এটি কোনো গোপন তথ্য বহন করে না।
— per
machine