কীভাবে ড্রপবক্সে মালিকানা এবং অনুমতি সংরক্ষণ করবেন?


9

আমার দুটি মেশিন রয়েছে, একটি ম্যাক এবং একটি পিসি চলছে লিনাক্স, যেটি আমি ড্রপবক্স ব্যবহারের মধ্যে একটি নির্দিষ্ট ফাইল সিঙ্ক করার চেষ্টা করছি।

আমি যে ফাইলগুলি সিঙ্ক করছি তার মধ্যে একটি আমার নিজের ছাড়াও অন্য ব্যবহারকারী (একই মেশিনে বিভিন্ন ইউআইডি, অন্য ড্রপবক্স ব্যবহারকারীর উল্লেখ না করে) লিখিত হতে হবে। আরও নির্দিষ্ট করে বলতে গেলে, এই অন্যান্য ইউআইডিটি আসলে একটি ডেমন da সুতরাং, হয় ফাইলটি সেই অন্য ব্যবহারকারীর মালিকানাধীন হওয়া দরকার, না হলে "গ্রুপ" এবং / অথবা "অন্য" এর জন্য লেখার অনুমতি প্রয়োজন। প্রাথমিকভাবে আমি উভয় মেশিনে এটি সেট আপ করেছি। তদতিরিক্ত, ফাইলটি অন্তর্ভুক্ত ডিরেক্টরিটি ইতিমধ্যে ব্যবহারকারীর দ্বারা মালিকানাধীন (chmod 777) যার ফাইলটিতে লেখার অ্যাক্সেস থাকা দরকার।

যাইহোক, যখনই ফাইলটি একটি বাক্স থেকে অন্য বাক্সে সিঙ্ক হয়ে যায় তখন দেখা যায় যে ড্রপবক্স সম্পূর্ণ অনুমতি উভয় সেটকেই উপেক্ষা করে এবং নতুন আপডেট হওয়া ফাইলের অনুমতিগুলি 0644 (আমার জন্য আরডাব্লু, আর সবার জন্য আর) দিয়ে আমার মালিকানাতে পরিবর্তন করে )। যদি ফাইলটি আমার মালিকানা না থাকে তবে এটি মালিকানাও আমার কাছে ফিরে আসে! ফলস্বরূপ, আমি নিজে হাতে না গিয়ে ফাইলটি পুনরায় chmod না করা পর্যন্ত অন্য ব্যবহারকারীর আর লেখার অনুমতি নেই।

অতিরিক্ত জিনিস আমি চেষ্টা করেছি যা কার্যকর হয়নি:

  1. উভয় মেশিনে ব্যবহারকারীর অ্যাকাউন্ট ("অন্যান্য ব্যবহারকারী" এর জন্য) একই ইউআইডি রয়েছে তা নিশ্চিত করে। কেন এটি প্রয়োজনীয় হবে তা নিশ্চিত নন, যেহেতু আমার প্রাথমিক অ্যাকাউন্টে উভয় মেশিনে একই ইউআইডি নেই।

  2. chmod u+s <dir>এবং chmod g+s <dir>প্রশ্নযুক্ত ফাইলটি অন্তর্ভুক্ত ডিরেক্টরিটি কোথায়।

  3. অন্য ব্যবহারকারীর কাছে ফাইলটির মালিকানা পরিবর্তন করা এবং এটিকে ড্রপবক্স ডিরেক্টরির বাইরে রেখে এবং ড্রপবক্স ডিরেক্টরিতে ফাইলটিতে একটি সিমিলিংক তৈরি করা। ড্রপবক্স আসলে সিমলিংকটি মুছে ফেলে, মূল ফাইলটি (ড্রপবক্স ডিরেক্টরি বাইরে) অপরিবর্তিত রেখে দেয় এবং সেই ফাইলের একটি নতুন অনুলিপি তৈরি করে যেখানে সিমলিংক ব্যবহৃত হত!

