আমি কীভাবে ম্যাকওগুলিতে সিস্টেম ইন্টিগ্রিটি প্রোটেকশন (এসআইপি) একে একে "রুটলেস" অক্ষম করব [ওএস এক্স]


156

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

আমি এই সুরক্ষাটি কীভাবে অক্ষম করব?


2
যদিও আপনি সমস্ত এসআইপি দিকগুলি ঠিক করতে পারেন, এর জন্য প্রচুর এন্ট্রি রয়েছে - মনে রাখবেন যে সিস্টেমের সাথে আপস করে আপনি এমন স্টাফ তৈরি করছেন যা আপনার ক্লায়েন্টের মেশিনে চলতে পারে না, যেখানে এসআইপি চালু রয়েছে, এবং ব্যবহারকারীরা এটি বন্ধ করে দেবেন না
মোটি শ্নের

5
@ মোটি শ্নিউর - তবে, কিছু ক্ষেত্রে বিকাশের প্রয়োজনে কিছু এসডিকে ইনস্টল করার জন্য কেবল লেখার অ্যাক্সেস থাকা দরকার। এটির জন্য ক্লায়েন্টকে একই কাজ করতে হবে না।
ডিফল্ট নিনজা

আমি ইউনিক্স ব্যাকগ্রাউন্ড থেকে এসেছি, রুটলেস এর যুক্তি বোঝার চেষ্টা করছি: কম্পিউটারটি সম্ভবত একক ব্যবহারকারী মেশিন হওয়ার কারণেই, সমস্ত কিছু ব্যবহারকারীর হোম ডিরেক্টরিতে ইনস্টল করা হবে, যাতে সিস্টেম ডিরেক্টরিতে কোনও গোলযোগ না ঘটে। যেমন / usr / share / vim /।
কেমিন ঝো

উত্তর:


147

অ্যাপলের ডকুমেন্টেশন SIP র নিষ্ক্রিয় কভার, আপনার Mac এ সিস্টেম ইন্টিগ্রিটি সুরক্ষা সম্বন্ধে এবং কনফিগার সিস্টেম ইন্টিগ্রিটি সুরক্ষা

Lifehacker.com এর একটি নিবন্ধ এই পদক্ষেপগুলি তালিকাভুক্ত করেছে:

  1. আপনার কম্পিউটারটি পুনরায় চালু করে এবং আপনার স্ক্রিনে অ্যাপল লোগোটি উপস্থিত না হওয়া অবধি Command+ ধরে রেখে আপনার ম্যাকটিকে পুনরুদ্ধার মোডে রিবুট Rকরুন।
  2. ইউটিলিটিস> টার্মিনাল ক্লিক করুন।
  3. টার্মিনাল উইন্ডোতে টাইপ করুন csrutil disableএবং টিপুন Enter
  4. আপনার ম্যাক পুনরায় চালু করুন।

lsদীর্ঘ তালিকা পতাকার পতাকাটি সংশোধন করতে মূলধন O (এবং শূন্য 0 নয়) ব্যবহার করে এই আদেশটি জারি করে কোনও ফাইল বা ফোল্ডার সীমাবদ্ধ কিনা তা আপনি যাচাই করতে পারবেন :

ls -lO /System /usr 

যেখানে এসআইপি প্রয়োগ করা হয়েছে তা নির্দেশ করার জন্য সীমাবদ্ধ পাঠ্যের জন্য সন্ধান করুন।

ডিফল্টরূপে (= এসআইপি সক্ষম), নিম্নলিখিত ফোল্ডারগুলি সীমাবদ্ধ ( অ্যাপল সহায়তা পৃষ্ঠা দেখুন ):

/System
/usr
/bin
/sbin
Apps that are pre-installed with OS X

... এবং নিম্নলিখিত ফোল্ডারগুলি নিখরচায়:

/Applications
/Library
/usr/local

1
আমি দেখছি দৌড় থেকে ls -lO /usr/localসীমাবদ্ধ চিহ্নিত করা হয় না। আমিও /usr/local/পুনরাবৃত্তভাবে বাউন্ড করেছি । তবে আমি রুটকে মালিকানা নিতে দেখছি /usr/local/binএবং /usr/local/shareযা হোমব্রুকে প্রভাবিত করে। এটি কি এসআইপি-র কাজও?
স্যাক্সডাডি

1
@ স্যাক্সড্যাডি যতক্ষণ /usr/localনা সীমাবদ্ধ থাকে আপনি এই ডিরেক্টরিটিকে "নীচে" সহজেই কোনও অনুমতি ঠিক করতে পারেন। হোমব্রিউ প্রকৃতপক্ষে sudo chown -R $(whoami) /usr/localঅনুমতি সংক্রান্ত সমস্যাগুলি ঠিক করার জন্য (অ্যাডমিন ব্যবহারকারী হিসাবে লগ ইন করার সময়) চালানোর পরামর্শ দেয় ।
nohillside

