ইউনিক্স: আমি কীভাবে কেবল একজনকেই একই ফরাসীতে আমার ফোল্ডারটি দেখতে দেব?


9

আমি একটি বন্ধুর জন্য একটি dir একটি অ্যাক্সেস দিতে চাই। দির যেখানে রয়েছে সেখানে তার ফাইল সিস্টেমের অ্যাক্সেস রয়েছে। আমি সমস্ত ব্যবহারকারীর কাছে অনুমতি সেট করতে চাই না। আমি কীভাবে কেবল একজনকে দির দেখার অনুমতি দিতে পারি? আমরা কেউই সুপারভাইজার নই।

[বাউন্টি চ্যালেঞ্জ] উবুন্টু ব্যবহার করে কোনও উত্তরই কাজ করে না:

১. জামুরার পদ্ধতির কাজ হচ্ছে না

$ setfacl -m user:friend:rwx classroom.xml 
setfacl: classroom.xml: Operation not supported

২. নিকের দৃষ্টিভঙ্গি কাজ করছে না: অস্তিত্বহীন ফাইল অ্যাক্সেস করতে পারে না

৩. বা এর পদ্ধতির কাজ হচ্ছে না: আমি গোষ্ঠী তৈরি করতে পারি না, একটি শিকড় নয়।

৪. টকের দৃষ্টিভঙ্গি কাজ করছে না, ব্যবহারকারীরা দুটি গ্রুপে রয়েছেন: "ব্যবহারকারী" এবং "ক্ষেত্র"

chown -R myFriend:users ~/TEST
chown: changing ownership of `/u/myFriend/TEST/you_see_it': Operation not permitted
chown: changing ownership of `/u/myFriend/TEST': Operation not permitted

1
যদি আপনি এই উত্তরগুলি কীভাবে আপনার জন্য সমস্যা সৃষ্টি করে - আপনি যদি অন্য একটি বিকল্প তৈরি করার জন্য আরও ভাল সমস্যার সংজ্ঞা দিতে পারেন তবে যদি আপনি একটি লাইনার দেন তবে এটি কার্যকর হবে।
নিক

নিক: যুক্ত ত্রুটি প্রোফাইল।

উত্তর:


12

সাধারণ ইউনিক্স অনুমতি (ব্যবহারকারী, গোষ্ঠী, প্রত্যেকে) দিয়ে আপনি সহজেই এটি করতে পারবেন না। আপনার যদি আর ডিরেক্টরিতে অ্যাক্সেসের প্রয়োজন না হয়, আপনি সম্ভবত ডিরেক্টরিটির মালিককে আপনার বন্ধুর কাছে পরিবর্তন করতে পারেন, যা কিছু ইউনিসে বৈধ, তবে তাদের বেশিরভাগটি তা নয়।

তবে - আপনার যদি লিনাক্সে এসিএল সক্ষম করা থাকে তবে আপনি যদি ফাইলটির মালিক হন তবে আপনি এটি করতে পারেন। কমান্ডটি চালান setfacl -m user:friend:rwx filenameযেখানে বন্ধুটি আপনার বন্ধুর অ্যাকাউন্টের নাম এবং ফাইলের নাম ফাইল। আপনি এটি পরীক্ষা করে কার্যকর getfacl filenameকরতে পারেন user:friend:rwxতা তালিকায় ত্রিভুজটি দেখতে হবে । এসিএল সক্ষম হওয়া সত্ত্বেও আমি খুব বেশি লিনাক্স সিস্টেম দেখিনি।


আপনার ফাইল সিস্টেমটি সেগুলি সক্ষম করেছে বলে ধরে নিই এসিএলগুলি এই সমস্যার মানক সমাধান।
রায়ান সি থম্পসন

এইচএইচএইচ বলে মনে হচ্ছে এটি কাজ করবে না। আমি মনে করি এটি যদি না ঘটে তবে যদি কোনও অদ্ভুত কারণে এসিএল সক্ষম না হয়। এইচএইচএইচ, কি দেয়?
pboin

pboin: এই পদ্ধতিটি এতটা আপাতত কাজ করে না কারণ এর কারণ হতে পারে ACL গুলি সক্ষম নয় বা অন্য কোন জিনিস, নিশ্চিত নয়।

11