আমি কীভাবে জিনিসগুলি সেট আপ করতে পারি যাতে আমার অনুমতি এবং / অথবা মালিকানা সংরক্ষণ করা যায়?

উত্তর:


5

ঠিক আছে, আমি এখানে সমাধানটি পেয়েছি। এটি ড্রপবক্সের ভবিষ্যতের সংস্করণগুলির সাথে কাজ করবে কিনা তা অনিশ্চিত। সমস্যাটি আরও সমাধান করার চেষ্টা করার জন্য আমি ড্রপবক্সের সাথে একটি পরিষেবা অনুরোধ খুলেছি।

সামগ্রিকভাবে, সমাধানটি দুটি জিনিসের সংমিশ্রণ:

  1. ড্রপবক্স প্রক্রিয়াটির জন্য উমাস্ক স্থাপন করা যাতে নতুন তৈরি হওয়া ফাইলগুলির 0660 এর অনুমতি থাকে This এটি ব্যবহারকারী পড়ুন / লেখেন, গ্রুপ পড়ুন / লিখুন, অন্য কোনওটি নয়।
  2. নতুন তৈরি হওয়া ফাইলগুলির জন্য গ্রুপে সেট করা সেই প্রশ্নে ফাইলগুলিতে লেখার অ্যাক্সেস থাকা দরকার।

এই দ্রবণটি ড্রপবক্স ফোল্ডারের সমস্ত ফাইলে প্রয়োগ হবে, কেবল একটি ফাইল নয়। আমার ক্ষেত্রে এটি গ্রহণযোগ্য।

লিনাক্সের অধীনে, আমি /etc/init.d/dropboxপ্রারম্ভিক স্ক্রিপ্টটি সংশোধন করি যাতে ডেমনের মতো লাইনটি চালিত ড্রপবক্সটি পড়ে:

HOME="$HOMEDIR" start-stop-daemon --umask 0006 -b -o -c $dbuser:$dbgrp -S -u $dbuser -x $HOMEDIR/$DAEMON

--umask 0006উমাস্কটি নির্ধারণকারী সাফল্যগুলি যোগ করা , এবং :$dbgrp-c বিকল্পের অংশটি ডিমনের সাথে সম্পর্কিত গ্রুপ নির্ধারণ করে।

ম্যাক দিকে, আমি নিম্নলিখিত কমান্ডগুলি চালিত করি:

ps aux | grep -i dropbox

এটি থেকে আমি কমান্ড-লাইন বিকল্পগুলি দেখতে পাচ্ছি যা ড্রপবক্স শুরু করেছিল এবং এ থেকে আমি পরে ব্যবহৃত $ মাইড্রপবক্সিডটি বের করতে পারি। তারপরে আমি ড্রপবক্সটি ছেড়ে দিয়ে একটি কমান্ড প্রম্পট খুলি এবং নিম্নলিখিত কমান্ডগুলি প্রবেশ করলাম:

umask 0006
/Applications/Dropbox.app/Contents/MacOS/Dropbox -psn_0_$mydropboxid &
exit

আমি উপরের কমান্ডগুলিকে কিছু সময়ে স্বয়ংক্রিয় করার পরিকল্পনা করছি যাতে আমার মেশিনটি পুনরায় বুট করার পরে আর এগুলি পুনরায় চালাতে হবে না।

এটি সদ্য নির্মিত ফাইলগুলির জন্য মুখোশ নির্ধারণ পরিচালনা করে যাতে কোনও ফাইলের জন্য গোষ্ঠীটির লেখার অ্যাক্সেস থাকে। তবে, গ্রুপটি সঠিকভাবে সেট করার জন্য আমাকে ড্রপবক্স ক্যাশে ডিরেক্টরিটি স্থাপন করতে হবে - এটি এখন পর্যন্ত কেবল একবার করা দরকার:

sudo chgrp -R $dbgrp ~/Dropbox/.dropbox.cache
sudo chmod -R g+s ~/Dropbox/.dropbox.cache