4
@ স্যাক্সডাডি আপনি কি কোনও সুযোগে সোফস অ্যান্টি-ভাইরাস ব্যবহার করছেন? সোফোসের সাথে একটি জ্ঞাত সমস্যা আছে যেখানে এটি সেই ডিরেক্টরিগুলিতে অনুমতি পরিবর্তন করে। তাদের সম্প্রদায় ফোরামে একটি থ্রেড অনুসারে , "শীঘ্রই" আউট হওয়ার কারণে এটি একটি আপডেটে সমাধান করা উচিত।
এনডি গীক

1
@NDGeek: +1: উজ্জ্বল, আপনাকে ধন্যবাদ! আপনি এটি সঠিকভাবে বলেছেন। এবং আমি দেখতে পাচ্ছি SAV 9.4.1 (18nov15 প্রকাশিত) সমস্যাটি স্থির করেছে। আমি সেই সংস্করণটি ইনস্টল করেছি এবং নিশ্চিত করেছি যে /usr/localএখন অনুমতিগুলি সঠিকভাবে সেট করা আছে।
স্যাক্সডাডি

1
@andro -O পতাকা নেই এখনও 10.11.6 কাজ করে। যদি এটি আপনার পক্ষে কাজ করে না, এটি একটি পৃথক সমস্যা এবং আপনার একটি নতুন প্রশ্ন করা উচিত।
মাইক স্কট

104

রিকভারি এইচডি বুট করে এবং নিম্নলিখিত কমান্ডটি চালিয়ে এসআইপি অক্ষম করা সম্ভব :

csrutil disable

এখানে চিত্র বর্ণনা লিখুন

csrutil enableকমান্ডে এক বা একাধিক পতাকা যুক্ত করে এসআইপি সুরক্ষা সক্ষম করা এবং এটির দিকগুলি নির্বাচিতভাবে অক্ষম করাও সম্ভব । এগুলি সেট করার জন্য সকলকে পুনরুদ্ধার থেকে বুট করা প্রয়োজন:

এসআইপি সক্ষম করুন এবং স্বাক্ষরবিহীন কার্নেল এক্সটেনশানগুলির ইনস্টলেশনের অনুমতি দিন

csrutil enable --without kext

এখানে চিত্র বর্ণনা লিখুন

এসআইপি সক্ষম করুন এবং ফাইল সিস্টেম সুরক্ষা অক্ষম করুন

csrutil enable --without fs

এখানে চিত্র বর্ণনা লিখুন

এসআইপি সক্ষম করুন এবং ডিবাগিং নিষেধাজ্ঞাগুলি অক্ষম করুন

csrutil enable --without debug

এখানে চিত্র বর্ণনা লিখুন

এসআইপি সক্ষম করুন এবং ডিট্রেস সীমাবদ্ধতা অক্ষম করুন

csrutil enable --without dtrace

এখানে চিত্র বর্ণনা লিখুন

এসআইপি সক্ষম করুন এবং এনভিআরএমে লেখার উপর নিষেধাজ্ঞাগুলি অক্ষম করুন

csrutil enable --without nvram

এখানে চিত্র বর্ণনা লিখুন

এসআইপি সম্পর্কে আরও তথ্যের সাথে আমার কাছে একটি পোস্টও রয়েছে:

সিস্টেমের স্বচ্ছতা সুরক্ষা - অ্যাপলের সুরক্ষা মডেলটিতে আরও একটি স্তর যুক্ত করা হচ্ছে


5
জ্ঞানের কি স্বাগত সম্পদ। আমার এই অনুগ্রহ দ্বিগুণ হতে হবে :-)
বমিকে

আমি একটি ত্রুটি csrutil: failed to modify system integrity configuration. This tool needs to be executed from the Recovery OS.
পেয়েছি

5
উত্তর ইগোরগানাপলস্কি উত্তরটি পড়ুন। ' পুনরুদ্ধার এইচডি বুট করে এসআইপি অক্ষম করুন '
ব্রিক

13

সিস্টেম ইন্টিগ্রিটি প্রোটেকশন তারপর মধ্যে রিকভারি এইচডি পার্টিশন বুট হিসাবে পূর্বে মাধ্যমে এখানে অন্যান্য উত্তর সুপারিশ লক্ষ্য সত্যিই শুধু নিষ্ক্রিয় করতে হয়, তাহলে Command+ + rবুট হয় না এই কাজ করতে দ্রুততম উপায়।

আপনি একটি অননুমোদিত স্টার্টআপ কী সংমিশ্রণে পুনরুদ্ধার এইচডি বুটের সাথে একক ব্যবহারকারী মোড বুটটি সংযুক্ত করতে পারেন:

  • https://support.apple.com/en-us/HT204904 স্বাভাবিক পুনরুদ্ধার কভার করে
  • রাখা Command+ + r+ + sএকক ব্যবহারকারীর রিকভারি মোডে বুট।

এটি আপনাকে কেবল খালি ন্যূনতম পরিবেশে নিয়ে যায় যা এর জন্য সরাসরি প্রয়োজন


7

এটি সংশোধন করা আরও নিরাপদ হবে /etc/pathsযাতে এটি /usr/local/binকেবল আগে usr/bin। এইভাবে আপনি /usr/local/binএসআইপি অক্ষম না করেই আপনার উন্নয়ন কাজগুলি করতে পারবেন ।

