ফাইলের অনুমতিগুলি কীভাবে সেট করবেন যাতে নতুন ফাইলগুলি একই অনুমতি লাভ করে? [প্রতিলিপি]


35

এই প্রশ্নের ইতিমধ্যে এখানে একটি উত্তর আছে:

আমার একটি ফোল্ডার রয়েছে যাতে নতুন স্ক্রিপ্ট দ্বারা নতুন সাবফোল্ডার এবং ফাইলগুলি স্বয়ংক্রিয়ভাবে তৈরি হবে।

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

আমি এ পর্যন্ত এটিই করেছি:

sudo mkdir -p /path/to/parent
sudo chmod -R 660 myself:somegroup /path/to/parent

এরপরে, আমি চাই যে কোনও ফোল্ডার এবং ফাইলগুলিতে স্থাপন করাতে পুনরাবৃত্তভাবে 660 টি অনুমতি সেট করা হোক /path/to/parent

তবে, আমি এখন পর্যন্ত যা কিছু চেষ্টা করেছি তা ব্যর্থ হয়েছে। কেউ দয়া করে সাহায্য করতে পারেন?

আসলে অষ্টাল পতাকা 660 সম্ভবত এমনকি সঠিক নয়। আমি যে অনুমতি চাই তা হ'ল:

  1. এর অধীনে রাখা ডিরেক্টরিগুলি /path/to/parentঅনুমতি সহ ব্যবহারকারীদের দ্বারা আরামদায়ক
  2. ফাইলগুলি ব্যবহারকারী নিজে নিজে এবং কোনও গোষ্ঠীর সদস্যদের দ্বারা পঠনযোগ্য / লিখিত হয়
  3. ফাইল এবং ফোল্ডারগুলি /path/to/parentবিশ্বের পাঠযোগ্য নয়

আমি উবুন্টু 10.0.4 এলটিএসে চলছে।

কেউ দয়া করে সাহায্য করতে পারেন?

উত্তর:


10

মাধ্যাকর্ষণ একটি দুর্দান্ত উত্তর দেয় তবে আমি সন্দেহ করি সম্পাদিত প্রশ্নটি কিছুটা বদলেছে।

আমি অ্যাপাচি ব্যবহারকারী / গোষ্ঠীর মালিকানাধীন ডিরেক্টরিটি ছেড়ে দেওয়ার পরামর্শ দেব। এটি সম্ভবত আপনার বিতরণের উপর নির্ভর করে হয় অ্যাপাচি বা httpd হবে

যেমন

chown -R apache:apache /path/to/parent

তারপরে আপনি https://serverfault.com/questions/164078/is-adding-users-to-the-group-www-data-safe-on-debian এর মতো কিছু করতে পারেন বা আপনাকে নিশ্চিত করতে এপাচি গ্রুপে নিজেকে যুক্ত করতে পারেন ডিরেক্টরিতে গ্রুপ অ্যাক্সেস আছে। (এরকম কিছু usermod -aG apache username)

আমি chmod -Rপুরো ডিরেক্টরিটি করব না কারণ আপনি এইচটিএমএল স্ক্রিপ্ট বা জেপিজি বা এলোমেলোভাবে অন্যান্য জিনিস কার্যকর করতে চান না। আপনার প্রয়োজন অনুসারে অনুমতি পরিবর্তন করা উচিত। (যদিও এটি 660 এ পুনরায় সেট করা ধারণাগুলির মধ্যে সবচেয়ে খারাপ হতে পারে না))

আপনি চেষ্টা করতে পারেন এমন কিছু হ'ল:

chmod o+w file

'ও' এর অর্থ 'অন্যান্য' এবং 'ডাব্লু' এর অর্থ 'রচনা'। আপনার কাছে 'গোষ্ঠী' ব্যবহারকারীর জন্য 'ইউ' এবং 'গ্রুপ' এর জন্য 'আর' এবং 'আর' এবং 'এক্স' থাকতে পারে যা আশাবাদী স্বতঃস্পষ্ট বর্ণনামূলক। আপনি '+' এর পরিবর্তে '-' ব্যবহার করে অনুমতিগুলি সরাতে পারেন।


আমার মনে হয় সবচেয়ে সহজ সমাধানটি হ'ল নিজেকে অ্যাপাচি ব্যবহারকারী গ্রুপে যুক্ত করা। পরামর্শ দেওয়ার জন্য ধন্যবাদ। আমি কেন জানি না যে আমি নিজেই তা ভেবে দেখিনি!
ওমপাহলম্পাহ

1
o+wএখানে কি ভাল পছন্দ? পরিবর্তনগুলি সীমাবদ্ধ করা উচিত নয় uএবং g? অন্যথায়, ডিরেক্টরি এবং উপ ডিরেক্টরিতে সুরক্ষা বজায় রাখার চেষ্টা করার বিষয়টি কী?
jww

61

