chown -R ব্যবহারকারী: ব্যবহারকারী। * অনুমতিগুলি পিছনে পরিবর্তন করে: এটি কি সঠিক আচরণ?


8

আমি একটি ফোল্ডার অনুমতি পরিবর্তন কষ্ট অনেক পেয়েছিলাম myfolderবসবাসকারী /। আমি আদেশ জারি করেছি

sudo chown -R luca:luca /myfolder/.*

আমার উদ্দেশ্য ছিল সমস্ত লুকানো ফাইলের মালিকানা পরিবর্তন করা /myfolder

দুর্ভাগ্যক্রমে আমি বুঝতে পেরেছিলাম যে এর মালিকানাও /বদলে গেছে, যা অবশ্যই আমাকে একটি ভাঙা ব্যবস্থা দিয়ে রেখেছিল। আমি মনে করি এটি ..ম্যাচগুলির কারণে হয়েছিল .*, তবে এখনও তা আমার কাছে অদ্ভুত বলে মনে হচ্ছে।

অভিভাবক ডিরেক্টরিটি কি সঠিক আচরণটি পরিবর্তন করা হচ্ছে বা আমার একটি বাগ রিপোর্ট ফাইল করা উচিত?

যদি শাউনটি ব্যবহার করার ক্ষেত্রে এটি আমার ভুল ছিল তবে সিস্টেম ফোল্ডার এবং ফাইলগুলির মালিকানা পরিবর্তন রোধ করতে ব্যবহার করার সর্বোত্তম অনুশীলনগুলি কী কী?


4
এটি ..ম্যাচগুলির মতো আচরণের উদ্দেশ্যে.*
উওয়ে প্লোনাস

.*এর সাথে শেষ . *.হওয়া কোনও ফাইলের অর্থ যে কোনও ফাইল শুরু হবে.
নিকটাক্স

4
@ নিক এটি আরও অন্যভাবে!
উওয়ে প্লোনাস

একটি সর্বোত্তম অনুশীলন হতে পারে /সম্পূর্ণরূপে প্রয়োজনীয় না হলে সরাসরি (ফোল্ডার তৈরি করা, অপসারণ ইত্যাদি) সংশোধন না করা (আপনি কী অর্জন করতে চেয়েছিলেন তার জন্য একটি প্রশ্ন খুলুন)। ওয়াইল্ডকার্ড + মূল সুযোগগুলি ব্যবহার করাও বিপজ্জনক কারণ কারণ প্রায়শই আপনি ওয়াইল্ডকার্ড দ্বারা প্রভাবিত হয়েছেন তা 100% নিশ্চিত নন।
এডউইন

1
@LucaCerone বর্ণিত, chmodএবং chownঅনুরূপ কমান্ড, সঙ্গে উভয় শুরু chরয়েছে একটি oএবং দুই অন্যান্য অনুরূপ অক্ষর (আছে nএবং m)। </ আক্ষরিক> সিরিয়াসলি, তারা ফর্ম উভয় আছেন: [cmd] -R [mode or user] [one or more files]। আপনার সমস্যার জন্য এই প্রশ্নটির জন্য প্রস্তাবিত কিছু সমাধানগুলি উদাহরণস্বরূপ শান রিফসনিডারের (মাঝখানে) এটির একটিএই উত্তরটি শুধুমাত্র গোপনীয় ফাইলগুলির জন্য গ্লোব প্যাটার্ন অপসারণের মাধ্যমে গোপন ফাইলগুলিতে প্রযোজ্য ।
লেকেনস্টেইন

উত্তর:


5

মনে রাখবেন কমান্ড লাইন কার্যকর হওয়ার আগে শেল দ্বারা প্রসারিত (ব্যাখ্যা করা) হয়

sudo chown -R luca:luca /myfolder/.*

প্রথম হিসাবে ব্যাখ্যা করা হয়:

sudo chown -R luca:luca /myfolder/.  /myfolder/.. /myfolder/.adobe  /myfolder/.bash_history

/myfolder/..আপনার কমান্ড লাইনে নোট করুন