ওএসের পরিষ্কার ইনস্টলেশনগুলি /etc/pathsএল ক্যাপিটান থেকে এইভাবে অর্ডার করেছে তবে আপনি যদি ইয়োসেমাইট বা তার আগে ওএস থেকে আপগ্রেড করছিলেন তবে আপনাকে প্যাথ অর্ডারটি ম্যানুয়ালি সংশোধন করতে হবে।


@ আইকোনোক্লাস্ট এল ক্যাপিটেনের আগে, একটি সাধারণ সম্মেলনে প্রোগ্রাম ইনস্টল করা ছিল usr/bin। যেহেতু এসআইপি এখন এটি প্রতিরোধ করে, তাই প্রোগ্রামগুলিতে ইনস্টল করা উচিত usr/local/bin, যা এসআইপি দ্বারা সীমাবদ্ধ নয়। usr/local/binপ্রথমে রেখে , ব্যবহারকারীরা প্রোগ্রামটির নিখুঁত পথটি টাইপ না করেই প্রোগ্রামগুলি চালাতে পারেন। এটা কোনো কিছু হলো? আপনি অন্য কিছু সম্পর্কে বিভ্রান্ত হয়?
ব্যবহারকারী260467

আমি সবসময় এটি খুব খারাপ অনুশীলন হিসাবে বুঝতে পেরেছি যে কোনও কিছু putোকানো /usr/bin... তবে আমার ধারণা আমি যা জিজ্ঞাসা করা উচিত ছিল তা হ'ল "এটি ওপির প্রশ্নের উত্তর কীভাবে দেয়?" আমি মূলত অভিমানী হয় যে এটা করেনি কিছু উপায়, এবং আমি ঠিক সংযোগ তৈরি করা হয় নি যে। তবে এখন আমি খুব সন্দেহ করছি যে এর কোনও সংযোগ আছে।
আইকনোক্লাস্ট

@ আইকনোক্লাস্ট আমি মনে করি যে কোনও বিকাশকারীকে উল্লেখ না করাই বেআইনী হবে যে তারা কেবল অ্যাপ্লিকেশন বিকাশের জন্য এসআইপি অক্ষম করা উচিত নয়।
ব্যবহারকারী260467

6

আপনার কেবল যা প্রয়োজন / ইউএসআর / স্থানীয় অ্যাক্সেস করা প্রয়োজন তা এই পৃষ্ঠায় একবার দেখুন: https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/El_Capitan_and_Homebrew.md

ধারণাটি হ'ল এসআইপি অস্থায়ীভাবে অক্ষম csrutil disableকরুন /usr/localডিরেক্টরিটি অ-সীমাবদ্ধ হিসাবে সেট করতে chflags ব্যবহার করে যুক্ত করুন , যোগ করুন

 sudo mkdir /usr/local && sudo chflags norestricted /usr/local && sudo chown -R $(whoami):admin /usr/local

এবং তারপরে এসআইপি পুনরায় সক্ষম করুন csrutil enable

যদি /usr/localআপনার আপগ্রেডের সময় ইতিমধ্যে উপস্থিত থাকে তবে উপরেরগুলি এমনকি প্রয়োজনীয় নয়। আপনি কেবল চালাতে পারেন

sudo chown -R $(whoami):admin /usr/local

আমি একটি ত্রুটি পেতে থাকি:Read-only file system
ইগোরগানাপলস্কি

এই লিঙ্কটি মারা গেছে: 404 ত্রুটি।
আইকনোক্লাস্ট

2

আপনি চালনার জন্য পুনরুদ্ধার পার্টিশনে প্রবেশ করতে না পারলে csrutil disable( এসআইপি অক্ষম করতে ), nvramকমান্ডের সাহায্যে বুট আরগগুলি সেট করার চেষ্টা করুন , যেমন

sudo nvram boot-args="rootless=0"

তবে, আপনি যদি নিম্নলিখিত ত্রুটি পেয়ে থাকেন:

এনভিরাম: ভেরিয়েবল সেট করার সময় ত্রুটি - 'বুট-আরগস': (আইওকিট / সাধারণ) অনুমোদিত নয়

তাহলে এটি কাজ করবে না। আপনার এখনও এটি পুনরুদ্ধার / নিরাপদ মোড বুট করতে হবে।

দেখা:


nvram: Error setting variable - 'boot-args': (iokit/common) not permitted
মগিক্স

1
@ এমঘিক্স সে ক্ষেত্রে কাজ করবে না won't আমি উত্তর আপডেট করেছি।
কেনারব

0

উপরের গিথুব হোমব্রু 404 লিঙ্কটিতে একটি মন্তব্য হিসাবে এটি যুক্ত করার মতো যথেষ্ট খ্যাতি আমার নেই। ওয়েব্যাক মেশিনটিতে এটি এখনও রয়েছে:

http://web.archive.org/web/20160117204214/https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/El_Capitan_and_Homebrew.md

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