নির্মাণের সময় 751 অনুমতি নিয়ে ফাইল তৈরি করুন


3

আমি ব্যবহার লিনাক্স ডিরেক্টরির মধ্যে অনুশীলন Perl স্ক্রিপ্ট নির্মাণের রাখা vi <filename>এবং প্রয়োজন chmod 751 <filename>আগে আমি এটি চালানোর হিসাবে আমি করতে ইচ্ছুক পারবেন না। আমি নিশ্চিত যে আমার অনুমতিগুলি ডিফল্ট করার বা এগুলি তৈরির সময়ে কনফিগার করার সহজ উপায় আছে তবে আমি এর সাথে পরিচিত নই - ayuda me por favourite।


1
আপনি কেন সঠিক অনুমতি নিয়ে একটি নতুন তৈরি করতে স্ক্রিপ্ট লিখবেন না? #!/bash/bin touch $1; chmod 751 $1
বেটগ্যামিট

উত্তর:


2

একটি সহজ সমাধান হ'ল বাশ ওরফে viতৈরি করা যার জন্য প্রথমে ফাইলটি তৈরি করা হবে এবং তারপরে এটি খোলার আগে তার অনুমতিগুলি পরিবর্তন করা। মনে রাখার জন্য সহজ কিছু ব্যবহার করুন, যেমন vix(এক্সিকিউটেবল বিটের জন্য এক্স):

যেমন (স্বাক্ষরিত):

ফাংশন vix {
        স্পর্শ করুন $ 1
        chmod 751 $ 1
        vi $ 1
}

মনে রাখবেন যে ভিআইকে অ্যালাইজিং করা একটি খারাপ ধারণা, কারণ অন্যান্য প্রোগ্রামগুলি সরাসরি এটিতে কল করে যা আপনার সিস্টেমে সমস্যা সৃষ্টি করতে পারে।


1
পুনরায় "এলিয়াসিং ভিআই নিজেই একটি খারাপ ধারণা, কারণ অন্যান্য প্রোগ্রামগুলি সরাসরি এটির জন্য আহ্বান জানায়": তারা এলিয়াস বা শেল ফাংশন দ্বারা প্রভাবিত হবে না। ( system()ব্যবহারসমূহ sh -cযা সব RC ফাইল উপেক্ষা করে, এবং exec*()... সম্পাদনা সম্পূর্ণভাবে শেল লাফালাফি।): দৃশ্যত, একটি শেল ফাংশন রপ্তানি করে প্রভাবিত sh -c
মাধ্যাকর্ষণ

স্ক্রিপ্ট / প্রোগ্রাম কীভাবে এটি চালাচ্ছে তার উপর নির্ভর করে, তবে সাধারণত সঠিক।
জন টি

সমস্ত শক্ত পয়েন্ট - এখন আমি জানি যে আমি viনিজের কোনও গোপন ক্ষমতা মিস করছি না । আমি এই সিস্টেমে রুট ও ইউজার ডেভ উভয়ই ব্যবহার করি - উভয়টি কভার করার জন্য আমার কোন ফাইলগুলি সম্পাদনা করতে হবে?
এমবিবি

1

751 স্ক্রিপ্টগুলির জন্য খুব বেশি অর্থবোধ করে না - এটি "অন্যদের" ফাইলটি চালনার অনুমতি দেয়, তবে এটি পড়তে দেয় না। (স্ক্রিপ্টগুলির জন্য, যা নির্ধারিত সম্মান পায় না, এটি অসম্ভব is)

নতুন নির্মিত ফাইলগুলির জন্য ডিফল্ট অনুমতি সেট করতে আপনি উমাস্ক (প্রতি-প্রক্রিয়া) বা ডিফল্ট এসিএল (প্রতি ডিরেক্টরি) ব্যবহার করতে পারেন । তবে তারা উভয়ই অনুমতি বিট অপসারণ করতে পারেন ; তাদের কেউই হবে যোগ যদি না প্রোগ্রামটিকে বিশেষভাবে এটা জন্য অনুরোধ স্বয়ংক্রিয়ভাবে "এক্সিকিউটেবল" বিট। (উদাহরণস্বরূপ, fopen()সর্বদা 0666 ফাইলের জন্য বুদ্ধিমান ডিফল্ট অনুরোধ করে))

আপনাকে এমজেবি-র একটি স্ক্রিপ্ট লেখার পরামর্শ অনুসরণ করতে হবে যা একটি ফাইল তৈরি করে এবং এর অনুমতিগুলি অবিলম্বে আপডেট করে। বিকল্পভাবে, আপনার অনুশীলন স্ক্রিপ্টগুলি এর মতো চালান perl foo.pl, যার জন্য এক্সিকিউটেবল বিটের প্রয়োজন হয় না।


ভাল পয়েন্ট - ঠিক তাই আপনি জানেন, আমি সহকর্মী চাই না যারা আমি কোডটি শেয়ার করতে পারি / ফাইলটির বিষয়বস্তু পড়তে সক্ষম হতে পারি, তবে তারা এটি চালায় কিনা তাতে আমার আপত্তি নেই। ইঙ্গিত শেষে 1।
এমবিবি

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