আপনি যে অনুমতি বিটগুলি সন্ধান করছেন তা হ'ল 0770 এবং 0660।

  • rw-অনুমতিগুলি → 110বাইনারি → 6অক্টাল

গ্রুপ মালিকানা ব্যবহার setgid বিট সেট করে নতুন ফাইল এবং ফোল্ডার আপনার ফোল্ডারের / পথ / থেকে / পিতা বা মাতা তৈরি দ্বারা উত্তরাধিকার সুত্রে প্রাপ্ত করা যাবে chmod g+sভালো:

chmod g+s /path/to/parent

এখন, / পথ / থেকে / পিতামাতার অধীনে তৈরি করা সমস্ত নতুন ফাইল এবং ফোল্ডারে / पथ / থেকে / পিতামাতার উপর সেট করা একই গোষ্ঠীটি নির্ধারিত হবে।


পসিক্স ফাইলের অনুমতিগুলি উত্তরাধিকার সূত্রে প্রাপ্ত নয় ; এগুলি তৈরির প্রক্রিয়া দ্বারা দেওয়া হয় এবং এর বর্তমান উমাস্ক মানের সাথে মিলিত হয়।

তবে এটি অর্জনের জন্য আপনি পসিক্স এসিএল ব্যবহার করতে পারেন । একটি ডিরেক্টরিতে ডিফল্ট এসিএল সেট করুন :

setfacl -d -m u::rwX,g::rwX,o::- /path/to/parent

এটি setfacl/ পাথ / টু / পিতামাতার ডিরেক্টরিতে প্রযোজ্য হবে , -mইফল্ট -dএসিএলগুলিকে সুগন্ধযুক্ত করে - সেগুলি নতুন নির্মিত আইটেমগুলিতে প্রয়োগ করা হবে। (বড় হাতের অক্ষর Xমানে কেবল ডিরেক্টরিগুলি +xবিটটি গ্রহণ করবে ))

(যদি প্রয়োজন হয়, আপনি এসিএলগুলিতে একটি u:someuser:rwXবা g:someuser:rwX- বেশিরভাগ একটি গোষ্ঠী যুক্ত করতে পারেন ))


দ্রষ্টব্য: ext3 / ext4 ব্যবহার করে পুরানো সিস্টেমে আপনার aclবিকল্পের সাহায্যে ফাইল-সিস্টেম মাউন্ট করার প্রয়োজন ছিল , অন্যথায় এটি সমস্ত ACL উপেক্ষা করে নতুন সেটগুলি বারণ করতে পারে না।

mount -o remount,acl /

এটি স্থায়ীভাবে সেট করতে, ব্যবহার tune2fs -o acl <device>বা সম্পাদনা করুন /etc/fstab


5
উত্তর দেওয়ার জন্য সময় দেওয়ার জন্য ধন্যবাদ। দুর্ভাগ্যক্রমে, আমি এই সমস্তের জন্য বেশ নতুন, এবং আপনি যা লিখেছেন তা গ্রীক থেকে আমার কাছে আলাদা করা যায় না (কোনও গ্রীক এসও'র জন্য দুঃখিত!)। আপনি যা লিখেছেন তা বেশিরভাগই বুঝতে পারি নি। আমার একটি ওয়েব প্রক্রিয়া রয়েছে এবং আমি অ্যাপাচি-কে প্যারেন্ট ফোল্ডারে ফোল্ডার এবং ফাইলগুলি তৈরি করার ক্ষমতা দিতে চাই যেখানে কেবল অ্যাপাচি (মালিক) এবং আমি (গ্রুপ) ফাইলগুলি rw করার এবং ডিরেক্টরিগুলিতে পরিবর্তন করার ক্ষমতা রাখি। অন্য সবাই নিষিদ্ধ। এটাই আমি করার চেষ্টা করছি। এপাচে সাব ফোল্ডারগুলি তৈরি করতে এবং সেগুলিতে ফাইলগুলি সঞ্চয় করতে সক্ষম হওয়া দরকার।
oompahloompah

এই কাজ করে না unzip?
datasn.io

2

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

এই পদক্ষেপগুলি আপনি যা চান তা করা উচিত (আপনি যে ডিরেক্টরিটি ব্যবহার করতে চান সেগুলি দিয়ে কমান্ডগুলিতে ডিরেক্টরিটি প্রতিস্থাপন করুন):

  • যোগ umask 027Apache অক্ষমতা স্ক্রিপ্টে /etc/default/apache। এটি অন্যকে যে কোনও ফাইল বা ডিরেক্টরি অ্যাপাচি তৈরির অ্যাক্সেস থেকে বাধা দেবে।
  • chown www-data:www-data directoryআপনি যে ডিরেক্টরিতে লিখতে সক্ষম হবেন সেই ডিরেক্টরিটি চালান ।
  • chmod 750 directoryআপনি যে ডিরেক্টরিতে লিখতে সক্ষম হবেন সেই ডিরেক্টরিটি চালান ।

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

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