এটি উপস্থিত হয় যে সমস্ত নতুন ফাইল প্রথমে ~ / ড্রপবক্স / .pdboxbox.cache ডিরেক্টরিতে তৈরি করা হয়েছিল, সুতরাং উপরের কমান্ডগুলি সেই নতুন ফাইলগুলিকে যথাযথ মালিকানা এবং অনুমতি দেয় যে ড্রপবক্স দ্বারা নির্মিত নতুন ফাইলগুলির সঠিক গ্রুপ রয়েছে।


মজাদার. এই লাইনটি এবং সাধারণভাবে পরিবর্তিত ফাইলটি কী করে আপনি আরও কিছুটা ব্যাখ্যা করতে পারেন?
নিক্সদা

স্টার্ট-স্টপ-ডেমন একটি লিনাক্স ইউটিলিটি যা আপনাকে বিভিন্ন সেটিংস নিয়ন্ত্রণ করতে দেয় যার অধীনে ডেমন চালিত হয়। বেশিরভাগ পরামিতি শেল ভেরিয়েবলগুলিতে পাস করা হয়। মূল পরিবর্তনগুলি হ'ল "--umask 0006" যোগ করা যা ব্যবহারকারী / গোষ্ঠীর জন্য আর / ডাব্লু অনুমতি ছেড়ে দেয় তবে এটি অন্যদের জন্য অপসারণ করে এবং গ্রুপ প্যারামিটার (": b dbgrp") -c প্যারামিটারে যুক্ত করে যা ইউআইডি / জিআইডি সেট করে ডেমন প্রক্রিয়াটি যেমন চালিত হয়)। ম্যাক কমান্ডটি অনুরূপ, তবে আমি কোনও অনুরূপ ইউটিলিটি পাইনি, সুতরাং ড্রপবক্স চালিত শেলের মধ্যে এই সেটিংস স্থাপনের উপর নির্ভর করে।
মাইকেল 14