chown -R luca:luca /myfolder/..সমান chown -R luca:luca /
এটি chown "পিছনের দিকে" চলমান করে তোলে

echo /myfolder/.*আপনি যখন যাচাই করতে "*" ব্যবহার করেন তখন ব্যবহার করুন।


@ এমমানুয়েল: আপনি কেন জার্গস ব্যবহার করবেন এবং যখন খুঁজে পাবেন -R বিকল্প পর্যাপ্ত?
জানুয়ারী

@ এমমানুয়েল: ধন্যবাদ! আপনি অনুসন্ধান এবং xargs সম্পর্কে কিছুটা প্রসারিত করতে পারেন?
লুকাসেরোন

@LucaCerone আমি নিশ্চিত আপনি কেন এই এক গ্রহণ নই, এটা যাও recursively পরিবর্তন সব ফাইল /myfolderfindকমান্ড প্রযোজন নেই এবং ফাইলের নামের হোয়াইটস্পেস সম্বলিত বিরতি। (আপনি যদি পুনরাবৃত্তভাবে ফাইলগুলি পরিবর্তন করতে চান তবে এটির find /myfolder | xargs chown luca:lucaমতো chown -R luca:luca /myfolder)।
লেকেনস্টেইন

লেকেনস্টেইন ঠিক আছে আমি গ্রেপ করতে ভুলে গেছি ^
এমমানুয়েল

@ লেকেনস্টেইন আমি স্থানটির সাথে মেলে না বলে অনুসন্ধানটি পরিবর্তন করেছি
এমমানুয়েল

4

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

আপনার যা করা উচিত ছিল তা ছিল

chown -R luca:luca /myfolder

আমি কি উল্লেখ করেছি যে বিন্দু দিয়ে শুরু হওয়া ফাইল নামগুলির মধ্যে বিশেষ কিছু নেই? পুনরাবৃত্তির chownমনে হয় না।

এই মুহুর্তে, আপনি মালিকানাটিকে রুটে বদলে কিছু কার্যকারিতা উদ্ধার করতে সক্ষম হতে পারেন। দীর্ঘমেয়াদে, আপনাকে সম্ভবত সিস্টেমটি পুনরায় ইনস্টল করতে হবে, যদিও।

একটি সাধারণ নিয়ম হিসাবে:

  1. মূল হিসাবে কাজ করা থেকে বিরত থাকুন।
  2. আপনি যদি রুট হিসাবে কাজ করেন তবে এন্টার টিপানোর আগে প্রতিটি কমান্ড দুবার পড়ুন।
  3. আপনি যদি প্রসারণ সম্পর্কে অনিশ্চিত থাকেন তবে প্রথমে এটি একটি "নিরাপদ" কমান্ড (মত echo .*) দিয়ে চেষ্টা করুন।
  4. রুট হিসাবে কাজ করবেন না।
  5. একটি গ্রাফিকাল ইন্টারফেস ব্যবহার করে নিরাপদে সম্পাদন করা যেতে পারে এমন অনেকগুলি কার্য রয়েছে (আপনার সমস্যা যেমন কোনও কাজের উদাহরণ)।
  6. আমি কি উল্লেখ করেছি যে আপনার রুট অ্যাকাউন্টটি ব্যবহার করা এড়ানো উচিত?

আমি ফোল্ডারে থাকা সমস্ত ফাইলের মালিকানা বদলাতে চাইনি ... কেবল লুকানো ফাইলগুলির
মধ্যেই

2
ঠিক আছে, আমার তখন খারাপ। chown -R luca:luca /myfolder/.[^.]*
জানুয়ারী

2
echo .*সম্প্রসারণের চেষ্টা করার একটি ভাল উপায়। এটি শেলটি ঠিক কী দেখায় তা আপনাকে প্রদর্শন করবে। ls .*কিছুটা বিভ্রান্তিকর হতে পারে, কারণ এটি ডিরেক্টরিগুলি নেমে আসবে ( ls -d .*আরও ভাল হতে পারে তবে কেবল ব্যবহার করতে পারে echo .*)
রবি বাসাক

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