এটি স্কুলে আমরা আবার আলোচনা করেছি।
মোটামুটি এভাবে চলে যায়,

  1. একটি ডিরেক্টরি তৈরি করুন (নাম হিসাবে dataএখানে রেফারেন্স জন্য)
    • " chmod 711 data" হিসাবে অনুমতি পরিবর্তন করুন
    • গ্রুপ এবং অন্যদের কেবল x- ডিরেক্টরিতে প্রবেশের অ্যাক্সেস রয়েছে
    • তারা ডিরেক্টরি তালিকা করতে পারে না
    • এখন, একটি ডিরেক্টরি তৈরি করুন difficult-name-here(এটি হ্যাশ-স্ট্রিং হতে পারে)
    • " chmod a+rx difficult-name-here" হিসাবে অনুমতি পরিবর্তন করুন
    • এই ডিরেক্টরিটির বিষয়বস্তুগুলি সুরক্ষিত রয়েছে যখন বাইরের ডিরেক্টরি তালিকাভুক্ত করা যায় না
    • "কঠিন নাম" জানেন এমন লোকেরা এই দ্বিতীয় ডিরেক্টরিতে ঝাঁপিয়ে পড়তে পারেন
      • " cd path/to/data/difficult-name-here"
      • অন্যরা নামটি দেখতে পারে না এবং ডিরেক্টরি সামগ্রীতে প্রবেশ করতে পারে না
      • তবে rootসর্বদা সব কিছু অ্যাক্সেস করতে পারে (যা এখানে কোনও সমস্যা নয়)
    • difficult-name-hereআপনি এই ডেটা দিতে চান এমন ব্যক্তির সাথে ভাগ করুন
    • ভাগ করা ফাইলগুলি এই দ্বিতীয় ডিরেক্টরিতে রাখুন

বেশ অপরিশোধিত, তবে এটি যদি ইউনিক্স অ্যাক্সেস নিয়ন্ত্রণের বিরতি ছাড়াই ভাঙা যায় তবে আমি জানতে চাই।


থেকে মন্তব্য আপডেট করুন dmckee,
এটি ঠিক আমরা পৌঁছেছেন উপসংহার!
"অস্পষ্টতা দ্বারা সুরক্ষা" এর নিরাপত্তা সীমিত

এই কথাটি বলার পরেও, যখন ডেটা সুরক্ষা ডিজাইন করার সময়,
এর মূল্য চিহ্নিত করা গুরুত্বপূর্ণ is

আপনার জন্য লক্ষ্য করা উচিত,

  • সুরক্ষা ভাঙ্গনের ব্যয় যা তার চেয়ে বেশি,
  • সুরক্ষিত সামগ্রীর দাম,
  • আপনার প্যারানাইয়ার সাথে আনুপাতিক একটি উপাদান দ্বারা

এই ক্ষেত্রে, যদি rootসর্বজনীন অ্যাক্সেসের মধ্যে ডিরেক্টরি গাছটিকে কোথাও গণনা করার সিদ্ধান্ত নেয় , তবে
আপনার গোপনীয়তাটি বাইরে! তবে, আপনি কি মূল থেকে বা তাদের সম্ভাব্য দায়িত্বজ্ঞানহীনতা থেকে রক্ষা করছেন?
যদি এটি হয় তবে আপনার ভাগ করে নেওয়া ফাইলগুলি নিয়ে আরও অনেক চিন্তা করতে হবে।


