RAIDiator OS এর অধীনে ext3 ফাইল সিস্টেমটিতে রুট ব্যবহারকারী হিসাবে ডিরেক্টরিতে কেবল একটি একক ফাইলের জন্য অনুমতি অস্বীকার করা হয়


9

আমার কাছে "স্টোরেজ" নামে একটি রেডিএনএএস বক্স রয়েছে যা আমি বিশ্বাস করি যে ডেবিয়ান ভিত্তিক। আমি এটি রুট হিসাবে এটি ssh করতে পারেন। আমি ওয়েবসারভারটি পুনরায় কনফিগার করার চেষ্টা করছি, তবে আমি একটি ফাইল অনুমতি সমস্যার মধ্যে চলেছি যা আমি ঠিক বুঝতে পারি না। /etc/frontview/apache/apache.pemরুট হয়েও কিছু করতে পারি না ! একই ডিরেক্টরিতে থাকা অন্যান্য ফাইলের তুলনায় এটির কোনও বিশেষ অনুমতি আছে বলে মনে হয় না এবং আমি সেগুলির সাথে কাজ করতে পারি।

storage:~# whoami 
root
storage:~# cd /etc/frontview/apache/   
storage:/etc/frontview/apache# ls -lah apache.pem*         
-rw-------    1 admin    admin        4.0k Jul 10  2013 apache.pem
-rw-------    1 admin    admin        4.0k Jun  9 05:57 apache.pem.2017-02-04
-rw-------    1 admin    admin        1.5k Jun  9 05:57 apache.pem.orig
storage:/etc/frontview/apache# touch apache.pem            
touch: creating `apache.pem': Permission denied
storage:/etc/frontview/apache# touch apache.pem.2017-02-04 
storage:/etc/frontview/apache# rm -f apache.pem
rm: cannot unlink `apache.pem': Operation not permitted

এই ফাইলটি সম্পর্কে এত বিশেষ কী যে এটি স্পর্শ করা যায় না? আমি এটি মুছতে পারি না। আমি এটির অনুমতিগুলি পরিবর্তন করতে পারি না। আমি এর মালিক পরিবর্তন করতে পারি না।

ডিরেক্টরিটি ঠিক আছে বলে মনে হচ্ছে। এতে স্থান বাকি আছে, এটি কেবল পঠনের জন্য মাউন্ট করা হয়নি। আসলে আমি একই ডিরেক্টরিতে অন্য ফাইলগুলি সম্পাদনা করতে পারি।

# ls -ld /etc/frontview/apache
drwxr-xr-x    8 admin    admin        4096 Jun  9 05:44 /etc/frontview/apache
# df /etc/frontview/apache
Filesystem           1k-blocks      Used     Available Use% Mounted on
/dev/hdc1            2015824        504944   1510880   26% /

এছাড়াও দয়া করে আউটপুট দেন ls -ld /etc/frontview/apacheএবং df /etc/frontview/apache। হতে পারে যে ফোল্ডারটি একটি ডিস্ক স্পেসে মাউন্ট করা আছে ro?
নেড 64

আমি প্রশ্নে তথ্য যোগ করা। এটা সব আমার কাছে ঠিক আছে। যাইহোক, যদি সমস্যা হয় তবে আমি মনে করি না যে আমি সেই ডিরেক্টরিতে থাকা প্রতিটি ফাইল সম্পাদনা করতে পারি।
স্টিফেন অসটারমিলার

@ রুনসিএমডি আমি শিরোনাম এবং ট্যাগগুলিতে আরও সুনির্দিষ্ট তথ্য যুক্ত করেছি। ফাইল সিস্টেমটি ext3 হিসাবে তালিকাভুক্ত, সুতরাং ext3 অপরিবর্তনীয় সমর্থন হিসাবে উপস্থিত হতে পারে # mount::/dev/hdc1 on / type ext3 (rw,noatime)
স্টিফেন অস্টেরমিলার

1
সোলারিস এক্সট3 বা এআরএম সিপিইউ সমর্থন করে না এটি সম্ভবত সোলারিসের উপর ভিত্তি করে নয়।
অ্যালাঙ্ক

1
আমি সোলারিসকে প্রশ্ন থেকে সরিয়ে দিয়েছি। আরও পড়ার সময় এটি ডেবিয়ান ইচ্চার উপর ভিত্তি করে থাকতে পারে।
স্টিফেন অসটারমিলার

উত্তর:


9

আমি সবেমাত্র সমস্যাটি পেয়েছি। "অপরিবর্তনীয়" বৈশিষ্ট্যটি সেই ফাইলটিতে সেট করা হয়েছিল। lsএটি দেখায় না এটি দেখতে আপনার আলাদা কমান্ডের প্রয়োজন:

# lsattr apache.pem*
----i--------- apache.pem
-------------- apache.pem.2017-02-04
-------------- apache.pem.orig

আমি একবার অপরিবর্তনীয় বিট সরিয়ে ফেললে আমি সেই ফাইলটি সম্পাদনা করতে পারি:

# chattr -i apache.pem
# touch apache.pem

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

@ পিটারকর্ডস আমি সম্মত আমি নিশ্চিত যে গুগলিংয়ের পরে "ওভাররাইটিং ফাইল থেকে ওভাররাইটিং থেকে আপগ্রেড করা বন্ধ করুন" এর মতো কিছু সেট করেছি, তবে এটি বহু বছর আগে ছিল এবং আমি স্পষ্টভাবে তা করতে ভুলে গিয়েছিলাম। যদি lsবিটটি দেখানো হয় তবে চমৎকার হবে বা আমি যে অন্যান্য আদেশ ব্যবহার করেছি তার মধ্যে যদি অনুমতিগুলি অস্বীকার করা হয় সে সম্পর্কে আরও সহায়ক (এবং নির্দিষ্ট) ত্রুটি বার্তা রয়েছে।
স্টিফেন অসটারমিলার

সমস্ত touchজানেন যে সিস্টেম কল এটির চেষ্টা করেছিল ( open("apache.pem", O_WRONLY|O_CREAT|..., 0666)) এর সাথে ব্যর্থ হয়েছিল EACCESS। ( strace -efile touch apache.pemফাইল সম্পর্কিত সিস্টেম কল করে এটি দেখতে ব্যবহার করুন )। যেমন সিস্টেম কলের ম্যান পেজটি বলেছে , EACCESS এর জন্য অনেকগুলি সম্ভাব্য কারণ রয়েছে এবং সেগুলির মধ্যে অনেকগুলি ফাইলের পরিবর্তে অভিভাবক ডিরেক্টরিতে জড়িত। কোনও সিস্টেম কল কেন এটির ত্রুটি ফিরিয়েছিল তা সঠিকভাবে অনুমান করার জন্য কোড লেখার পদ্ধতিটি অত্যন্ত শক্ত হবে, যেহেতু বিভিন্ন ফাইল সিস্টেম এবং ওএস ভিন্ন ...
পিটার কর্ডেস

যাইহোক, সর্বজনীন কনভেনশনটি হ'ল যখন কোনও কিছু ব্যর্থ হয় তখন আপনি ত্রুটি কোডের জন্য ত্রুটির স্ট্রিংটি সন্ধান করেন এবং এটি errnoমুদ্রণ করুন। (সি স্ট্যান্ডার্ড লাইব্রেরি perrorফাংশন বা সমতুল্য ব্যবহার করে )। এটি বিরল ক্ষেত্রে একটি যেখানে ব্যবহারকারীরা দ্রুত সমস্যাটি সনাক্ত করতে ইঙ্গিত দেওয়ার পক্ষে যথেষ্ট নয়, তবে বেশিরভাগ সময় এটি খুব ভালভাবে কাজ করে। (বিশেষ করে যখন সঙ্গে মিলিত straceক্ষেত্রে সেখানে যা অপারেশন ত্রুটি উত্পাদিত সম্পর্কে ঠিক কোন সন্দেহ নেই।) এটা নিখুঁত নয়, কিন্তু এটা হতে পারে অনেক খারাপ (MS Windows 'যেখানে শ্রেষ্ঠ সময়ে আপনি Google একটি ত্রুটি কোড পাওয়ার cf.।)
পিটার Cordes

শুধু নিয়ে খেলে গেল chattr +i, এবং লক্ষ্য করেছি যে, rm foo(ছাড়া -f) অনুরোধ জানানো: rm: remove write-protected regular file ‘foo’। কারণ faccessat(AT_FDCWD, "/var/tmp/foo", W_OK) = -1 EACCES (Permission denied)। পোস্ট rm-সুরক্ষিত ফাইলগুলি সরানোর আগে পসিক্সের ডিফল্টরূপে প্রম্পট করা দরকার এবং এজন্য এটি প্রথম স্থানে যাচাই করে। আপনি যদি ব্যবহার না করে থাকেন তবে আপনি দ্রুত একটি বড় ক্লু অর্জন করতে পারতেন rm -f। : / access(3)কার্নেলকে অনুমতি পরীক্ষা করার জন্য অনুরোধ করে যেন এটি লেখার জন্য সত্যই খোলা থাকে, সুতরাং এটি এসিএল এবং বৈশিষ্ট্যগুলি তুলে ধরে।
পিটার কর্ডেস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.