এটি কি বর্তমান ড্রপবক্স সংস্করণেও প্রযোজ্য? আমার ড্রপবক্সড স্ক্রিপ্টটি PAR=$(dirname $(readlink -f $0)) OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH LD_LIBRARY_PATH=$PAR${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH exec $PAR/dropbox $@এবং ./DPbox-dist/ এ অবস্থিত এবং সরবরাহিত পাইথন স্ক্রিপ্টের মাধ্যমে পরিচালিত হয়
সাইকেল

@ সাইকেলটি এই সমাধানটি আসার পর থেকে আমাকে আমার ড্রপবক্স ক্লায়েন্ট আপডেট করার অনুরোধ জানানো হয়নি।
মাইকেল 18

@ মিশেল, ড্রপবক্স কি কখনও আপনার পরিষেবা অনুরোধে সাড়া দিয়েছে?
bbozo

0

সেই ফাইলটিকে তার নিজস্ব ফোল্ডারে রাখুন এবং সেই ফোল্ডারটি অন্য ব্যবহারকারীর সাথে ভাগ করুন। এইভাবে তারা আপনার মতো সর্বশেষ সংস্করণটি সম্পাদনা করছে। এটি একই সাথে কাজ না করার বিষয়ে সতর্কতা অবলম্বন করুন।


1
আমার মূল প্রশ্নটি আপডেট করা প্রশ্নটি থাকা ফাইলটি যে ফোল্ডারটি ইতিমধ্যে অন্য ব্যবহারকারীর মালিকানাধীন তা প্রতিফলিত করতে। এটি কোনও পার্থক্য করে না, ড্রপবক্স এখনও বর্তমান মালিকানা / অনুমতিগুলি উপেক্ষা করে এবং যখনই ফাইলটি মেশিনে সিঙ্ক করা হয় তখন সেগুলি পুনরায় সেট করে।
মাইকেল

0

আপনি যদি দুটি কম্পিউটারের মধ্যে একটি ফাইল অনুলিপি করেন তবে যে সফ্টওয়্যারটি অনুলিপি করে তা অনুলিপি করে যে অনুলিপিটিতে কী অনুমতি রয়েছে। আপনি যা করছেন তার জন্য আপনার কিছুটা সুক্ষ্ম অনুমতিযুক্ত ম্যাপিং দরকার। ড্রপবক্সের অনুমতি-ম্যাপিং বৈশিষ্ট্যগুলি অনুমতি সংরক্ষণের মধ্যে সীমাবদ্ধ যদি উভয় সিস্টেমই একই OS চালায় । দুটি ভিন্ন ওএসের মধ্যে অনুলিপি করার জন্য কোনও নির্দিষ্ট ফলাফলের গ্যারান্টি নেই।

আপনি ড্রপবক্সটি যেভাবে চান তা ব্যবহার করার উপায় খুঁজে বের করতে পারলেও, আমি এটির উপর নির্ভর করার বিরুদ্ধে পরামর্শ দেব। Undocumented সফ্টওয়্যার quirks বিজ্ঞপ্তি ছাড়াই অদৃশ্য একটি উপায় আছে। আপনার ফাইলের স্থানান্তর সরঞ্জামগুলি দেখতে হবে যা আপনার ব্যবহারের ক্ষেত্রে বিবেচনায় রেখে ডিজাইন করা হয়েছে। আমার প্রথম পছন্দটি rsync হবে , যা লিনাক্স ডিস্ট্রোজে মানক এবং উইন্ডোজে ইনস্টল করা সহজ, বিশেষত আপনার যদি সাইগউইন থাকে । এবং সাইগউইন সাধারণত তাদের জন্য দরকারী যারা উইন্ডোজ এবং লিনাক্স উভয়ের সাথেই কাজ করতে পারেন!

অবশ্যই, আরএসএনসিটির একটি সরাসরি সংযোগ প্রয়োজন - একটি ড্রপবক্স সরবরাহ করে এমন কোনও কেন্দ্রীয় সার্ভার নেই। আপনি কীভাবে এর মোকাবিলা করবেন তা নির্ভর করে আপনার নেটওয়ার্ক সেটআপের বিশদ।


হ্যাঁ, আপনি কোয়ার্কস সম্পর্কে যা বলছেন তাতে আমি সম্মত। আমার মনে প্রায়শই এটি সফ্টওয়্যার আপগ্রেড করা বন্ধ করার একটি ভাল কারণ - এটি যদি আপনি চান তবে তা কেন নতুন সংস্করণগুলিকে ভেঙে ফেলবে!
মাইকেল

আরএসএনসি দ্বি-দিকনির্দেশক নয় এবং প্রতিবার ফাইলে কোনও পরিবর্তন আনলে স্বয়ংক্রিয়ভাবে আপডেট হয় না।
মাইকেল

@ মিশেল আপনার কাছে সর্বদা সফ্টওয়্যার আপগ্রেড করার পছন্দ থাকে না; যখন এটি ক্লাউড-ভিত্তিক (ড্রপবক্সের মতো) আপনার কোনও পছন্দ হয় না। এবং আপনি যা করার চেষ্টা করছেন তার জন্য দ্বি-দিকনির্দেশকতা বা স্বয়ংক্রিয় অনুলিপি কেন অপরিহার্য তা খুঁজে পাওয়া শক্ত।
আইজাক রবিনোভিচ

যতক্ষণ পরিষেবা পূর্বের ক্লায়েন্টের সাথে পিছনে সামঞ্জস্যপূর্ণ থাকে ততক্ষণ আপনার একটি পছন্দ আছে। এবং যদি না ড্রপবক্স সকলকে তত্ক্ষণাত্ আপগ্রেড করতে বাধ্য না করে, আমি সন্দেহ করি তারা প্রোটোকলে নিম্ন স্তরের পরিবর্তন আনার মতো কিছু করতে পারে যা পুরানো ক্লায়েন্টদের ভেঙে দেবে। তারা দেখতে পাবার একমাত্র উপায় হ'ল এক ধরণের রূপান্তর।
মাইকেল

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