প্রশ্নে নোট-ওয়ার্কিং নোট সম্পর্কে আপডেট করুন
লিনাক্সের প্রথম দিনগুলিতে এটি ব্যবহার করে তা জানতে আমি এটি ব্যবহার করেছি।
যদি আপনি ' cannot access non-existant file' এর পরিবর্তে ' ' পান তবে আপনি 'permissions deniedসম্ভবত ক্রমটিতে একটি ভুল করেছেন। আপনি যা চান তা দেখতে এইরকম হওয়া উচিত,

 755 711 755 যাই হোক না কেন - === অ্যাক্সেস অনুমতি

 BasePath / CoverDir / অস্পষ্ট / protectedFile.txt
          | | Without ছাড়া দেখা যায় না
          | Name ডিরেক্টরি নাম পড়তে অ্যাক্সেস
          ^^^^^ জনসাধারণ বন্ধুর সাথে ভাগ করা। অস্পষ্ট ডিরেক্টরি।
                প্রবেশযোগ্য 
                ডিরেক্টরি।
  1. আপনি যদি ' CoverDir' অ্যাক্সেস হিসাবে 'rwx--x--x' সেট করেন ,
    গ্রুপ এবং অন্যরা কেবল ডিরেক্টরিতে প্রবেশ করতে পারে তবে এর সামগ্রীগুলি পড়তে পারে না।
  2. এখন, আপনি যদি এর ভিতরে একটি অস্পষ্ট ডিরেক্টরি নাম
    '' Obscure"ব্যবহার করেন এবং ' rwxr-xr-x' এর সাথে পুরোপুরি পড়ার অ্যাক্সেস দেন তবে
    যে কেউ এই নামটি জানেন তিনি তার সামগ্রীগুলি তালিকাভুক্ত করতে পারেন।
  3. এই অ্যাক্সেসটি একটি ' ls BasePath/CoverDir/Obscure' দিয়ে বাইরে থেকে করতে হবে
    কারণ আপনার গ্রুপের লোকেরা এবং অন্যরা ' ls BasePath/CoverDir' সক্ষম করতে পারবে না ।

7
"যদি এটি ভাঙ্গা যায় [...], জানতে চান" ভাল, এটি অস্পষ্টতার দ্বারা সুরক্ষার অত্যন্ত অনুকরণীয় এবং এইভাবে ভঙ্গুর। এটি দীর্ঘ মেয়াদে বিশ্বাস করবেন না। ঝরঝরে, যদিও।
ডিএমকেকে --- প্রাক্তন-মডারেটর বিড়ালছানা

যদি আপনার ইউনিক্স অ্যাক্সেস নিয়ন্ত্রণটি নিরাপদে প্রয়োগ করা হয় তবে এটি ছায়াময় পাসওয়ার্ড ডাটাবেস (বা sshব্যক্তিগত কী) এর মতো প্রায় নিরাপদ ।
নিক

5

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

chown -R youruser:friendgroup ~/foo/bar

তারপরে ডিরেক্টরিটিতে যথাযথ অনুমতিগুলি নির্ধারণ করুন, আপনি অন্য ব্যবহারকারীর কাছে কী অ্যাক্সেস চান তা নির্ভর করে:

chmod -R 770 ~/foo/bar

আপনি উভয়ই ডিরেক্টরি এবং এর সম্পূর্ণ সামগ্রীতে সম্পূর্ণ rwx অ্যাক্সেসের অনুমতি দেবেন।

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


4

আমি আপনার এবং আপনার বন্ধুর জন্য একটি নতুন গ্রুপ তৈরি করব এবং ডিরেক্টরিতে সেটগ্রিড বিটের সাথে মালিক এবং গোষ্ঠীর জন্য ফোল্ডারের অনুমতিগুলি পূর্ণ করে দেব।

তবে আপনার প্রয়োজনের উপর নির্ভর করে আপনাকে এবং আপনার বন্ধুদের উমাস্ক পরিবর্তন করার বিষয়টিও দেখতে হবে যাতে এটি স্বয়ংক্রিয়ভাবে নতুন ফাইলগুলিকে পরিবর্তন করতে সক্ষম হয়ে গোষ্ঠীকে সেট করে।

# groupadd bestfriends
# chmod 2770 dir
# chgrp bestfriends dir
# usermod -G bestfriends FRIENDLOGIN

3
এর জন্য তার কাছে নেই এমন সুপারভাইজারগুলির প্রয়োজন হতে পারে।
কেক ১৩ ই

1
ওহ, আমি সেই লাইনটি পুরোপুরি মিস করেছি: x তাহলে আমার ক্ষতি হয়। অনুমান করুন যে আমি এটি স্থানীয়ভাবে মেল মাধ্যমে পাঠানোর সাথে যাব - সেরা সমাধান নয় তবে কমপক্ষে ফাইলটি অন্য লোকটির কাছে পৌঁছে যায়।
gaqzi

2

অ্যাক্সেস নিয়ন্ত্রণ তালিকাগুলি এটি করার উপযুক্ত উপায়।

