সাম্বা শেয়ারের অনুমতি ব্যবহারকারীর লেখার ফাইলটিকে অস্বীকার করেছিল কিন্তু এখনও দেখায়


12

খুব আজব ইস্যু ...

রিমোটে সাম্বা শেয়ার:

[javaerpm]
    path = /u/abas/erpm/java
    force user = erpm
    guest ok = yes
    read only = no
    writeable = yes

রুট ব্যবহার করে স্থানীয়ভাবে মাউন্ট কমান্ড:

root@crunchbang:/mnt/abas# mount -t cifs -o username=guest,rw,exec,auto //10.0.0.2/javaerpm ./javaerpm

রুট পড়তে / লিখতে / সিডি করতে কোনও সমস্যা নেই:

root@crunchbang:/mnt/abas# cd javaerpm
root@crunchbang:/mnt/abas/javaerpm# touch test
root@crunchbang:/mnt/abas/javaerpm# ll
total 1
-rw-r--r--  1  501 users   0 Sep 24 09:55 test
root@crunchbang:/mnt/abas/javaerpm# rm test

তবে আমি যদি কোনও নিয়মিত ব্যবহারকারীর কাছে চলে যাই এবং একই জিনিসটি করি তবে আমি এটি পাই:

shawn@crunchbang:/mnt/abas/javaerpm$ touch test
touch: cannot touch `test': Permission denied

আমি llএবং আমি দেখতে পাচ্ছি যে এটি যেভাবেই ফাইলটি লিখেছিল:

shawn@crunchbang:/mnt/abas/javaerpm$ ll
total 1
-rw-r--r--  1  501 users   0 Sep 24 09:55 test

আমি এমনকি rmকোনও সমস্যা করতে পারি না :

shawn@crunchbang:/mnt/abas/javaerpm$ rm test
shawn@crunchbang:/mnt/abas/javaerpm$

আমি বিভিন্ন মাউন্টিং বিকল্প চেষ্টা করেছি। uid=501কিছুই পরিবর্তন করে না চেষ্টা করা হয়েছে nounixতবে তা মোটেও কাজ করে না এবং আমি রুট বা শান ব্যবহারকারী ব্যবহার করে কিছুই দেখছি না।


এই প্রশ্নটি প্রায় একই সমস্যা বলে মনে হচ্ছে: unix.stackexchange.com/questions/71896/…
slm

ঠিক একই বিষয় নয়।
চিংড়িবাগান

আমি বললাম প্রায় 8-)। এই মন্তব্যটি আমার কাছে ভবিষ্যতের ভাইস্টারের জন্য সাধারণ থ্রেডযুক্ত কিউ এবং এ এর ​​সাথে যুক্ত করার জন্য আরও নির্দেশিত হয়েছিল, তবে আপনি ভেবেছিলেন আপনি এটি পরীক্ষা করে দেখতে পারেন।
slm

উত্তর:


7

দ্রষ্টব্য: আমি এখানে অনুমান করছি, আমি সাম্ব গুরু নই।

সাম্বা / সিআইএফএস, আপনি এটি যেভাবে এখানে ব্যবহার করছেন তা সার্ভার এবং ক্লায়েন্টের মধ্যে শংসাপত্র পুনরুত্পাদন করে না। force userসার্ভারে নির্দেশনার কারণে , সমস্ত অপারেশন erpmসার্ভারে ব্যবহারকারী হিসাবে সম্পাদিত হয় । তবে, যেহেতু ক্লায়েন্ট এবং সার্ভার উভয়ই একটি ইউনিক্স সিস্টেম চালাচ্ছে, তারা সিআইএফএস পসিক্স এক্সটেনশানগুলিকে স্বয়ংক্রিয়ভাবে অগ্রাহ্য করেছে । এটি ইউনিক্স অনুমতিগুলি একটি বিন্দু পর্যন্ত কাজ করে বলে মনে করে, তবে কেবলমাত্র সার্ভারের অনুমতি অনুসারে এবং আপনি এমন একটি ক্ষেত্রে চলে এসেছেন যেখানে ইউনিক্স অনুমতিগুলি কী দাবি করে এবং সার্ভার কী অনুমতি দেয় তা পৃথক করে।

আপনি লক্ষ্য করবেন যে সমস্ত ফাইল ব্যবহারকারী আইডি 501 হিসাবে উপস্থিত হবে That's সার্ভারে এটি তাদেরই।

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

আপনি যখন চালান touch, এটি ফাইলটি তৈরি করে এবং তারপরে পরিবর্তনের সময়টি পরিবর্তন করে। কোনও ফাইলের পরিবর্তনের সময় পরিবর্তনের জন্য মালিকানার প্রয়োজন হয় এবং এটি ক্লায়েন্টের পাশে জেনেরিক ফাইল সিস্টেম কোড দ্বারা পরীক্ষা করা হয়।

আপনি যদি চালান strace touch test, আপনি লক্ষ্য করুন যে তারপরে openকল (যা ফাইলটি তৈরি করে) সফল হয়, তারপরে utimesকলটি (বা বরং লিনাক্সে utimensatসিস্টেম কল) সময় নির্ধারণে ব্যর্থ হয়।

এটি আসলে কিছুটা অদ্ভুত কারণ সফল utimes হওয়া উচিত , যেহেতু touchএটিকে একটি ন্যূনু আর্গুমেন্ট (যার অর্থ "বর্তমান সময়ের টাইমস্ট্যাম্প সেট করুন") বলা হয়েছে এবং এটি কেবলমাত্র নয় যে ফাইলটিতে লিখতে পারে এমন কোনও কলারকেও অনুমতি দেওয়া হবে বলে মনে করা হয়, মালিকের কাছে একটি স্বেচ্ছাসেবী টাইমস্ট্যাম্প সেট করার মতো। আমার সন্দেহ হয় যে utimensatপ্রকৃতপক্ষে অনুমতি-ভিত্তিক চেক করছে, এবং নির্ধারণ করে যে অনুমতিগুলি বলছে আপনি সেই ফাইলটিতে লিখতে পারবেন না, যদিও ফাইলমিস্ট প্রকৃত অনুমতি নির্বিশেষে কোনও লেখার কাজকে অনুমতি দেয় allow

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


3
সম্পূর্ণ প্রতিক্রিয়া জন্য আপনাকে অনেক ধন্যবাদ। আমি অবশেষে চেষ্টা করেছি username=guest,defaults,nopermএবং এটি পুরোপুরি সমস্যার সমাধান করেছে। আমি জানি না যে এই উত্তরটি কী গ্রহণ করতে হবে কারণ username=guest,defaults,nopermসম্ভবত এটি সেরা উত্তর নয় এবং আপনার উত্তরটি চেষ্টা করার জন্য আমার কাছে আরও বেশি সময় নেই। আবার আপনাকে ধন্যবাদ!
চিংড়িগাঁও

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