একটি CIFS ভাগ একটি subversion repo চেকআউট করার চেষ্টা করার সময় অনুমতি ত্রুটি


2

গ্রিটিংস,

আমার লিনাক্স মেশিনে একটি সিআইএফএস শেয়ার মাউন্ট করা আছে (ফেডোরা 11)। এই শেয়ারটিতে একটি সাবভার্সিং কাজ কপি রয়েছে যা আমি দূরবর্তী মেশিনে স্থানীয়ভাবে কাজ করি। দূরবর্তী মেশিনটি একটি লিনাক্স বক্স যা সাম্বা চালাচ্ছে।

আমি এখন আমার মেশিনে রিপোজিটরির সাথে কাজ করতে চাই, তাই রিমোট মেশিনে চেকইন এবং আপডেট করার জন্য আমাকে লগইন করতে হবে না। যাহোক, svn শেয়ারে ফাইল অপারেশন সঞ্চালনের চেষ্টা করার সময় অনুমতি সমস্যা মধ্যে সঞ্চালিত বলে মনে হয়।

উদাহরণস্বরূপ (আমার মেশিনে)

$ svn update
svn: Can't open file '.svn/tempfile.tmp': Permission denied

যাইহোক, যখন আমি কমান্ড লাইনে একই ফাইল সম্পাদনা করার চেষ্টা করি (উদাঃ vi ) এটি জরিমানা কাজ করে এবং আমার কাছে সেই ফাইলটিতে সম্পূর্ণ লেখা / লেখার অনুমতি আছে বলে মনে হচ্ছে।

আমি শেয়ারে আমার মেশিনে একটি নতুন চেকআউট করার চেষ্টা করেছি:

$ svn co svn://10.212.52.226/project/trunk project
svn: Can't create directory 'project/.svn': Permission denied

কিন্তু আমি নিজে নিজে এটি করতে পারি:

$ mkdir project/.svn

... এবং এটা কাজ করে।

আমি এই মত শেয়ার মাউন্ট:

mount.cifs //10.212.52.240/myname /mnt/mdev -o "uid=myname,gid=myname,password=mypass

তাই আমি মাউন্ট শেয়ারের সব ফাইল মালিক।

সময়ের জন্য, আমি রিমোট সিস্টেমে সাবভার্সন ব্যবহার চালিয়ে যেতে পারি, যা কাজ করে চলেছে। কিন্তু আমি এই কাজ পেতে চাই। আমি আপনার কোন ধারনা প্রশংসা করতে পারেন।

ধন্যবাদ

সম্পাদন করা

ব্যবহার করার পরামর্শ জন্য জননিলম্বা ধন্যবাদ strace। এখানে প্রাসঙ্গিক বিট হয় strace একটি subversion চেকআউট চেষ্টা করার জন্য আউটপুট:

open("test/.svn/entries", O_RDONLY|O_LARGEFILE) = -1 ENOENT (No such file or directory)
lstat64("test", {st_mode=S_IFDIR|0755, st_size=0, ...}) = 0
mkdir("test/.svn", 0777)                = -1 EACCES (Permission denied)
write(2, "svn: Can't create directory 'test"..., 59svn: Can't create directory 'test/.svn': Permission denied

এটি এখনও বিভ্রান্তিকর, কারণ আমি কমান্ড লাইনের ডিরেক্টরি (একই মোড সহ) তৈরি করতে পারি।

আমি লক্ষ্য করেছি, তবে, যে ব্যবহার touch একটি temp ফাইল তৈরি করার জন্য একটি ত্রুটি ঘটে:

$ touch foo
touch: setting times of `foo': Permission denied

যদিও এটি টাইমস্ট্যাম্পটি পুনরায় সেট করতে সক্ষম ছিল না, এটি ফাইল তৈরি করেছিল।

উত্তর:


1

আমার ডি-লিংক ডিএনএ 323 থেকে সিআইএফএস শেয়ারের মতো একই সমস্যা ছিল। আমি বিভিন্ন সাথে খেলার চেষ্টা করেছি mount.cifs অপশন ( র manpage ) উপর আঘাত পর্যন্ত nounix যা আমার জন্য কাজ করে।

nounix: জন্য সিআইএফএস ইউনিক্স এক্সটেনশান নিষ্ক্রিয় করুন   এই মাউন্ট। এই দরকারী হতে পারে   একাধিক সেটিংস বন্ধ করতে আদেশ   একদা. এতে POSIX Acls, POSIX রয়েছে   তালা, POSIX পাথ, symlink সমর্থন   এবং থেকে uids / gids / মোড পুনরুদ্ধার   সার্ভার। এই দরকারী হতে পারে   একটি সার্ভার যে একটি বাগ কাছাকাছি কাজ   ইউনিক্স এক্সটেনশন সমর্থন করে।

সুতরাং, আমার ক্ষেত্রে, আমার /etc/fstab এখন এই মত দেখাচ্ছে:

//192.168.100.101/Volume_1  /nas    cifs    rw,nounix,user=,password=,uid=1000,gid=1000    0   0

আমার সমস্যা বেশিরভাগ আপনার মতই ছিল না - আমি একটি নতুন ডিরেক্টরিতে একটি svn সংগ্রহস্থলের একটি নতুন চেকআউট তৈরি করছিলাম:

$ svn co https://example.com/project/trunk /nas/project
svn: Can't change perms of file '/nas/project/.svn/entries': Permission denied

1

ঠিক কি ভুল হচ্ছে তা জানা কঠিন। আমি কোন সিস্টেম কল ভুল যাচ্ছে এবং ত্রুটি কি দেখতে স্ট্রেস অধীনে কমান্ড চালানোর চেষ্টা করবে। এটার মত:

strace svn update >/tmp/strace.out 2>&1

আপনি একটি বড় "/tmp/strace.out" ফাইল দিয়ে শেষ করব। "অনুমতি অস্বীকার" লেখাটির জন্য সেখানে একটি নজর রাখুন। শুধু উপরে, আপনি সিস্টেম কল যা ত্রুটি জন্য সন্ধান করা উচিত। ত্রুটি আগে আউটপুট কয়েক লাইন সঙ্গে আপনার প্রশ্ন সম্পাদনা করুন।


পরামর্শের জন্য ধন্যবাদ; আমি স্ট্রাস আউটপুট সঙ্গে মূল পোস্ট আপডেট
friedo

সুতরাং আপনি কি বলছেন যে আপনি পরীক্ষা / .svn তৈরি করতে পারেন? স্ট্রেঞ্জ। Mkdir test / .svn স্ট্রাসের অধীনে এটি চালানোর চেষ্টা করে দেখুন এটি সঠিক একই সিস্টেম কল করে কিনা তা দেখতে।
JohnnyLambada
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.