তবে (যদি আমি সঠিকভাবে মনে করি), ফাইল সিস্টেমটি এসিএল (যেমন "/ dev / sda6 / home ext3 ডিফল্টস, acl ") দিয়ে / ইত্যাদি / fstab এর মাধ্যমে শুরু করা দরকার এবং এটি এমন কিছু যা কেবলমাত্র সুপারভাইজারই করতে পারে। ..


2

গ্রাসেক / সেলিনাক্সের মতো আরবিএএসএস প্রয়োজন ..


নিশ্চিত না যে এটি সমস্যা কিনা, আপনি কিছু উদ্ধৃতি যুক্ত করতে পারেন?

2

ডিফল্টরূপে, উবুন্টু সিস্টেমে প্রতিটি ব্যবহারকারীর একই নামের সাথে সম্পর্কিত একটি গ্রুপ থাকে। সুতরাং আপনি যদি আপনার গ্রুপটিকে আপনার বন্ধুকে যুক্ত করতে পারেন এবং তারপরে প্রশ্নে ফোল্ডারটি চিহ্নিত করুন তবে g+rwxআপনি সেট হয়ে যাবেন। আমি স্পষ্টতই মনে করি এই ব্যবহারের ক্ষেত্রে প্রতিটি ব্যবহারকারীর জন্য একটি গ্রুপ তৈরি করার কারণ হিসাবে উল্লেখ করা হচ্ছে।


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

2

ড্রপবক্স সম্পর্কে কীভাবে? আপনি এডমিনের সুযোগ সুবিধা এবং একই অ্যাকাউন্টে উভয় লিঙ্ক ছাড়াই এটি ইনস্টল করতে পারেন।

সম্পূর্ণ পাঠ্য ভিত্তিক লিনাক্স পরিবেশে কীভাবে ড্রপবক্স ইনস্টল করবেন তা দেখুন


1
দুঃখিত তবে আরও কিছু 'বেসিক' খুঁজছেন, মহামব্রার পদ্ধতির প্রতি আরও আগ্রহী

2

এটি চেষ্টা করে দেখেনি, তবে ভিতরে কোনও এনক্রিপ্ট করা ব্যবহারকারী-স্পেস এফএস (উদাহরণস্বরূপ এনএফএস) সহ একটি সরকারী পঠনযোগ্য ডিরেক্টরি সম্পর্কে। তারপরে আপনি সেই পাসওয়ার্ডটি আপনার বন্ধুর সাথে ভাগ করতে পারেন এবং অন্য কেউ সেই ডেটা ব্যবহার করতে পারবেন না (ভাল, আমার ধারণা তারা ডেটা পেতে পারে এবং অফলাইনে একটি পাসওয়ার্ড ক্র্যাকার চালাতে পারে?)


2

লিনাক্সকে ফাইল সুবিধায় উইন্ডোজ হিসাবে একই চতুর দেওয়ার জন্য আপনাকে নীড় গ্রুপ করতে হবে। এমন একটি গোষ্ঠী তৈরি করুন যা আপনার ফোল্ডারে অ্যাক্সেস রয়েছে যেমন আপনি আপনার বন্ধুকে চান। তাকে group গোষ্ঠী বা গোষ্ঠীতে তিনি যুক্ত করুন that উদাহরণ স্বরূপ

/ foo হ'ল ফোল্ডার যা আপনি ভাগ করতে চান। ফোল্ডারে কাঙ্ক্ষিত অ্যাক্সেস রয়েছে এমন একটি গ্রুপ ফুকগ্রুপ তৈরি করুন। আপনি এই ফোল্ডারে অ্যাক্সেস বলতে চাইলে এই গোষ্ঠীতে গোষ্ঠী এবং ব্যবহারকারীদের যুক্ত করুন।

প্রতিটি ফোল্ডার বা ফাইলের জন্য একটি গ্রুপ থাকা একটি বড় ব্যথা তবে উইন্ডোজ হিসাবে একই স্তরে অ্যাক্সেসকে সীমাবদ্ধ করার সর্বোত্তম উপায়।


1

আপনি ডিরেক্টরিটি এনক্রিপ্ট করতে পারেন gpg। এবং তারপরে নিক কীভাবে প্রস্তাবিত হয়েছিল তার মতো অবস্থানটি অবিচ্ছিন্ন করার চেষ্টা করুন।

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